aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/quick/animation/animation.qrc1
-rw-r--r--examples/quick/animation/behaviors/FocusRect.qml115
-rw-r--r--examples/quick/animation/behaviors/SideRect.qml7
-rw-r--r--examples/quick/animation/behaviors/behavior-example.qml43
-rw-r--r--examples/quick/animation/doc/src/animation.qdoc2
-rw-r--r--examples/quick/animation/easing/easing.qml29
-rw-r--r--examples/quick/canvas/smile/smile.qml1
-rw-r--r--examples/quick/layouts/layouts.qml13
-rw-r--r--examples/quick/localstorage/localstorage/Header.qml10
-rw-r--r--examples/quick/localstorage/localstorage/localstorage.qml4
-rw-r--r--examples/quick/quick-accessibility/content/Button.qml1
-rw-r--r--examples/quick/scenegraph/metaltextureimport/doc/src/metaltextureimport.qdoc2
-rw-r--r--examples/quick/scenegraph/metaltextureimport/metaltextureimport.pro5
-rw-r--r--examples/quick/scenegraph/metalunderqml/metalsquircle.mm5
-rw-r--r--examples/quick/scenegraph/metalunderqml/metalunderqml.pro5
-rw-r--r--examples/quick/scenegraph/rendernode/customrenderitem.cpp4
-rw-r--r--examples/quick/scenegraph/rendernode/softwarerenderer.cpp2
-rw-r--r--examples/quick/scenegraph/scenegraph.pro2
-rw-r--r--examples/quick/shared/FlickrRssModel.qml6
-rw-r--r--examples/quick/shared/SimpleLauncherDelegate.qml4
-rw-r--r--examples/quick/touchinteraction/multipointtouch/bearwhack.qml12
-rw-r--r--examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml9
-rw-r--r--examples/quick/views/pathview/pathview-example.qml10
-rw-r--r--src/3rdparty/llvm/LICENSE.TXT68
-rw-r--r--src/3rdparty/llvm/include/llvm-c/DataTypes.h90
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/PointerIntPair.h233
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist.h431
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist_base.h93
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist_iterator.h199
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist_node.h306
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist_node_base.h53
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/ilist_node_options.h133
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/iterator.h339
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/iterator_range.h68
-rw-r--r--src/3rdparty/llvm/include/llvm/ADT/simple_ilist.h315
-rw-r--r--src/3rdparty/llvm/include/llvm/Demangle/Compiler.h524
-rw-r--r--src/3rdparty/llvm/include/llvm/Support/Compiler.h19
-rw-r--r--src/3rdparty/llvm/include/llvm/Support/DataTypes.h17
-rw-r--r--src/3rdparty/llvm/include/llvm/Support/PointerLikeTypeTraits.h116
-rw-r--r--src/3rdparty/llvm/llvm.pri18
-rw-r--r--src/3rdparty/llvm/qt_attribution.json14
-rw-r--r--src/3rdparty/masm/assembler/LinkBuffer.h5
-rw-r--r--src/3rdparty/masm/disassembler/Disassembler.cpp2
-rw-r--r--src/imports/folderlistmodel/qquickfolderlistmodel.cpp2
-rw-r--r--src/imports/labsmodels/plugin.cpp2
-rw-r--r--src/imports/layouts/qquickgridlayoutengine.cpp2
-rw-r--r--src/imports/layouts/qquickgridlayoutengine_p.h2
-rw-r--r--src/imports/layouts/qquicklayout.cpp3
-rw-r--r--src/imports/layouts/qquicklinearlayout.cpp22
-rw-r--r--src/imports/models/plugin.cpp17
-rw-r--r--src/imports/testlib/TestCase.qml26
-rw-r--r--src/particles/qquickparticleextruder.cpp2
-rw-r--r--src/particles/qquickparticlesystem.cpp7
-rw-r--r--src/particles/qquickparticlesystem_p.h2
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.frag.qsbbin1990 -> 1572 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.vert.qsbbin3677 -> 3329 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.frag.qsbbin2028 -> 1601 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.vert.qsbbin5044 -> 4712 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simple.frag.qsbbin2000 -> 1581 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simple.vert.qsbbin3639 -> 3261 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.frag.qsbbin2369 -> 1918 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.vert.qsbbin5964 -> 5367 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.frag.qsbbin2240 -> 1777 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.vert.qsbbin5462 -> 4929 bytes
-rw-r--r--src/plugins/qmltooling/qmldbg_preview/qqmlpreviewfileengine.cpp2
-rw-r--r--src/plugins/scenegraph/d3d12/qsgd3d12engine_p.h4
-rw-r--r--src/qml/common/qv4compileddata_p.h10
-rw-r--r--src/qml/compiler/qv4codegen.cpp38
-rw-r--r--src/qml/doc/qtqml.qdocconf12
-rw-r--r--src/qml/doc/src/cppintegration/data.qdoc5
-rw-r--r--src/qml/doc/src/qmldiskcache.qdoc76
-rw-r--r--src/qml/doc/src/qmlfunctions.qdoc1
-rw-r--r--src/qml/doc/src/qtqml.qdoc2
-rw-r--r--src/qml/jsruntime/qv4enginebase_p.h2
-rw-r--r--src/qml/jsruntime/qv4executablecompilationunit.cpp6
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp9
-rw-r--r--src/qml/jsruntime/qv4typedarray.cpp154
-rw-r--r--src/qml/jsruntime/qv4typedarray_p.h1
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp35
-rw-r--r--src/qml/parser/qqmljs.g82
-rw-r--r--src/qml/parser/qqmljsast_p.h4
-rw-r--r--src/qml/parser/qqmljslexer.cpp9
-rw-r--r--src/qml/qml.pro1
-rw-r--r--src/qml/qml/qqmlcomponent.cpp2
-rw-r--r--src/qml/qml/qqmldata_p.h2
-rw-r--r--src/qml/qml/qqmlengine.cpp12
-rw-r--r--src/qml/qml/qqmlextensionplugin.cpp2
-rw-r--r--src/qml/qml/qqmlinfo.cpp3
-rw-r--r--src/qml/qml/qqmllocale.cpp28
-rw-r--r--src/qml/qml/qqmllocale_p.h13
-rw-r--r--src/qml/qml/qqmlmetatype.cpp19
-rw-r--r--src/qml/qml/qqmlmetatypedata_p.h4
-rw-r--r--src/qml/qml/qqmlproperty.cpp4
-rw-r--r--src/qml/qml/qqmlproperty_p.h4
-rw-r--r--src/qml/qml/qqmltype.cpp36
-rw-r--r--src/qml/qml/qqmltype_p.h1
-rw-r--r--src/qml/qml/qqmltype_p_p.h12
-rw-r--r--src/qml/qml/qqmltypeloader.cpp5
-rw-r--r--src/qml/qml/qqmltypeloaderqmldircontent.cpp1
-rw-r--r--src/qml/qml/qqmlvmemetaobject.cpp132
-rw-r--r--src/qml/qml/qqmlvmemetaobject_p.h18
-rw-r--r--src/qml/qml/qqmlxmlhttprequest.cpp4
-rw-r--r--src/qml/qmldirparser/qqmldirparser.cpp33
-rw-r--r--src/qml/qmldirparser/qqmldirparser_p.h9
-rw-r--r--src/qmlmodels/doc/images/listmodel-nested.png (renamed from src/qml/doc/images/listmodel-nested.png)bin7493 -> 7493 bytes
-rw-r--r--src/qmlmodels/doc/images/listmodel.png (renamed from src/qml/doc/images/listmodel.png)bin3407 -> 3407 bytes
-rw-r--r--src/qmlmodels/doc/images/objectmodel.png (renamed from src/qml/doc/images/objectmodel.png)bin347 -> 347 bytes
-rw-r--r--src/qmlmodels/doc/qtqmlmodels.qdocconf13
-rw-r--r--src/qmlmodels/qqmldelegatemodel.cpp324
-rw-r--r--src/qmlmodels/qqmldelegatemodel_p.h7
-rw-r--r--src/qmlmodels/qqmldelegatemodel_p_p.h30
-rw-r--r--src/qmlmodels/qqmllistmodel.cpp4
-rw-r--r--src/qmlmodels/qqmlobjectmodel.cpp4
-rw-r--r--src/qmlmodels/qqmlobjectmodel_p.h14
-rw-r--r--src/qmlmodels/qqmltableinstancemodel.cpp101
-rw-r--r--src/qmlmodels/qqmltableinstancemodel_p.h21
-rw-r--r--src/qmltest/quicktestevent.cpp2
-rw-r--r--src/qmltyperegistrar/qmltypescreator.cpp4
-rw-r--r--src/qmlworkerscript/doc/qtqmlworkerscript.qdocconf6
-rw-r--r--src/qmlworkerscript/doc/snippets/qml/workerscript/script.mjs (renamed from src/qml/doc/snippets/qml/workerscript/script.mjs)0
-rw-r--r--src/qmlworkerscript/doc/snippets/qml/workerscript/workerscript.qml (renamed from src/qml/doc/snippets/qml/workerscript/workerscript.qml)0
-rw-r--r--src/qmlworkerscript/qquickworkerscript.cpp13
-rw-r--r--src/qmlworkerscript/qquickworkerscript_p.h5
-rw-r--r--src/quick/designer/qquickdesignercustomobjectdata.cpp2
-rw-r--r--src/quick/doc/qtquick.qdocconf5
-rw-r--r--src/quick/doc/snippets/cmake-macros/examples.cmake2
-rw-r--r--src/quick/doc/snippets/qml/listview/ReusableDelegate.qml82
-rw-r--r--src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc2
-rw-r--r--src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc37
-rw-r--r--src/quick/handlers/qquickpointerhandler.cpp19
-rw-r--r--src/quick/handlers/qquicktaphandler.cpp9
-rw-r--r--src/quick/handlers/qquickwheelhandler.cpp16
-rw-r--r--src/quick/items/qquickaccessibleattached.cpp13
-rw-r--r--src/quick/items/qquickaccessibleattached_p.h5
-rw-r--r--src/quick/items/qquickevents_p_p.h5
-rw-r--r--src/quick/items/qquickflickable.cpp2
-rw-r--r--src/quick/items/qquickgenericshadereffect.cpp3
-rw-r--r--src/quick/items/qquickgridview.cpp4
-rw-r--r--src/quick/items/qquickitem.cpp6
-rw-r--r--src/quick/items/qquickitem_p.h4
-rw-r--r--src/quick/items/qquickitemview.cpp104
-rw-r--r--src/quick/items/qquickitemview_p.h12
-rw-r--r--src/quick/items/qquickitemview_p_p.h23
-rw-r--r--src/quick/items/qquicklistview.cpp94
-rw-r--r--src/quick/items/qquicklistview_p.h2
-rw-r--r--src/quick/items/qquickmousearea.cpp8
-rw-r--r--src/quick/items/qquickmousearea_p.h1
-rw-r--r--src/quick/items/qquickmultipointtoucharea.cpp48
-rw-r--r--src/quick/items/qquickmultipointtoucharea_p.h4
-rw-r--r--src/quick/items/qquickpainteditem.cpp1
-rw-r--r--src/quick/items/qquickpathview.cpp5
-rw-r--r--src/quick/items/qquickscreen.cpp3
-rw-r--r--src/quick/items/qquickscreen_p.h4
-rw-r--r--src/quick/items/qquickstateoperations.cpp5
-rw-r--r--src/quick/items/qquicktableview.cpp158
-rw-r--r--src/quick/items/qquicktableview_p_p.h6
-rw-r--r--src/quick/items/qquicktextinput.cpp7
-rw-r--r--src/quick/items/qquickview.cpp9
-rw-r--r--src/quick/items/qquickwindow.cpp23
-rw-r--r--src/quick/items/qquickwindow_p.h13
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp4
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp2
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes.cpp2
-rw-r--r--src/quick/scenegraph/compressedtexture/qsgcompressedtexture.cpp2
-rw-r--r--src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp6
-rw-r--r--src/quick/scenegraph/coreapi/qsgmaterial.cpp1
-rw-r--r--src/quick/scenegraph/coreapi/qsgmaterialrhishader.cpp6
-rw-r--r--src/quick/scenegraph/coreapi/qsgnode.cpp3
-rw-r--r--src/quick/scenegraph/coreapi/qsgnode.h2
-rw-r--r--src/quick/scenegraph/coreapi/qsgopenglvisualizer.cpp2
-rw-r--r--src/quick/scenegraph/coreapi/qsgrendernode.cpp4
-rw-r--r--src/quick/scenegraph/coreapi/qsgrhivisualizer.cpp2
-rw-r--r--src/quick/scenegraph/coreapi/qsgtexture.cpp7
-rw-r--r--src/quick/scenegraph/qsgcontextplugin.cpp1
-rw-r--r--src/quick/scenegraph/qsgrenderloop.cpp53
-rw-r--r--src/quick/scenegraph/qsgrenderloop_p.h5
-rw-r--r--src/quick/scenegraph/qsgrhilayer.cpp2
-rw-r--r--src/quick/scenegraph/qsgrhisupport.cpp54
-rw-r--r--src/quick/scenegraph/qsgrhisupport_p.h3
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop.cpp82
-rw-r--r--src/quick/scenegraph/qsgwindowsrenderloop.cpp3
-rw-r--r--src/quick/scenegraph/shaders/outlinedtext.vert4
-rw-r--r--src/quick/scenegraph/shaders/outlinedtext_core.vert4
-rw-r--r--src/quick/scenegraph/shaders/styledtext.vert3
-rw-r--r--src/quick/scenegraph/shaders/styledtext_core.vert3
-rw-r--r--src/quick/scenegraph/shaders/textmask.vert3
-rw-r--r--src/quick/scenegraph/shaders/textmask_core.vert3
-rw-r--r--src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsbbin1873 -> 1537 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsbbin1754 -> 1399 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsbbin1753 -> 1405 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsbbin1280 -> 909 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsbbin2209 -> 1820 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsbbin2209 -> 1851 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsbbin2210 -> 1814 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsbbin2319 -> 1905 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsbbin2340 -> 1951 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsbbin2334 -> 1914 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsbbin1883 -> 1538 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsbbin2048 -> 1709 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsbbin1883 -> 1542 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/flatcolor.frag.qsbbin1149 -> 917 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/flatcolor.vert.qsbbin1597 -> 1334 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsbbin3314 -> 2898 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsbbin3675 -> 3288 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsbbin3304 -> 2909 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsbbin2411 -> 2015 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsbbin3028 -> 2675 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsbbin2412 -> 2024 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsbbin1173 -> 967 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsbbin1791 -> 1500 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsbbin2549 -> 2162 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext.vert3
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsbbin2728 -> 2599 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsbbin1859 -> 1436 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/shadereffect.frag.qsbbin1622 -> 1307 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/shadereffect.vert.qsbbin1860 -> 1561 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsbbin838 -> 700 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsbbin3682 -> 3390 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsbbin1299 -> 1073 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsbbin4350 -> 3957 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/sprite.frag.qsbbin1908 -> 1571 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/sprite.vert.qsbbin2437 -> 2127 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/stencilclip.frag.qsbbin853 -> 737 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/stencilclip.vert.qsbbin1510 -> 1279 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext.frag.qsbbin2210 -> 1805 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext.vert3
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext.vert.qsbbin2460 -> 2209 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsbbin1631 -> 1212 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/textmask.frag.qsbbin1873 -> 1533 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/textmask.vert3
-rw-r--r--src/quick/scenegraph/shaders_ng/textmask.vert.qsbbin2142 -> 1961 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/texture.frag.qsbbin1618 -> 1302 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/texture.vert.qsbbin1865 -> 1561 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsbbin851 -> 700 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsbbin1837 -> 1542 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/visualization.frag.qsbbin1877 -> 1569 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/visualization.vert.qsbbin2099 -> 1762 bytes
-rw-r--r--src/quick/scenegraph/util/qsgplaintexture.cpp4
-rw-r--r--src/quick/scenegraph/util/qsgrhinativetextureimporter.cpp4
-rw-r--r--src/quick/util/qquickbehavior.cpp2
-rw-r--r--src/quick/util/qquickpath.cpp8
-rw-r--r--src/quickshapes/qquickshape_p_p.h2
-rw-r--r--src/quickshapes/qquickshapegenericrenderer.cpp6
-rw-r--r--src/quickshapes/qquickshapesoftwarerenderer.cpp2
-rw-r--r--src/quickshapes/shaders_ng/conicalgradient.frag.qsbbin2228 -> 1889 bytes
-rw-r--r--src/quickshapes/shaders_ng/conicalgradient.vert.qsbbin1994 -> 1684 bytes
-rw-r--r--src/quickshapes/shaders_ng/lineargradient.frag.qsbbin1762 -> 1423 bytes
-rw-r--r--src/quickshapes/shaders_ng/lineargradient.vert.qsbbin2225 -> 1895 bytes
-rw-r--r--src/quickshapes/shaders_ng/radialgradient.frag.qsbbin2931 -> 2579 bytes
-rw-r--r--src/quickshapes/shaders_ng/radialgradient.vert.qsbbin2115 -> 1774 bytes
-rw-r--r--src/quickwidgets/qquickwidget.cpp11
-rw-r--r--src/quickwidgets/qquickwidget_p.h2
-rw-r--r--tests/auto/qml/ecmascripttests/TestExpectations32
-rw-r--r--tests/auto/qml/ecmascripttests/qjstest/main.cpp1
m---------tests/auto/qml/ecmascripttests/test2620
-rw-r--r--tests/auto/qml/qmllint/data/AutomatchedSignalHandler.qml (renamed from tests/auto/qml/qmllint/data/UnmatchedSignalHandler.qml)0
-rw-r--r--tests/auto/qml/qmllint/tst_qmllint.cpp8
-rw-r--r--tests/auto/qml/qqmldirparser/tst_qqmldirparser.cpp3
-rw-r--r--tests/auto/qml/qqmlecmascript/data/hugeStack.qml33065
-rw-r--r--tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp13
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.errors.txt1
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.qml8
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.errors.txt1
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.qml8
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.errors.txt1
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.qml8
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.errors.txt1
-rw-r--r--tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.qml8
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp5
-rw-r--r--tests/auto/qml/qqmllocale/tst_qqmllocale.cpp30
-rw-r--r--tests/auto/qml/qqmlparser/tst_qqmlparser.cpp83
-rw-r--r--tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp30
-rw-r--r--tests/auto/qml/qquickworkerscript/data/BaseWorker.qml4
-rw-r--r--tests/auto/qml/qquickworkerscript/tst_qquickworkerscript.cpp17
-rw-r--r--tests/auto/qmltest/events/tst_drag.qml162
-rw-r--r--tests/auto/quick/nodes/tst_nodestest.cpp9
-rw-r--r--tests/auto/quick/pointerhandlers/mousearea_interop/data/dragTakeOverFromSibling.qml58
-rw-r--r--tests/auto/quick/pointerhandlers/mousearea_interop/mousearea_interop.pro15
-rw-r--r--tests/auto/quick/pointerhandlers/mousearea_interop/tst_mousearea_interop.cpp178
-rw-r--r--tests/auto/quick/pointerhandlers/multipointtoucharea_interop/tst_multipointtoucharea_interop.cpp4
-rw-r--r--tests/auto/quick/pointerhandlers/pointerhandlers.pro1
-rw-r--r--tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml1
-rw-r--r--tests/auto/quick/pointerhandlers/qquicktaphandler/tst_qquicktaphandler.cpp22
-rw-r--r--tests/auto/quick/qquickaccessible/tst_qquickaccessible.cpp34
-rw-r--r--tests/auto/quick/qquicklayouts/data/tst_gridlayout.qml33
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-initCurrent.qml1
-rw-r--r--tests/auto/quick/qquicklistview/data/moveObjectModelItemToAnotherObjectModel.qml140
-rw-r--r--tests/auto/quick/qquicklistview/data/reusedelegateitems.qml98
-rw-r--r--tests/auto/quick/qquicklistview/qquicklistview.pro3
-rw-r--r--tests/auto/quick/qquicklistview/reusemodel.h84
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp257
-rw-r--r--tests/auto/quick/qquickmousearea/BLACKLIST4
-rw-r--r--tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp50
-rw-r--r--tests/auto/quick/qquickmultipointtoucharea/tst_qquickmultipointtoucharea.cpp66
-rw-r--r--tests/auto/quick/qquickpathview/data/ungrabNestedinFlickable.qml75
-rw-r--r--tests/auto/quick/qquickpathview/tst_qquickpathview.cpp35
-rw-r--r--tests/auto/quick/qquickpixmapcache/tst_qquickpixmapcache.cpp6
-rw-r--r--tests/auto/quick/qquickrepeater/data/contextProperty.qml13
-rw-r--r--tests/auto/quick/qquickrepeater/tst_qquickrepeater.cpp24
-rw-r--r--tests/auto/quick/qquicktableview/data/checkalwaysemit.qml87
-rw-r--r--tests/auto/quick/qquicktableview/data/replaceModelTableView.qml56
-rw-r--r--tests/auto/quick/qquicktableview/qquicktableview.pro2
-rw-r--r--tests/auto/quick/qquicktableview/testmodel.h33
-rw-r--r--tests/auto/quick/qquicktableview/tst_qquicktableview.cpp114
-rw-r--r--tests/auto/quick/qquicktextedit/BLACKLIST4
-rw-r--r--tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp4
-rw-r--r--tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp67
-rw-r--r--tests/auto/quick/qquickvisualdatamodel/data/filterGroupForDelegate.qml77
-rw-r--r--tests/auto/quick/qquickvisualdatamodel/data/readFromProxyObject.qml23
-rw-r--r--tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp30
-rw-r--r--tests/auto/quick/qquickwindow/tst_qquickwindow.cpp6
-rw-r--r--tests/auto/quick/shared/viewtestutil.cpp4
-rw-r--r--tests/libfuzzer/qml/jsapi/evaluate/main.cpp2
-rw-r--r--tests/manual/listview/listview.pro29
-rw-r--r--tests/manual/listview/main.cpp103
-rw-r--r--tests/manual/listview/main.qml171
-rw-r--r--tests/manual/listview/qml.qrc5
-rw-r--r--tests/manual/nodetypes_ng/shadow_pass1.frag.qsbbin2218 -> 1876 bytes
-rw-r--r--tests/manual/nodetypes_ng/shadow_pass2.frag.qsbbin2131 -> 1790 bytes
-rw-r--r--tests/manual/nodetypes_ng/wobble.frag.qsbbin2013 -> 1673 bytes
-rw-r--r--tests/manual/nodetypes_ng/wobble.vert.qsbbin2001 -> 1678 bytes
-rw-r--r--tests/manual/scenegraph_lancelot/data/text/text_style2.qml37
-rw-r--r--tests/manual/scenegraph_lancelot/scenegrabber/scenegrabber.pro1
-rw-r--r--tests/manual/scenegraph_lancelot/scenegraph/scenegraph.pro4
-rw-r--r--tests/manual/scenegraph_lancelot/scenegraph/tst_scenegraph.cpp35
-rw-r--r--tests/manual/tableview/abstracttablemodel/main.qml14
-rw-r--r--tools/qmllint/componentversion.cpp63
-rw-r--r--tools/qmllint/componentversion.h43
-rw-r--r--tools/qmllint/fakemetaobject.cpp594
-rw-r--r--tools/qmllint/fakemetaobject.h235
-rw-r--r--tools/qmllint/findunqualified.cpp502
-rw-r--r--tools/qmllint/findunqualified.h75
-rw-r--r--tools/qmllint/main.cpp66
-rw-r--r--tools/qmllint/metatypes.h146
-rw-r--r--tools/qmllint/qcoloroutput.cpp157
-rw-r--r--tools/qmllint/qcoloroutput.h (renamed from tools/qmllint/qcoloroutput_p.h)23
-rw-r--r--tools/qmllint/qmljstypedescriptionreader.h103
-rw-r--r--tools/qmllint/qmllint.pro13
-rw-r--r--tools/qmllint/scopetree.cpp229
-rw-r--r--tools/qmllint/scopetree.h170
-rw-r--r--tools/qmllint/typedescriptionreader.cpp (renamed from tools/qmllint/qmljstypedescriptionreader.cpp)359
-rw-r--r--tools/qmllint/typedescriptionreader.h105
342 files changed, 38682 insertions, 5638 deletions
diff --git a/examples/quick/animation/animation.qrc b/examples/quick/animation/animation.qrc
index d4e78c82f0..2d88c03007 100644
--- a/examples/quick/animation/animation.qrc
+++ b/examples/quick/animation/animation.qrc
@@ -9,6 +9,7 @@
<file>basics/color-animation.qml</file>
<file>basics/property-animation.qml</file>
<file>behaviors/behavior-example.qml</file>
+ <file>behaviors/FocusRect.qml</file>
<file>behaviors/SideRect.qml</file>
<file>behaviors/tvtennis.qml</file>
<file>behaviors/wigglytext.qml</file>
diff --git a/examples/quick/animation/behaviors/FocusRect.qml b/examples/quick/animation/behaviors/FocusRect.qml
new file mode 100644
index 0000000000..5188919606
--- /dev/null
+++ b/examples/quick/animation/behaviors/FocusRect.qml
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+Rectangle {
+ id: focusRect
+ property string text
+
+ x: 62
+ y: 75
+ width: 75
+ height: 50
+ radius: 6
+ border.width: 4
+ border.color: "white"
+ color: "firebrick"
+
+ // Set an 'elastic' behavior on the focusRect's x property.
+ Behavior on x {
+ NumberAnimation {
+ easing.type: Easing.OutElastic
+ easing.amplitude: 3.0
+ easing.period: 2.0
+ duration: 300
+ }
+ }
+
+ //! [0]
+ // Set an 'elastic' behavior on the focusRect's y property.
+ Behavior on y {
+ NumberAnimation {
+ easing.type: Easing.OutElastic
+ easing.amplitude: 3.0
+ easing.period: 2.0
+ duration: 300
+ }
+ }
+ //! [0]
+
+ Text {
+ id: focusText
+ text: focusRect.text
+ anchors.centerIn: parent
+ color: "white"
+ font.pixelSize: 16
+ font.bold: true
+
+ // Set a behavior on the focusText's x property:
+ // Set the opacity to 0, set the new text value, then set the opacity back to 1.
+ Behavior on text {
+ SequentialAnimation {
+ NumberAnimation {
+ target: focusText
+ property: "opacity"
+ to: 0
+ duration: 150
+ }
+ NumberAnimation {
+ target: focusText
+ property: "opacity"
+ to: 1
+ duration: 150
+ }
+ }
+ }
+ }
+}
diff --git a/examples/quick/animation/behaviors/SideRect.qml b/examples/quick/animation/behaviors/SideRect.qml
index 8b37a6a0ca..19c0528054 100644
--- a/examples/quick/animation/behaviors/SideRect.qml
+++ b/examples/quick/animation/behaviors/SideRect.qml
@@ -53,6 +53,7 @@ import QtQuick 2.0
Rectangle {
id: myRect
+ property FocusRect focusItem
property string text
width: 75; height: 50
@@ -64,9 +65,9 @@ Rectangle {
anchors.fill: parent
hoverEnabled: true
onEntered: {
- focusRect.x = myRect.x;
- focusRect.y = myRect.y;
- focusRect.text = myRect.text;
+ myRect.focusItem.x = myRect.x;
+ myRect.focusItem.y = myRect.y;
+ myRect.focusItem.text = myRect.text;
}
}
}
diff --git a/examples/quick/animation/behaviors/behavior-example.qml b/examples/quick/animation/behaviors/behavior-example.qml
index 1d07e6bb90..43ca31f185 100644
--- a/examples/quick/animation/behaviors/behavior-example.qml
+++ b/examples/quick/animation/behaviors/behavior-example.qml
@@ -64,67 +64,34 @@ Rectangle {
SideRect {
id: leftRect
+ focusItem: focusRect
anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.left }
text: "Left"
}
SideRect {
id: rightRect
+ focusItem: focusRect
anchors { verticalCenter: parent.verticalCenter; horizontalCenter: parent.right }
text: "Right"
}
SideRect {
id: topRect
+ focusItem: focusRect
anchors { verticalCenter: parent.top; horizontalCenter: parent.horizontalCenter }
text: "Top"
}
SideRect {
id: bottomRect
+ focusItem: focusRect
anchors { verticalCenter: parent.bottom; horizontalCenter: parent.horizontalCenter }
text: "Bottom"
}
-
- Rectangle {
+ FocusRect {
id: focusRect
-
- property string text
-
- x: 62; y: 75; width: 75; height: 50
- radius: 6
- border.width: 4; border.color: "white"
- color: "firebrick"
-
- // Set an 'elastic' behavior on the focusRect's x property.
- Behavior on x {
- NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
- }
-
- //! [0]
- // Set an 'elastic' behavior on the focusRect's y property.
- Behavior on y {
- NumberAnimation { easing.type: Easing.OutElastic; easing.amplitude: 3.0; easing.period: 2.0; duration: 300 }
- }
- //! [0]
-
- Text {
- id: focusText
- text: focusRect.text
- anchors.centerIn: parent
- color: "white"
- font.pixelSize: 16; font.bold: true
-
- // Set a behavior on the focusText's x property:
- // Set the opacity to 0, set the new text value, then set the opacity back to 1.
- Behavior on text {
- SequentialAnimation {
- NumberAnimation { target: focusText; property: "opacity"; to: 0; duration: 150 }
- NumberAnimation { target: focusText; property: "opacity"; to: 1; duration: 150 }
- }
- }
- }
}
}
}
diff --git a/examples/quick/animation/doc/src/animation.qdoc b/examples/quick/animation/doc/src/animation.qdoc
index 578fb4b849..97a574d768 100644
--- a/examples/quick/animation/doc/src/animation.qdoc
+++ b/examples/quick/animation/doc/src/animation.qdoc
@@ -60,7 +60,7 @@
\section1 Behaviors
\e Behaviors uses behaviors to move a rectangle to where you click.
- \snippet animation/behaviors/behavior-example.qml 0
+ \snippet animation/behaviors/FocusRect.qml 0
\section1 Wiggly Text
diff --git a/examples/quick/animation/easing/easing.qml b/examples/quick/animation/easing/easing.qml
index 6db5599a66..f443486141 100644
--- a/examples/quick/animation/easing/easing.qml
+++ b/examples/quick/animation/easing/easing.qml
@@ -48,6 +48,8 @@
**
****************************************************************************/
+import QtQml 2.15
+import QtQml.Models 2.15
import QtQuick 2.0
Rectangle {
@@ -107,9 +109,14 @@ Rectangle {
id: delegate
Item {
+ id: delegateInstance
+ required property string name;
+ required property int type;
+ required property color ballColor;
+
height: 56; width: window.width
- Text { text: name; anchors.centerIn: parent; color: "White" }
+ Text { text: parent.name; anchors.centerIn: parent; color: "White" }
Rectangle {
id: slot1; color: "#121212"; x: 30; height: 46; width: 46
@@ -137,12 +144,26 @@ Rectangle {
states : State {
name: "right"
- PropertyChanges { target: rect; x: window.width - 76; color: ballColor }
+ PropertyChanges {
+ target: rect;
+ x: window.width - 76;
+ color: delegateInstance.ballColor
+ }
}
transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: type; easing.bezierCurve: getBezierCurve(name); duration: 1000 }
- ColorAnimation { properties: "color"; easing.type: type; easing.bezierCurve: getBezierCurve(name); duration: 1000 }
+ NumberAnimation {
+ properties: "x"
+ easing.type: delegateInstance.type
+ easing.bezierCurve: window.getBezierCurve(delegateInstance.name)
+ duration: 1000
+ }
+ ColorAnimation {
+ properties: "color"
+ easing.type: delegateInstance.type
+ easing.bezierCurve: window.getBezierCurve(delegateInstance.name)
+ duration: 1000
+ }
}
}
}
diff --git a/examples/quick/canvas/smile/smile.qml b/examples/quick/canvas/smile/smile.qml
index 880116726f..cde18d4d38 100644
--- a/examples/quick/canvas/smile/smile.qml
+++ b/examples/quick/canvas/smile/smile.qml
@@ -97,7 +97,6 @@ Item {
ctx.save();
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.translate(originX, originX);
- ctx.globalAlpha = canvas.alpha;
ctx.strokeStyle = canvas.strokeStyle;
ctx.fillStyle = canvas.fillStyle;
ctx.lineWidth = canvas.lineWidth;
diff --git a/examples/quick/layouts/layouts.qml b/examples/quick/layouts/layouts.qml
index 48299f36aa..e56fecade9 100644
--- a/examples/quick/layouts/layouts.qml
+++ b/examples/quick/layouts/layouts.qml
@@ -53,6 +53,8 @@ import QtQuick.Controls 1.2
import QtQuick.Layouts 1.3
ApplicationWindow {
+ id: appWindow
+
visible: true
title: "Basic layouts"
property int margin: 11
@@ -64,7 +66,7 @@ ApplicationWindow {
ColumnLayout {
id: mainLayout
anchors.fill: parent
- anchors.margins: margin
+ anchors.margins: appWindow.margin
GroupBox {
id: rowBox
title: "Row layout"
@@ -135,8 +137,13 @@ ApplicationWindow {
id: stackRepeater
model: 5
Rectangle {
- color: Qt.hsla((0.5 + index)/stackRepeater.count, 0.3, 0.7, 1)
- Button { anchors.centerIn: parent; text: "Page " + (index + 1); onClicked: { stackLayout.advance() } }
+ required property int index
+ color: Qt.hsla((0.5 + index) / stackRepeater.count, 0.3, 0.7, 1)
+ Button {
+ anchors.centerIn: parent
+ text: "Page " + (parent.index + 1)
+ onClicked: { stackLayout.advance() }
+ }
}
}
}
diff --git a/examples/quick/localstorage/localstorage/Header.qml b/examples/quick/localstorage/localstorage/Header.qml
index b3807f6e40..e9446de55e 100644
--- a/examples/quick/localstorage/localstorage/Header.qml
+++ b/examples/quick/localstorage/localstorage/Header.qml
@@ -186,11 +186,11 @@ Item {
}
}
}
-
- MouseArea {
- anchors.fill: parent
- onClicked: dateInput.forceActiveFocus()
- }
}
}
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: dateInput.forceActiveFocus()
+ }
}
diff --git a/examples/quick/localstorage/localstorage/localstorage.qml b/examples/quick/localstorage/localstorage/localstorage.qml
index 434639db54..41f5cbd561 100644
--- a/examples/quick/localstorage/localstorage/localstorage.qml
+++ b/examples/quick/localstorage/localstorage/localstorage.qml
@@ -166,8 +166,8 @@ Window {
Component {
id: highlightBar
Rectangle {
- width: listView.currentItem.width
- height: listView.currentItem.height
+ width: listView.currentItem !== null ? listView.currentItem.width : implicitWidth
+ height: listView.currentItem !== null ? listView.currentItem.height : implicitHeight
color: "lightgreen"
}
}
diff --git a/examples/quick/quick-accessibility/content/Button.qml b/examples/quick/quick-accessibility/content/Button.qml
index fc9c19b789..7a86e31588 100644
--- a/examples/quick/quick-accessibility/content/Button.qml
+++ b/examples/quick/quick-accessibility/content/Button.qml
@@ -79,7 +79,6 @@ Rectangle {
Text {
id: buttonText
- text: parent.description
anchors.centerIn: parent
font.pixelSize: parent.height * .5
style: Text.Sunken
diff --git a/examples/quick/scenegraph/metaltextureimport/doc/src/metaltextureimport.qdoc b/examples/quick/scenegraph/metaltextureimport/doc/src/metaltextureimport.qdoc
index 2a584c26cc..55cbcd8f2e 100644
--- a/examples/quick/scenegraph/metaltextureimport/doc/src/metaltextureimport.qdoc
+++ b/examples/quick/scenegraph/metaltextureimport/doc/src/metaltextureimport.qdoc
@@ -29,7 +29,7 @@
\example scenegraph/metaltextureimport
\title Scene Graph - Metal Texture Import
\ingroup qtquickexamples
- \brief Shows how to use a texture created directly with Metal
+ \brief Shows how to use a texture created directly with Metal.
\image metaltextureimport-example.jpg
diff --git a/examples/quick/scenegraph/metaltextureimport/metaltextureimport.pro b/examples/quick/scenegraph/metaltextureimport/metaltextureimport.pro
index 5b11606946..bbdfd358d3 100644
--- a/examples/quick/scenegraph/metaltextureimport/metaltextureimport.pro
+++ b/examples/quick/scenegraph/metaltextureimport/metaltextureimport.pro
@@ -1,4 +1,4 @@
-!macos: error("This example requires macOS")
+!macos:!ios: error("This example requires macOS or iOS")
QT += qml quick
@@ -6,7 +6,8 @@ HEADERS += metaltextureimport.h
SOURCES += metaltextureimport.mm main.cpp
RESOURCES += metaltextureimport.qrc
-LIBS += -framework Metal -framework AppKit
+LIBS += -framework Metal
+macos: LIBS += -framework AppKit
target.path = $$[QT_INSTALL_EXAMPLES]/quick/scenegraph/metaltextureimport
INSTALLS += target
diff --git a/examples/quick/scenegraph/metalunderqml/metalsquircle.mm b/examples/quick/scenegraph/metalunderqml/metalsquircle.mm
index 5ca6daa01a..4844df0c70 100644
--- a/examples/quick/scenegraph/metalunderqml/metalsquircle.mm
+++ b/examples/quick/scenegraph/metalunderqml/metalsquircle.mm
@@ -349,10 +349,13 @@ void SquircleRenderer::init(int framesInFlight)
rpDesc.colorAttachments[0].destinationRGBBlendFactor = MTLBlendFactorOne;
rpDesc.colorAttachments[0].destinationAlphaBlendFactor = MTLBlendFactorOne;
+#ifdef Q_OS_MACOS
if (m_device.depth24Stencil8PixelFormatSupported) {
rpDesc.depthAttachmentPixelFormat = MTLPixelFormatDepth24Unorm_Stencil8;
rpDesc.stencilAttachmentPixelFormat = MTLPixelFormatDepth24Unorm_Stencil8;
- } else {
+ } else
+#endif
+ {
rpDesc.depthAttachmentPixelFormat = MTLPixelFormatDepth32Float_Stencil8;
rpDesc.stencilAttachmentPixelFormat = MTLPixelFormatDepth32Float_Stencil8;
}
diff --git a/examples/quick/scenegraph/metalunderqml/metalunderqml.pro b/examples/quick/scenegraph/metalunderqml/metalunderqml.pro
index 9fd131fe1b..2f4c3f63da 100644
--- a/examples/quick/scenegraph/metalunderqml/metalunderqml.pro
+++ b/examples/quick/scenegraph/metalunderqml/metalunderqml.pro
@@ -1,4 +1,4 @@
-!macos: error("This example requires macOS")
+!macos:!ios: error("This example requires macOS or iOS")
QT += qml quick
@@ -6,7 +6,8 @@ HEADERS += metalsquircle.h
SOURCES += metalsquircle.mm main.cpp
RESOURCES += metalunderqml.qrc
-LIBS += -framework Metal -framework AppKit
+LIBS += -framework Metal
+macos: LIBS += -framework AppKit
target.path = $$[QT_INSTALL_EXAMPLES]/quick/scenegraph/metalunderqml
INSTALLS += target
diff --git a/examples/quick/scenegraph/rendernode/customrenderitem.cpp b/examples/quick/scenegraph/rendernode/customrenderitem.cpp
index e55cf0a2f4..5f51522c47 100644
--- a/examples/quick/scenegraph/rendernode/customrenderitem.cpp
+++ b/examples/quick/scenegraph/rendernode/customrenderitem.cpp
@@ -53,8 +53,12 @@
#include <QSGRendererInterface>
#include "openglrenderer.h"
+#ifdef Q_OS_MACOS
#include "metalrenderer.h"
+#endif
+#if QT_CONFIG(d3d12)
#include "d3d12renderer.h"
+#endif
#include "softwarerenderer.h"
//! [1]
diff --git a/examples/quick/scenegraph/rendernode/softwarerenderer.cpp b/examples/quick/scenegraph/rendernode/softwarerenderer.cpp
index bba364ac97..a0f288d575 100644
--- a/examples/quick/scenegraph/rendernode/softwarerenderer.cpp
+++ b/examples/quick/scenegraph/rendernode/softwarerenderer.cpp
@@ -95,7 +95,7 @@ void SoftwareRenderNode::render(const RenderState *renderState)
QSGRenderNode::StateFlags SoftwareRenderNode::changedStates() const
{
- return nullptr;
+ return {};
}
QSGRenderNode::RenderingFlags SoftwareRenderNode::flags() const
diff --git a/examples/quick/scenegraph/scenegraph.pro b/examples/quick/scenegraph/scenegraph.pro
index 5fea3b974a..cc75cbc0d3 100644
--- a/examples/quick/scenegraph/scenegraph.pro
+++ b/examples/quick/scenegraph/scenegraph.pro
@@ -16,7 +16,7 @@ SUBDIRS += \
rendernode \
threadedanimation
-macos {
+macos|ios {
SUBDIRS += \
metalunderqml \
metaltextureimport
diff --git a/examples/quick/shared/FlickrRssModel.qml b/examples/quick/shared/FlickrRssModel.qml
index cee4022bf0..5f88fabcae 100644
--- a/examples/quick/shared/FlickrRssModel.qml
+++ b/examples/quick/shared/FlickrRssModel.qml
@@ -63,6 +63,12 @@ ListModel {
var xhr = new XMLHttpRequest;
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
+
+ if (xhr.status !== 200) {
+ console.log("Failed to get images from flickr. status code: " + xhr.status);
+ return;
+ }
+
var jsonText = xhr.responseText;
var objArray = JSON.parse(jsonText.replace(/\'/g,"'"))
if (objArray.errors !== undefined)
diff --git a/examples/quick/shared/SimpleLauncherDelegate.qml b/examples/quick/shared/SimpleLauncherDelegate.qml
index 75aecf262c..7f07dea52a 100644
--- a/examples/quick/shared/SimpleLauncherDelegate.qml
+++ b/examples/quick/shared/SimpleLauncherDelegate.qml
@@ -61,12 +61,12 @@ Rectangle {
GradientStop {
position: 0
Behavior on color {ColorAnimation { duration: 100 }}
- color: button.pressed ? "#e0e0e0" : "#fff"
+ color: tapHandler.pressed ? "#e0e0e0" : "#fff"
}
GradientStop {
position: 1
Behavior on color {ColorAnimation { duration: 100 }}
- color: button.pressed ? "#e0e0e0" : button.containsMouse ? "#f5f5f5" : "#eee"
+ color: tapHandler.pressed ? "#e0e0e0" : button.containsMouse ? "#f5f5f5" : "#eee"
}
}
diff --git a/examples/quick/touchinteraction/multipointtouch/bearwhack.qml b/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
index 49bd0b9db8..90c1a66891 100644
--- a/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
+++ b/examples/quick/touchinteraction/multipointtouch/bearwhack.qml
@@ -87,7 +87,7 @@ Item {
running: !startScreen.visible
}
- property int score: 0
+ property int score: particleSystem.score
Text {
anchors.right: parent.right
@@ -96,11 +96,13 @@ Item {
color: "white"
function padded(num) {
var ret = num.toString();
- while (ret.length < 6)
- ret = "0" + ret;
- return ret;
+
+ if (ret >= 0)
+ return ret.padStart(6, "0");
+ else
+ return "-" + ret.substr(1).padStart(6, "0");
}
- text: "Score: " + padded(score)
+ text: "Score: " + padded(root.score)
}
MultiPointTouchArea {
anchors.fill: parent
diff --git a/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml b/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
index 3db9eaf1e5..8da5949a1b 100644
--- a/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
+++ b/examples/quick/touchinteraction/multipointtouch/content/BearWhackParticleSystem.qml
@@ -52,6 +52,9 @@ import QtQuick.Particles 2.0
ParticleSystem {
id: particleSystem
+
+ property int score
+
function explode(x,y) {
fireEmitter.burst(100,x,y);
}
@@ -116,13 +119,13 @@ ParticleSystem {
once: true
y: parent.height - 32
groups: "bears"
- onAffectParticles: {
+ onAffectParticles: function(particles) {
for (var i=0;i<particles.length; i++) {
if (particles[i].animationIndex != 0) {
- score++;
+ particleSystem.score++;
bloodEmitter.burst(100, particles[i].x, particles[i].y);
} else {
- score--;
+ particleSystem.score--;
heartEmitter.burst(100, particles[i].x, particles[i].y);
}
particles[i].update = 1.0;
diff --git a/examples/quick/views/pathview/pathview-example.qml b/examples/quick/views/pathview/pathview-example.qml
index a70bf1b656..e42117dfae 100644
--- a/examples/quick/views/pathview/pathview-example.qml
+++ b/examples/quick/views/pathview/pathview-example.qml
@@ -71,19 +71,23 @@ Rectangle {
width: 100; height: 100
scale: PathView.iconScale
+ required property string name
+ required property string icon
+ required property int index
+
Image {
id: myIcon
y: 20; anchors.horizontalCenter: parent.horizontalCenter
- source: icon
+ source: parent.icon
}
Text {
anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
- text: name
+ text: parent.name
}
MouseArea {
anchors.fill: parent
- onClicked: view.currentIndex = index
+ onClicked: view.currentIndex = parent.index
}
}
}
diff --git a/src/3rdparty/llvm/LICENSE.TXT b/src/3rdparty/llvm/LICENSE.TXT
deleted file mode 100644
index ff63f2b6aa..0000000000
--- a/src/3rdparty/llvm/LICENSE.TXT
+++ /dev/null
@@ -1,68 +0,0 @@
-==============================================================================
-LLVM Release License
-==============================================================================
-University of Illinois/NCSA
-Open Source License
-
-Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign.
-All rights reserved.
-
-Developed by:
-
- LLVM Team
-
- University of Illinois at Urbana-Champaign
-
- http://llvm.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal with
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimers.
-
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimers in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the names of the LLVM Team, University of Illinois at
- Urbana-Champaign, nor the names of its contributors may be used to
- endorse or promote products derived from this Software without specific
- prior written permission.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
-SOFTWARE.
-
-==============================================================================
-Copyrights and Licenses for Third Party Software Distributed with LLVM:
-==============================================================================
-The LLVM software contains code written by third parties. Such software will
-have its own individual LICENSE.TXT file in the directory in which it appears.
-This file will describe the copyrights, license, and restrictions which apply
-to that code.
-
-The disclaimer of warranty in the University of Illinois Open Source License
-applies to all code in the LLVM Distribution, and nothing in any of the
-other licenses gives permission to use the names of the LLVM Team or the
-University of Illinois to endorse or promote products derived from this
-Software.
-
-The following pieces of software have additional or alternate copyrights,
-licenses, and/or restrictions:
-
-Program Directory
-------- ---------
-Google Test llvm/utils/unittest/googletest
-OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
-pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
-ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
-md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
diff --git a/src/3rdparty/llvm/include/llvm-c/DataTypes.h b/src/3rdparty/llvm/include/llvm-c/DataTypes.h
deleted file mode 100644
index 7081c83ffc..0000000000
--- a/src/3rdparty/llvm/include/llvm-c/DataTypes.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*===-- include/llvm-c/DataTypes.h - Define fixed size types ------*- C -*-===*\
-|* *|
-|* The LLVM Compiler Infrastructure *|
-|* *|
-|* This file is distributed under the University of Illinois Open Source *|
-|* License. See LICENSE.TXT for details. *|
-|* *|
-|*===----------------------------------------------------------------------===*|
-|* *|
-|* This file contains definitions to figure out the size of _HOST_ data types.*|
-|* This file is important because different host OS's define different macros,*|
-|* which makes portability tough. This file exports the following *|
-|* definitions: *|
-|* *|
-|* [u]int(32|64)_t : typedefs for signed and unsigned 32/64 bit system types*|
-|* [U]INT(8|16|32|64)_(MIN|MAX) : Constants for the min and max values. *|
-|* *|
-|* No library is required when using these functions. *|
-|* *|
-|*===----------------------------------------------------------------------===*/
-
-/* Please leave this file C-compatible. */
-
-#ifndef LLVM_C_DATATYPES_H
-#define LLVM_C_DATATYPES_H
-
-#ifdef __cplusplus
-#include <cmath>
-#else
-#include <math.h>
-#endif
-
-#include <inttypes.h>
-#include <stdint.h>
-
-#ifndef _MSC_VER
-
-#if !defined(UINT32_MAX)
-# error "The standard header <cstdint> is not C++11 compliant. Must #define "\
- "__STDC_LIMIT_MACROS before #including llvm-c/DataTypes.h"
-#endif
-
-#if !defined(UINT32_C)
-# error "The standard header <cstdint> is not C++11 compliant. Must #define "\
- "__STDC_CONSTANT_MACROS before #including llvm-c/DataTypes.h"
-#endif
-
-/* Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. */
-#include <sys/types.h>
-
-#ifdef _AIX
-// GCC is strict about defining large constants: they must have LL modifier.
-#undef INT64_MAX
-#undef INT64_MIN
-#endif
-
-#else /* _MSC_VER */
-#ifdef __cplusplus
-#include <cstddef>
-#include <cstdlib>
-#else
-#include <stddef.h>
-#include <stdlib.h>
-#endif
-#include <sys/types.h>
-
-#if defined(_WIN64)
-typedef signed __int64 ssize_t;
-#else
-typedef signed int ssize_t;
-#endif /* _WIN64 */
-
-#endif /* _MSC_VER */
-
-/* Set defaults for constants which we cannot find. */
-#if !defined(INT64_MAX)
-# define INT64_MAX 9223372036854775807LL
-#endif
-#if !defined(INT64_MIN)
-# define INT64_MIN ((-INT64_MAX)-1)
-#endif
-#if !defined(UINT64_MAX)
-# define UINT64_MAX 0xffffffffffffffffULL
-#endif
-
-#ifndef HUGE_VALF
-#define HUGE_VALF (float)HUGE_VAL
-#endif
-
-#endif /* LLVM_C_DATATYPES_H */
diff --git a/src/3rdparty/llvm/include/llvm/ADT/PointerIntPair.h b/src/3rdparty/llvm/include/llvm/ADT/PointerIntPair.h
deleted file mode 100644
index 884d05155b..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/PointerIntPair.h
+++ /dev/null
@@ -1,233 +0,0 @@
-//===- llvm/ADT/PointerIntPair.h - Pair for pointer and int -----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the PointerIntPair class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_POINTERINTPAIR_H
-#define LLVM_ADT_POINTERINTPAIR_H
-
-#include "llvm/Support/PointerLikeTypeTraits.h"
-#include <cassert>
-#include <cstdint>
-#include <limits>
-
-namespace llvm {
-
-template <typename T> struct DenseMapInfo;
-template <typename PointerT, unsigned IntBits, typename PtrTraits>
-struct PointerIntPairInfo;
-
-/// PointerIntPair - This class implements a pair of a pointer and small
-/// integer. It is designed to represent this in the space required by one
-/// pointer by bitmangling the integer into the low part of the pointer. This
-/// can only be done for small integers: typically up to 3 bits, but it depends
-/// on the number of bits available according to PointerLikeTypeTraits for the
-/// type.
-///
-/// Note that PointerIntPair always puts the IntVal part in the highest bits
-/// possible. For example, PointerIntPair<void*, 1, bool> will put the bit for
-/// the bool into bit #2, not bit #0, which allows the low two bits to be used
-/// for something else. For example, this allows:
-/// PointerIntPair<PointerIntPair<void*, 1, bool>, 1, bool>
-/// ... and the two bools will land in different bits.
-template <typename PointerTy, unsigned IntBits, typename IntType = unsigned,
- typename PtrTraits = PointerLikeTypeTraits<PointerTy>,
- typename Info = PointerIntPairInfo<PointerTy, IntBits, PtrTraits>>
-class PointerIntPair {
- intptr_t Value = 0;
-
-public:
- constexpr PointerIntPair() = default;
-
- PointerIntPair(PointerTy PtrVal, IntType IntVal) {
- setPointerAndInt(PtrVal, IntVal);
- }
-
- explicit PointerIntPair(PointerTy PtrVal) { initWithPointer(PtrVal); }
-
- PointerTy getPointer() const { return Info::getPointer(Value); }
-
- IntType getInt() const { return (IntType)Info::getInt(Value); }
-
- void setPointer(PointerTy PtrVal) {
- Value = Info::updatePointer(Value, PtrVal);
- }
-
- void setInt(IntType IntVal) {
- Value = Info::updateInt(Value, static_cast<intptr_t>(IntVal));
- }
-
- void initWithPointer(PointerTy PtrVal) {
- Value = Info::updatePointer(0, PtrVal);
- }
-
- void setPointerAndInt(PointerTy PtrVal, IntType IntVal) {
- Value = Info::updateInt(Info::updatePointer(0, PtrVal),
- static_cast<intptr_t>(IntVal));
- }
-
- PointerTy const *getAddrOfPointer() const {
- return const_cast<PointerIntPair *>(this)->getAddrOfPointer();
- }
-
- PointerTy *getAddrOfPointer() {
- assert(Value == reinterpret_cast<intptr_t>(getPointer()) &&
- "Can only return the address if IntBits is cleared and "
- "PtrTraits doesn't change the pointer");
- return reinterpret_cast<PointerTy *>(&Value);
- }
-
- void *getOpaqueValue() const { return reinterpret_cast<void *>(Value); }
-
- void setFromOpaqueValue(void *Val) {
- Value = reinterpret_cast<intptr_t>(Val);
- }
-
- static PointerIntPair getFromOpaqueValue(void *V) {
- PointerIntPair P;
- P.setFromOpaqueValue(V);
- return P;
- }
-
- // Allow PointerIntPairs to be created from const void * if and only if the
- // pointer type could be created from a const void *.
- static PointerIntPair getFromOpaqueValue(const void *V) {
- (void)PtrTraits::getFromVoidPointer(V);
- return getFromOpaqueValue(const_cast<void *>(V));
- }
-
- bool operator==(const PointerIntPair &RHS) const {
- return Value == RHS.Value;
- }
-
- bool operator!=(const PointerIntPair &RHS) const {
- return Value != RHS.Value;
- }
-
- bool operator<(const PointerIntPair &RHS) const { return Value < RHS.Value; }
- bool operator>(const PointerIntPair &RHS) const { return Value > RHS.Value; }
-
- bool operator<=(const PointerIntPair &RHS) const {
- return Value <= RHS.Value;
- }
-
- bool operator>=(const PointerIntPair &RHS) const {
- return Value >= RHS.Value;
- }
-};
-
-template <typename PointerT, unsigned IntBits, typename PtrTraits>
-struct PointerIntPairInfo {
- static_assert(PtrTraits::NumLowBitsAvailable <
- std::numeric_limits<uintptr_t>::digits,
- "cannot use a pointer type that has all bits free");
- static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
- "PointerIntPair with integer size too large for pointer");
- enum : uintptr_t {
- /// PointerBitMask - The bits that come from the pointer.
- PointerBitMask =
- ~(uintptr_t)(((intptr_t)1 << PtrTraits::NumLowBitsAvailable) - 1),
-
- /// IntShift - The number of low bits that we reserve for other uses, and
- /// keep zero.
- IntShift = (uintptr_t)PtrTraits::NumLowBitsAvailable - IntBits,
-
- /// IntMask - This is the unshifted mask for valid bits of the int type.
- IntMask = (uintptr_t)(((intptr_t)1 << IntBits) - 1),
-
- // ShiftedIntMask - This is the bits for the integer shifted in place.
- ShiftedIntMask = (uintptr_t)(IntMask << IntShift)
- };
-
- static PointerT getPointer(intptr_t Value) {
- return PtrTraits::getFromVoidPointer(
- reinterpret_cast<void *>(Value & PointerBitMask));
- }
-
- static intptr_t getInt(intptr_t Value) {
- return (Value >> IntShift) & IntMask;
- }
-
- static intptr_t updatePointer(intptr_t OrigValue, PointerT Ptr) {
- intptr_t PtrWord =
- reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(Ptr));
- assert((PtrWord & ~PointerBitMask) == 0 &&
- "Pointer is not sufficiently aligned");
- // Preserve all low bits, just update the pointer.
- return PtrWord | (OrigValue & ~PointerBitMask);
- }
-
- static intptr_t updateInt(intptr_t OrigValue, intptr_t Int) {
- intptr_t IntWord = static_cast<intptr_t>(Int);
- assert((IntWord & ~IntMask) == 0 && "Integer too large for field");
-
- // Preserve all bits other than the ones we are updating.
- return (OrigValue & ~ShiftedIntMask) | IntWord << IntShift;
- }
-};
-
-template <typename T> struct isPodLike;
-template <typename PointerTy, unsigned IntBits, typename IntType>
-struct isPodLike<PointerIntPair<PointerTy, IntBits, IntType>> {
- static const bool value = true;
-};
-
-// Provide specialization of DenseMapInfo for PointerIntPair.
-template <typename PointerTy, unsigned IntBits, typename IntType>
-struct DenseMapInfo<PointerIntPair<PointerTy, IntBits, IntType>> {
- using Ty = PointerIntPair<PointerTy, IntBits, IntType>;
-
- static Ty getEmptyKey() {
- uintptr_t Val = static_cast<uintptr_t>(-1);
- Val <<= PointerLikeTypeTraits<Ty>::NumLowBitsAvailable;
- return Ty::getFromOpaqueValue(reinterpret_cast<void *>(Val));
- }
-
- static Ty getTombstoneKey() {
- uintptr_t Val = static_cast<uintptr_t>(-2);
- Val <<= PointerLikeTypeTraits<PointerTy>::NumLowBitsAvailable;
- return Ty::getFromOpaqueValue(reinterpret_cast<void *>(Val));
- }
-
- static unsigned getHashValue(Ty V) {
- uintptr_t IV = reinterpret_cast<uintptr_t>(V.getOpaqueValue());
- return unsigned(IV) ^ unsigned(IV >> 9);
- }
-
- static bool isEqual(const Ty &LHS, const Ty &RHS) { return LHS == RHS; }
-};
-
-// Teach SmallPtrSet that PointerIntPair is "basically a pointer".
-template <typename PointerTy, unsigned IntBits, typename IntType,
- typename PtrTraits>
-struct PointerLikeTypeTraits<
- PointerIntPair<PointerTy, IntBits, IntType, PtrTraits>> {
- static inline void *
- getAsVoidPointer(const PointerIntPair<PointerTy, IntBits, IntType> &P) {
- return P.getOpaqueValue();
- }
-
- static inline PointerIntPair<PointerTy, IntBits, IntType>
- getFromVoidPointer(void *P) {
- return PointerIntPair<PointerTy, IntBits, IntType>::getFromOpaqueValue(P);
- }
-
- static inline PointerIntPair<PointerTy, IntBits, IntType>
- getFromVoidPointer(const void *P) {
- return PointerIntPair<PointerTy, IntBits, IntType>::getFromOpaqueValue(P);
- }
-
- enum { NumLowBitsAvailable = PtrTraits::NumLowBitsAvailable - IntBits };
-};
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_POINTERINTPAIR_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist.h b/src/3rdparty/llvm/include/llvm/ADT/ilist.h
deleted file mode 100644
index 7e346e1260..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist.h
+++ /dev/null
@@ -1,431 +0,0 @@
-//==-- llvm/ADT/ilist.h - Intrusive Linked List Template ---------*- C++ -*-==//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines classes to implement an intrusive doubly linked list class
-// (i.e. each node of the list must contain a next and previous field for the
-// list.
-//
-// The ilist class itself should be a plug in replacement for list. This list
-// replacement does not provide a constant time size() method, so be careful to
-// use empty() when you really want to know if it's empty.
-//
-// The ilist class is implemented as a circular list. The list itself contains
-// a sentinel node, whose Next points at begin() and whose Prev points at
-// rbegin(). The sentinel node itself serves as end() and rend().
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_H
-#define LLVM_ADT_ILIST_H
-
-#include "llvm/ADT/simple_ilist.h"
-#include <cassert>
-#include <cstddef>
-#include <iterator>
-
-namespace llvm {
-
-/// Use delete by default for iplist and ilist.
-///
-/// Specialize this to get different behaviour for ownership-related API. (If
-/// you really want ownership semantics, consider using std::list or building
-/// something like \a BumpPtrList.)
-///
-/// \see ilist_noalloc_traits
-template <typename NodeTy> struct ilist_alloc_traits {
- static void deleteNode(NodeTy *V) { delete V; }
-};
-
-/// Custom traits to do nothing on deletion.
-///
-/// Specialize ilist_alloc_traits to inherit from this to disable the
-/// non-intrusive deletion in iplist (which implies ownership).
-///
-/// If you want purely intrusive semantics with no callbacks, consider using \a
-/// simple_ilist instead.
-///
-/// \code
-/// template <>
-/// struct ilist_alloc_traits<MyType> : ilist_noalloc_traits<MyType> {};
-/// \endcode
-template <typename NodeTy> struct ilist_noalloc_traits {
- static void deleteNode(NodeTy *) {}
-};
-
-/// Callbacks do nothing by default in iplist and ilist.
-///
-/// Specialize this for to use callbacks for when nodes change their list
-/// membership.
-template <typename NodeTy> struct ilist_callback_traits {
- void addNodeToList(NodeTy *) {}
- void removeNodeFromList(NodeTy *) {}
-
- /// Callback before transferring nodes to this list.
- ///
- /// \pre \c this!=&OldList
- template <class Iterator>
- void transferNodesFromList(ilist_callback_traits &OldList, Iterator /*first*/,
- Iterator /*last*/) {
- (void)OldList;
- }
-};
-
-/// A fragment for template traits for intrusive list that provides default
-/// node related operations.
-///
-/// TODO: Remove this layer of indirection. It's not necessary.
-template <typename NodeTy>
-struct ilist_node_traits : ilist_alloc_traits<NodeTy>,
- ilist_callback_traits<NodeTy> {};
-
-/// Default template traits for intrusive list.
-///
-/// By inheriting from this, you can easily use default implementations for all
-/// common operations.
-///
-/// TODO: Remove this customization point. Specializing ilist_traits is
-/// already fully general.
-template <typename NodeTy>
-struct ilist_default_traits : public ilist_node_traits<NodeTy> {};
-
-/// Template traits for intrusive list.
-///
-/// Customize callbacks and allocation semantics.
-template <typename NodeTy>
-struct ilist_traits : public ilist_default_traits<NodeTy> {};
-
-/// Const traits should never be instantiated.
-template <typename Ty> struct ilist_traits<const Ty> {};
-
-namespace ilist_detail {
-
-template <class T> T &make();
-
-/// Type trait to check for a traits class that has a getNext member (as a
-/// canary for any of the ilist_nextprev_traits API).
-template <class TraitsT, class NodeT> struct HasGetNext {
- typedef char Yes[1];
- typedef char No[2];
- template <size_t N> struct SFINAE {};
-
- template <class U>
- static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0);
- template <class> static No &test(...);
-
-public:
- static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
-};
-
-/// Type trait to check for a traits class that has a createSentinel member (as
-/// a canary for any of the ilist_sentinel_traits API).
-template <class TraitsT> struct HasCreateSentinel {
- typedef char Yes[1];
- typedef char No[2];
-
- template <class U>
- static Yes &test(U *I, decltype(I->createSentinel()) * = 0);
- template <class> static No &test(...);
-
-public:
- static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
-};
-
-/// Type trait to check for a traits class that has a createNode member.
-/// Allocation should be managed in a wrapper class, instead of in
-/// ilist_traits.
-template <class TraitsT, class NodeT> struct HasCreateNode {
- typedef char Yes[1];
- typedef char No[2];
- template <size_t N> struct SFINAE {};
-
- template <class U>
- static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
- template <class> static No &test(...);
-
-public:
- static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
-};
-
-template <class TraitsT, class NodeT> struct HasObsoleteCustomization {
- static const bool value = HasGetNext<TraitsT, NodeT>::value ||
- HasCreateSentinel<TraitsT>::value ||
- HasCreateNode<TraitsT, NodeT>::value;
-};
-
-} // end namespace ilist_detail
-
-//===----------------------------------------------------------------------===//
-//
-/// A wrapper around an intrusive list with callbacks and non-intrusive
-/// ownership.
-///
-/// This wraps a purely intrusive list (like simple_ilist) with a configurable
-/// traits class. The traits can implement callbacks and customize the
-/// ownership semantics.
-///
-/// This is a subset of ilist functionality that can safely be used on nodes of
-/// polymorphic types, i.e. a heterogeneous list with a common base class that
-/// holds the next/prev pointers. The only state of the list itself is an
-/// ilist_sentinel, which holds pointers to the first and last nodes in the
-/// list.
-template <class IntrusiveListT, class TraitsT>
-class iplist_impl : public TraitsT, IntrusiveListT {
- typedef IntrusiveListT base_list_type;
-
-public:
- typedef typename base_list_type::pointer pointer;
- typedef typename base_list_type::const_pointer const_pointer;
- typedef typename base_list_type::reference reference;
- typedef typename base_list_type::const_reference const_reference;
- typedef typename base_list_type::value_type value_type;
- typedef typename base_list_type::size_type size_type;
- typedef typename base_list_type::difference_type difference_type;
- typedef typename base_list_type::iterator iterator;
- typedef typename base_list_type::const_iterator const_iterator;
- typedef typename base_list_type::reverse_iterator reverse_iterator;
- typedef
- typename base_list_type::const_reverse_iterator const_reverse_iterator;
-
-private:
- // TODO: Drop this assertion and the transitive type traits anytime after
- // v4.0 is branched (i.e,. keep them for one release to help out-of-tree code
- // update).
- static_assert(
- !ilist_detail::HasObsoleteCustomization<TraitsT, value_type>::value,
- "ilist customization points have changed!");
-
- static bool op_less(const_reference L, const_reference R) { return L < R; }
- static bool op_equal(const_reference L, const_reference R) { return L == R; }
-
-public:
- iplist_impl() = default;
-
- iplist_impl(const iplist_impl &) = delete;
- iplist_impl &operator=(const iplist_impl &) = delete;
-
- iplist_impl(iplist_impl &&X)
- : TraitsT(std::move(X)), IntrusiveListT(std::move(X)) {}
- iplist_impl &operator=(iplist_impl &&X) {
- *static_cast<TraitsT *>(this) = std::move(X);
- *static_cast<IntrusiveListT *>(this) = std::move(X);
- return *this;
- }
-
- ~iplist_impl() { clear(); }
-
- // Miscellaneous inspection routines.
- size_type max_size() const { return size_type(-1); }
-
- using base_list_type::begin;
- using base_list_type::end;
- using base_list_type::rbegin;
- using base_list_type::rend;
- using base_list_type::empty;
- using base_list_type::front;
- using base_list_type::back;
-
- void swap(iplist_impl &RHS) {
- assert(0 && "Swap does not use list traits callback correctly yet!");
- base_list_type::swap(RHS);
- }
-
- iterator insert(iterator where, pointer New) {
- this->addNodeToList(New); // Notify traits that we added a node...
- return base_list_type::insert(where, *New);
- }
-
- iterator insert(iterator where, const_reference New) {
- return this->insert(where, new value_type(New));
- }
-
- iterator insertAfter(iterator where, pointer New) {
- if (empty())
- return insert(begin(), New);
- else
- return insert(++where, New);
- }
-
- /// Clone another list.
- template <class Cloner> void cloneFrom(const iplist_impl &L2, Cloner clone) {
- clear();
- for (const_reference V : L2)
- push_back(clone(V));
- }
-
- pointer remove(iterator &IT) {
- pointer Node = &*IT++;
- this->removeNodeFromList(Node); // Notify traits that we removed a node...
- base_list_type::remove(*Node);
- return Node;
- }
-
- pointer remove(const iterator &IT) {
- iterator MutIt = IT;
- return remove(MutIt);
- }
-
- pointer remove(pointer IT) { return remove(iterator(IT)); }
- pointer remove(reference IT) { return remove(iterator(IT)); }
-
- // erase - remove a node from the controlled sequence... and delete it.
- iterator erase(iterator where) {
- this->deleteNode(remove(where));
- return where;
- }
-
- iterator erase(pointer IT) { return erase(iterator(IT)); }
- iterator erase(reference IT) { return erase(iterator(IT)); }
-
- /// Remove all nodes from the list like clear(), but do not call
- /// removeNodeFromList() or deleteNode().
- ///
- /// This should only be used immediately before freeing nodes in bulk to
- /// avoid traversing the list and bringing all the nodes into cache.
- void clearAndLeakNodesUnsafely() { base_list_type::clear(); }
-
-private:
- // transfer - The heart of the splice function. Move linked list nodes from
- // [first, last) into position.
- //
- void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
- if (position == last)
- return;
-
- if (this != &L2) // Notify traits we moved the nodes...
- this->transferNodesFromList(L2, first, last);
-
- base_list_type::splice(position, L2, first, last);
- }
-
-public:
- //===----------------------------------------------------------------------===
- // Functionality derived from other functions defined above...
- //
-
- using base_list_type::size;
-
- iterator erase(iterator first, iterator last) {
- while (first != last)
- first = erase(first);
- return last;
- }
-
- void clear() { erase(begin(), end()); }
-
- // Front and back inserters...
- void push_front(pointer val) { insert(begin(), val); }
- void push_back(pointer val) { insert(end(), val); }
- void pop_front() {
- assert(!empty() && "pop_front() on empty list!");
- erase(begin());
- }
- void pop_back() {
- assert(!empty() && "pop_back() on empty list!");
- iterator t = end(); erase(--t);
- }
-
- // Special forms of insert...
- template<class InIt> void insert(iterator where, InIt first, InIt last) {
- for (; first != last; ++first) insert(where, *first);
- }
-
- // Splice members - defined in terms of transfer...
- void splice(iterator where, iplist_impl &L2) {
- if (!L2.empty())
- transfer(where, L2, L2.begin(), L2.end());
- }
- void splice(iterator where, iplist_impl &L2, iterator first) {
- iterator last = first; ++last;
- if (where == first || where == last) return; // No change
- transfer(where, L2, first, last);
- }
- void splice(iterator where, iplist_impl &L2, iterator first, iterator last) {
- if (first != last) transfer(where, L2, first, last);
- }
- void splice(iterator where, iplist_impl &L2, reference N) {
- splice(where, L2, iterator(N));
- }
- void splice(iterator where, iplist_impl &L2, pointer N) {
- splice(where, L2, iterator(N));
- }
-
- template <class Compare>
- void merge(iplist_impl &Right, Compare comp) {
- if (this == &Right)
- return;
- this->transferNodesFromList(Right, Right.begin(), Right.end());
- base_list_type::merge(Right, comp);
- }
- void merge(iplist_impl &Right) { return merge(Right, op_less); }
-
- using base_list_type::sort;
-
- /// \brief Get the previous node, or \c nullptr for the list head.
- pointer getPrevNode(reference N) const {
- auto I = N.getIterator();
- if (I == begin())
- return nullptr;
- return &*std::prev(I);
- }
- /// \brief Get the previous node, or \c nullptr for the list head.
- const_pointer getPrevNode(const_reference N) const {
- return getPrevNode(const_cast<reference >(N));
- }
-
- /// \brief Get the next node, or \c nullptr for the list tail.
- pointer getNextNode(reference N) const {
- auto Next = std::next(N.getIterator());
- if (Next == end())
- return nullptr;
- return &*Next;
- }
- /// \brief Get the next node, or \c nullptr for the list tail.
- const_pointer getNextNode(const_reference N) const {
- return getNextNode(const_cast<reference >(N));
- }
-};
-
-/// An intrusive list with ownership and callbacks specified/controlled by
-/// ilist_traits, only with API safe for polymorphic types.
-///
-/// The \p Options parameters are the same as those for \a simple_ilist. See
-/// there for a description of what's available.
-template <class T, class... Options>
-class iplist
- : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
- using iplist_impl_type = typename iplist::iplist_impl;
-
-public:
- iplist() = default;
-
- iplist(const iplist &X) = delete;
- iplist &operator=(const iplist &X) = delete;
-
- iplist(iplist &&X) : iplist_impl_type(std::move(X)) {}
- iplist &operator=(iplist &&X) {
- *static_cast<iplist_impl_type *>(this) = std::move(X);
- return *this;
- }
-};
-
-template <class T, class... Options> using ilist = iplist<T, Options...>;
-
-} // end namespace llvm
-
-namespace std {
-
- // Ensure that swap uses the fast list swap...
- template<class Ty>
- void swap(llvm::iplist<Ty> &Left, llvm::iplist<Ty> &Right) {
- Left.swap(Right);
- }
-
-} // end namespace std
-
-#endif // LLVM_ADT_ILIST_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist_base.h b/src/3rdparty/llvm/include/llvm/ADT/ilist_base.h
deleted file mode 100644
index 3d818a48d4..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist_base.h
+++ /dev/null
@@ -1,93 +0,0 @@
-//===- llvm/ADT/ilist_base.h - Intrusive List Base --------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_BASE_H
-#define LLVM_ADT_ILIST_BASE_H
-
-#include "llvm/ADT/ilist_node_base.h"
-#include <cassert>
-
-namespace llvm {
-
-/// Implementations of list algorithms using ilist_node_base.
-template <bool EnableSentinelTracking> class ilist_base {
-public:
- using node_base_type = ilist_node_base<EnableSentinelTracking>;
-
- static void insertBeforeImpl(node_base_type &Next, node_base_type &N) {
- node_base_type &Prev = *Next.getPrev();
- N.setNext(&Next);
- N.setPrev(&Prev);
- Prev.setNext(&N);
- Next.setPrev(&N);
- }
-
- static void removeImpl(node_base_type &N) {
- node_base_type *Prev = N.getPrev();
- node_base_type *Next = N.getNext();
- Next->setPrev(Prev);
- Prev->setNext(Next);
-
- // Not strictly necessary, but helps catch a class of bugs.
- N.setPrev(nullptr);
- N.setNext(nullptr);
- }
-
- static void removeRangeImpl(node_base_type &First, node_base_type &Last) {
- node_base_type *Prev = First.getPrev();
- node_base_type *Final = Last.getPrev();
- Last.setPrev(Prev);
- Prev->setNext(&Last);
-
- // Not strictly necessary, but helps catch a class of bugs.
- First.setPrev(nullptr);
- Final->setNext(nullptr);
- }
-
- static void transferBeforeImpl(node_base_type &Next, node_base_type &First,
- node_base_type &Last) {
- if (&Next == &Last || &First == &Last)
- return;
-
- // Position cannot be contained in the range to be transferred.
- assert(&Next != &First &&
- // Check for the most common mistake.
- "Insertion point can't be one of the transferred nodes");
-
- node_base_type &Final = *Last.getPrev();
-
- // Detach from old list/position.
- First.getPrev()->setNext(&Last);
- Last.setPrev(First.getPrev());
-
- // Splice [First, Final] into its new list/position.
- node_base_type &Prev = *Next.getPrev();
- Final.setNext(&Next);
- First.setPrev(&Prev);
- Prev.setNext(&First);
- Next.setPrev(&Final);
- }
-
- template <class T> static void insertBefore(T &Next, T &N) {
- insertBeforeImpl(Next, N);
- }
-
- template <class T> static void remove(T &N) { removeImpl(N); }
- template <class T> static void removeRange(T &First, T &Last) {
- removeRangeImpl(First, Last);
- }
-
- template <class T> static void transferBefore(T &Next, T &First, T &Last) {
- transferBeforeImpl(Next, First, Last);
- }
-};
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_ILIST_BASE_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist_iterator.h b/src/3rdparty/llvm/include/llvm/ADT/ilist_iterator.h
deleted file mode 100644
index 671e644e01..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist_iterator.h
+++ /dev/null
@@ -1,199 +0,0 @@
-//===- llvm/ADT/ilist_iterator.h - Intrusive List Iterator ------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_ITERATOR_H
-#define LLVM_ADT_ILIST_ITERATOR_H
-
-#include "llvm/ADT/ilist_node.h"
-#include <cassert>
-#include <cstddef>
-#include <iterator>
-#include <type_traits>
-
-namespace llvm {
-
-namespace ilist_detail {
-
-/// Find const-correct node types.
-template <class OptionsT, bool IsConst> struct IteratorTraits;
-template <class OptionsT> struct IteratorTraits<OptionsT, false> {
- using value_type = typename OptionsT::value_type;
- using pointer = typename OptionsT::pointer;
- using reference = typename OptionsT::reference;
- using node_pointer = ilist_node_impl<OptionsT> *;
- using node_reference = ilist_node_impl<OptionsT> &;
-};
-template <class OptionsT> struct IteratorTraits<OptionsT, true> {
- using value_type = const typename OptionsT::value_type;
- using pointer = typename OptionsT::const_pointer;
- using reference = typename OptionsT::const_reference;
- using node_pointer = const ilist_node_impl<OptionsT> *;
- using node_reference = const ilist_node_impl<OptionsT> &;
-};
-
-template <bool IsReverse> struct IteratorHelper;
-template <> struct IteratorHelper<false> : ilist_detail::NodeAccess {
- using Access = ilist_detail::NodeAccess;
-
- template <class T> static void increment(T *&I) { I = Access::getNext(*I); }
- template <class T> static void decrement(T *&I) { I = Access::getPrev(*I); }
-};
-template <> struct IteratorHelper<true> : ilist_detail::NodeAccess {
- using Access = ilist_detail::NodeAccess;
-
- template <class T> static void increment(T *&I) { I = Access::getPrev(*I); }
- template <class T> static void decrement(T *&I) { I = Access::getNext(*I); }
-};
-
-} // end namespace ilist_detail
-
-/// Iterator for intrusive lists based on ilist_node.
-template <class OptionsT, bool IsReverse, bool IsConst>
-class ilist_iterator : ilist_detail::SpecificNodeAccess<OptionsT> {
- friend ilist_iterator<OptionsT, IsReverse, !IsConst>;
- friend ilist_iterator<OptionsT, !IsReverse, IsConst>;
- friend ilist_iterator<OptionsT, !IsReverse, !IsConst>;
-
- using Traits = ilist_detail::IteratorTraits<OptionsT, IsConst>;
- using Access = ilist_detail::SpecificNodeAccess<OptionsT>;
-
-public:
- using value_type = typename Traits::value_type;
- using pointer = typename Traits::pointer;
- using reference = typename Traits::reference;
- using difference_type = ptrdiff_t;
- using iterator_category = std::bidirectional_iterator_tag;
- using const_pointer = typename OptionsT::const_pointer;
- using const_reference = typename OptionsT::const_reference;
-
-private:
- using node_pointer = typename Traits::node_pointer;
- using node_reference = typename Traits::node_reference;
-
- node_pointer NodePtr = nullptr;
-
-public:
- /// Create from an ilist_node.
- explicit ilist_iterator(node_reference N) : NodePtr(&N) {}
-
- explicit ilist_iterator(pointer NP) : NodePtr(Access::getNodePtr(NP)) {}
- explicit ilist_iterator(reference NR) : NodePtr(Access::getNodePtr(&NR)) {}
- ilist_iterator() = default;
-
- // This is templated so that we can allow constructing a const iterator from
- // a nonconst iterator...
- template <bool RHSIsConst>
- ilist_iterator(
- const ilist_iterator<OptionsT, IsReverse, RHSIsConst> &RHS,
- typename std::enable_if<IsConst || !RHSIsConst, void *>::type = nullptr)
- : NodePtr(RHS.NodePtr) {}
-
- // This is templated so that we can allow assigning to a const iterator from
- // a nonconst iterator...
- template <bool RHSIsConst>
- typename std::enable_if<IsConst || !RHSIsConst, ilist_iterator &>::type
- operator=(const ilist_iterator<OptionsT, IsReverse, RHSIsConst> &RHS) {
- NodePtr = RHS.NodePtr;
- return *this;
- }
-
- /// Explicit conversion between forward/reverse iterators.
- ///
- /// Translate between forward and reverse iterators without changing range
- /// boundaries. The resulting iterator will dereference (and have a handle)
- /// to the previous node, which is somewhat unexpected; but converting the
- /// two endpoints in a range will give the same range in reverse.
- ///
- /// This matches std::reverse_iterator conversions.
- explicit ilist_iterator(
- const ilist_iterator<OptionsT, !IsReverse, IsConst> &RHS)
- : ilist_iterator(++RHS.getReverse()) {}
-
- /// Get a reverse iterator to the same node.
- ///
- /// Gives a reverse iterator that will dereference (and have a handle) to the
- /// same node. Converting the endpoint iterators in a range will give a
- /// different range; for range operations, use the explicit conversions.
- ilist_iterator<OptionsT, !IsReverse, IsConst> getReverse() const {
- if (NodePtr)
- return ilist_iterator<OptionsT, !IsReverse, IsConst>(*NodePtr);
- return ilist_iterator<OptionsT, !IsReverse, IsConst>();
- }
-
- /// Const-cast.
- ilist_iterator<OptionsT, IsReverse, false> getNonConst() const {
- if (NodePtr)
- return ilist_iterator<OptionsT, IsReverse, false>(
- const_cast<typename ilist_iterator<OptionsT, IsReverse,
- false>::node_reference>(*NodePtr));
- return ilist_iterator<OptionsT, IsReverse, false>();
- }
-
- // Accessors...
- reference operator*() const {
- assert(!NodePtr->isKnownSentinel());
- return *Access::getValuePtr(NodePtr);
- }
- pointer operator->() const { return &operator*(); }
-
- // Comparison operators
- friend bool operator==(const ilist_iterator &LHS, const ilist_iterator &RHS) {
- return LHS.NodePtr == RHS.NodePtr;
- }
- friend bool operator!=(const ilist_iterator &LHS, const ilist_iterator &RHS) {
- return LHS.NodePtr != RHS.NodePtr;
- }
-
- // Increment and decrement operators...
- ilist_iterator &operator--() {
- NodePtr = IsReverse ? NodePtr->getNext() : NodePtr->getPrev();
- return *this;
- }
- ilist_iterator &operator++() {
- NodePtr = IsReverse ? NodePtr->getPrev() : NodePtr->getNext();
- return *this;
- }
- ilist_iterator operator--(int) {
- ilist_iterator tmp = *this;
- --*this;
- return tmp;
- }
- ilist_iterator operator++(int) {
- ilist_iterator tmp = *this;
- ++*this;
- return tmp;
- }
-
- /// Get the underlying ilist_node.
- node_pointer getNodePtr() const { return static_cast<node_pointer>(NodePtr); }
-
- /// Check for end. Only valid if ilist_sentinel_tracking<true>.
- bool isEnd() const { return NodePtr ? NodePtr->isSentinel() : false; }
-};
-
-template <typename From> struct simplify_type;
-
-/// Allow ilist_iterators to convert into pointers to a node automatically when
-/// used by the dyn_cast, cast, isa mechanisms...
-///
-/// FIXME: remove this, since there is no implicit conversion to NodeTy.
-template <class OptionsT, bool IsConst>
-struct simplify_type<ilist_iterator<OptionsT, false, IsConst>> {
- using iterator = ilist_iterator<OptionsT, false, IsConst>;
- using SimpleType = typename iterator::pointer;
-
- static SimpleType getSimplifiedValue(const iterator &Node) { return &*Node; }
-};
-template <class OptionsT, bool IsConst>
-struct simplify_type<const ilist_iterator<OptionsT, false, IsConst>>
- : simplify_type<ilist_iterator<OptionsT, false, IsConst>> {};
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_ILIST_ITERATOR_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist_node.h b/src/3rdparty/llvm/include/llvm/ADT/ilist_node.h
deleted file mode 100644
index 3362611697..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist_node.h
+++ /dev/null
@@ -1,306 +0,0 @@
-//===- llvm/ADT/ilist_node.h - Intrusive Linked List Helper -----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the ilist_node class template, which is a convenient
-// base class for creating classes that can be used with ilists.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_NODE_H
-#define LLVM_ADT_ILIST_NODE_H
-
-#include "llvm/ADT/ilist_node_base.h"
-#include "llvm/ADT/ilist_node_options.h"
-
-namespace llvm {
-
-namespace ilist_detail {
-
-struct NodeAccess;
-
-} // end namespace ilist_detail
-
-template <class OptionsT, bool IsReverse, bool IsConst> class ilist_iterator;
-template <class OptionsT> class ilist_sentinel;
-
-/// Implementation for an ilist node.
-///
-/// Templated on an appropriate \a ilist_detail::node_options, usually computed
-/// by \a ilist_detail::compute_node_options.
-///
-/// This is a wrapper around \a ilist_node_base whose main purpose is to
-/// provide type safety: you can't insert nodes of \a ilist_node_impl into the
-/// wrong \a simple_ilist or \a iplist.
-template <class OptionsT> class ilist_node_impl : OptionsT::node_base_type {
- using value_type = typename OptionsT::value_type;
- using node_base_type = typename OptionsT::node_base_type;
- using list_base_type = typename OptionsT::list_base_type;
-
- friend typename OptionsT::list_base_type;
- friend struct ilist_detail::NodeAccess;
- friend class ilist_sentinel<OptionsT>;
- friend class ilist_iterator<OptionsT, false, false>;
- friend class ilist_iterator<OptionsT, false, true>;
- friend class ilist_iterator<OptionsT, true, false>;
- friend class ilist_iterator<OptionsT, true, true>;
-
-protected:
- using self_iterator = ilist_iterator<OptionsT, false, false>;
- using const_self_iterator = ilist_iterator<OptionsT, false, true>;
- using reverse_self_iterator = ilist_iterator<OptionsT, true, false>;
- using const_reverse_self_iterator = ilist_iterator<OptionsT, true, true>;
-
- ilist_node_impl() = default;
-
-private:
- ilist_node_impl *getPrev() {
- return static_cast<ilist_node_impl *>(node_base_type::getPrev());
- }
-
- ilist_node_impl *getNext() {
- return static_cast<ilist_node_impl *>(node_base_type::getNext());
- }
-
- const ilist_node_impl *getPrev() const {
- return static_cast<ilist_node_impl *>(node_base_type::getPrev());
- }
-
- const ilist_node_impl *getNext() const {
- return static_cast<ilist_node_impl *>(node_base_type::getNext());
- }
-
- void setPrev(ilist_node_impl *N) { node_base_type::setPrev(N); }
- void setNext(ilist_node_impl *N) { node_base_type::setNext(N); }
-
-public:
- self_iterator getIterator() { return self_iterator(*this); }
- const_self_iterator getIterator() const { return const_self_iterator(*this); }
-
- reverse_self_iterator getReverseIterator() {
- return reverse_self_iterator(*this);
- }
-
- const_reverse_self_iterator getReverseIterator() const {
- return const_reverse_self_iterator(*this);
- }
-
- // Under-approximation, but always available for assertions.
- using node_base_type::isKnownSentinel;
-
- /// Check whether this is the sentinel node.
- ///
- /// This requires sentinel tracking to be explicitly enabled. Use the
- /// ilist_sentinel_tracking<true> option to get this API.
- bool isSentinel() const {
- static_assert(OptionsT::is_sentinel_tracking_explicit,
- "Use ilist_sentinel_tracking<true> to enable isSentinel()");
- return node_base_type::isSentinel();
- }
-};
-
-/// An intrusive list node.
-///
-/// A base class to enable membership in intrusive lists, including \a
-/// simple_ilist, \a iplist, and \a ilist. The first template parameter is the
-/// \a value_type for the list.
-///
-/// An ilist node can be configured with compile-time options to change
-/// behaviour and/or add API.
-///
-/// By default, an \a ilist_node knows whether it is the list sentinel (an
-/// instance of \a ilist_sentinel) if and only if
-/// LLVM_ENABLE_ABI_BREAKING_CHECKS. The function \a isKnownSentinel() always
-/// returns \c false tracking is off. Sentinel tracking steals a bit from the
-/// "prev" link, which adds a mask operation when decrementing an iterator, but
-/// enables bug-finding assertions in \a ilist_iterator.
-///
-/// To turn sentinel tracking on all the time, pass in the
-/// ilist_sentinel_tracking<true> template parameter. This also enables the \a
-/// isSentinel() function. The same option must be passed to the intrusive
-/// list. (ilist_sentinel_tracking<false> turns sentinel tracking off all the
-/// time.)
-///
-/// A type can inherit from ilist_node multiple times by passing in different
-/// \a ilist_tag options. This allows a single instance to be inserted into
-/// multiple lists simultaneously, where each list is given the same tag.
-///
-/// \example
-/// struct A {};
-/// struct B {};
-/// struct N : ilist_node<N, ilist_tag<A>>, ilist_node<N, ilist_tag<B>> {};
-///
-/// void foo() {
-/// simple_ilist<N, ilist_tag<A>> ListA;
-/// simple_ilist<N, ilist_tag<B>> ListB;
-/// N N1;
-/// ListA.push_back(N1);
-/// ListB.push_back(N1);
-/// }
-/// \endexample
-///
-/// See \a is_valid_option for steps on adding a new option.
-template <class T, class... Options>
-class ilist_node
- : public ilist_node_impl<
- typename ilist_detail::compute_node_options<T, Options...>::type> {
- static_assert(ilist_detail::check_options<Options...>::value,
- "Unrecognized node option!");
-};
-
-namespace ilist_detail {
-
-/// An access class for ilist_node private API.
-///
-/// This gives access to the private parts of ilist nodes. Nodes for an ilist
-/// should friend this class if they inherit privately from ilist_node.
-///
-/// Using this class outside of the ilist implementation is unsupported.
-struct NodeAccess {
-protected:
- template <class OptionsT>
- static ilist_node_impl<OptionsT> *getNodePtr(typename OptionsT::pointer N) {
- return N;
- }
-
- template <class OptionsT>
- static const ilist_node_impl<OptionsT> *
- getNodePtr(typename OptionsT::const_pointer N) {
- return N;
- }
-
- template <class OptionsT>
- static typename OptionsT::pointer getValuePtr(ilist_node_impl<OptionsT> *N) {
- return static_cast<typename OptionsT::pointer>(N);
- }
-
- template <class OptionsT>
- static typename OptionsT::const_pointer
- getValuePtr(const ilist_node_impl<OptionsT> *N) {
- return static_cast<typename OptionsT::const_pointer>(N);
- }
-
- template <class OptionsT>
- static ilist_node_impl<OptionsT> *getPrev(ilist_node_impl<OptionsT> &N) {
- return N.getPrev();
- }
-
- template <class OptionsT>
- static ilist_node_impl<OptionsT> *getNext(ilist_node_impl<OptionsT> &N) {
- return N.getNext();
- }
-
- template <class OptionsT>
- static const ilist_node_impl<OptionsT> *
- getPrev(const ilist_node_impl<OptionsT> &N) {
- return N.getPrev();
- }
-
- template <class OptionsT>
- static const ilist_node_impl<OptionsT> *
- getNext(const ilist_node_impl<OptionsT> &N) {
- return N.getNext();
- }
-};
-
-template <class OptionsT> struct SpecificNodeAccess : NodeAccess {
-protected:
- using pointer = typename OptionsT::pointer;
- using const_pointer = typename OptionsT::const_pointer;
- using node_type = ilist_node_impl<OptionsT>;
-
- static node_type *getNodePtr(pointer N) {
- return NodeAccess::getNodePtr<OptionsT>(N);
- }
-
- static const node_type *getNodePtr(const_pointer N) {
- return NodeAccess::getNodePtr<OptionsT>(N);
- }
-
- static pointer getValuePtr(node_type *N) {
- return NodeAccess::getValuePtr<OptionsT>(N);
- }
-
- static const_pointer getValuePtr(const node_type *N) {
- return NodeAccess::getValuePtr<OptionsT>(N);
- }
-};
-
-} // end namespace ilist_detail
-
-template <class OptionsT>
-class ilist_sentinel : public ilist_node_impl<OptionsT> {
-public:
- ilist_sentinel() {
- this->initializeSentinel();
- reset();
- }
-
- void reset() {
- this->setPrev(this);
- this->setNext(this);
- }
-
- bool empty() const { return this == this->getPrev(); }
-};
-
-/// An ilist node that can access its parent list.
-///
-/// Requires \c NodeTy to have \a getParent() to find the parent node, and the
-/// \c ParentTy to have \a getSublistAccess() to get a reference to the list.
-template <typename NodeTy, typename ParentTy, class... Options>
-class ilist_node_with_parent : public ilist_node<NodeTy, Options...> {
-protected:
- ilist_node_with_parent() = default;
-
-private:
- /// Forward to NodeTy::getParent().
- ///
- /// Note: do not use the name "getParent()". We want a compile error
- /// (instead of recursion) when the subclass fails to implement \a
- /// getParent().
- const ParentTy *getNodeParent() const {
- return static_cast<const NodeTy *>(this)->getParent();
- }
-
-public:
- /// @name Adjacent Node Accessors
- /// @{
- /// \brief Get the previous node, or \c nullptr for the list head.
- NodeTy *getPrevNode() {
- // Should be separated to a reused function, but then we couldn't use auto
- // (and would need the type of the list).
- const auto &List =
- getNodeParent()->*(ParentTy::getSublistAccess((NodeTy *)nullptr));
- return List.getPrevNode(*static_cast<NodeTy *>(this));
- }
-
- /// \brief Get the previous node, or \c nullptr for the list head.
- const NodeTy *getPrevNode() const {
- return const_cast<ilist_node_with_parent *>(this)->getPrevNode();
- }
-
- /// \brief Get the next node, or \c nullptr for the list tail.
- NodeTy *getNextNode() {
- // Should be separated to a reused function, but then we couldn't use auto
- // (and would need the type of the list).
- const auto &List =
- getNodeParent()->*(ParentTy::getSublistAccess((NodeTy *)nullptr));
- return List.getNextNode(*static_cast<NodeTy *>(this));
- }
-
- /// \brief Get the next node, or \c nullptr for the list tail.
- const NodeTy *getNextNode() const {
- return const_cast<ilist_node_with_parent *>(this)->getNextNode();
- }
- /// @}
-};
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_ILIST_NODE_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist_node_base.h b/src/3rdparty/llvm/include/llvm/ADT/ilist_node_base.h
deleted file mode 100644
index e5062ac4ea..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist_node_base.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//===- llvm/ADT/ilist_node_base.h - Intrusive List Node Base -----*- C++ -*-==//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_NODE_BASE_H
-#define LLVM_ADT_ILIST_NODE_BASE_H
-
-#include "llvm/ADT/PointerIntPair.h"
-
-namespace llvm {
-
-/// Base class for ilist nodes.
-///
-/// Optionally tracks whether this node is the sentinel.
-template <bool EnableSentinelTracking> class ilist_node_base;
-
-template <> class ilist_node_base<false> {
- ilist_node_base *Prev = nullptr;
- ilist_node_base *Next = nullptr;
-
-public:
- void setPrev(ilist_node_base *Prev) { this->Prev = Prev; }
- void setNext(ilist_node_base *Next) { this->Next = Next; }
- ilist_node_base *getPrev() const { return Prev; }
- ilist_node_base *getNext() const { return Next; }
-
- bool isKnownSentinel() const { return false; }
- void initializeSentinel() {}
-};
-
-template <> class ilist_node_base<true> {
- PointerIntPair<ilist_node_base *, 1> PrevAndSentinel;
- ilist_node_base *Next = nullptr;
-
-public:
- void setPrev(ilist_node_base *Prev) { PrevAndSentinel.setPointer(Prev); }
- void setNext(ilist_node_base *Next) { this->Next = Next; }
- ilist_node_base *getPrev() const { return PrevAndSentinel.getPointer(); }
- ilist_node_base *getNext() const { return Next; }
-
- bool isSentinel() const { return PrevAndSentinel.getInt(); }
- bool isKnownSentinel() const { return isSentinel(); }
- void initializeSentinel() { PrevAndSentinel.setInt(true); }
-};
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_ILIST_NODE_BASE_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/ilist_node_options.h b/src/3rdparty/llvm/include/llvm/ADT/ilist_node_options.h
deleted file mode 100644
index a09fdda31c..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/ilist_node_options.h
+++ /dev/null
@@ -1,133 +0,0 @@
-//===- llvm/ADT/ilist_node_options.h - ilist_node Options -------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ILIST_NODE_OPTIONS_H
-#define LLVM_ADT_ILIST_NODE_OPTIONS_H
-
-//#include "llvm/Config/abi-breaking.h"
-//#include "llvm/Config/llvm-config.h"
-
-#include <type_traits>
-
-namespace llvm {
-
-template <bool EnableSentinelTracking> class ilist_node_base;
-template <bool EnableSentinelTracking> class ilist_base;
-
-/// Option to choose whether to track sentinels.
-///
-/// This option affects the ABI for the nodes. When not specified explicitly,
-/// the ABI depends on LLVM_ENABLE_ABI_BREAKING_CHECKS. Specify explicitly to
-/// enable \a ilist_node::isSentinel().
-template <bool EnableSentinelTracking> struct ilist_sentinel_tracking {};
-
-/// Option to specify a tag for the node type.
-///
-/// This option allows a single value type to be inserted in multiple lists
-/// simultaneously. See \a ilist_node for usage examples.
-template <class Tag> struct ilist_tag {};
-
-namespace ilist_detail {
-
-/// Helper trait for recording whether an option is specified explicitly.
-template <bool IsExplicit> struct explicitness {
- static const bool is_explicit = IsExplicit;
-};
-typedef explicitness<true> is_explicit;
-typedef explicitness<false> is_implicit;
-
-/// Check whether an option is valid.
-///
-/// The steps for adding and enabling a new ilist option include:
-/// \li define the option, ilist_foo<Bar>, above;
-/// \li add new parameters for Bar to \a ilist_detail::node_options;
-/// \li add an extraction meta-function, ilist_detail::extract_foo;
-/// \li call extract_foo from \a ilist_detail::compute_node_options and pass it
-/// into \a ilist_detail::node_options; and
-/// \li specialize \c is_valid_option<ilist_foo<Bar>> to inherit from \c
-/// std::true_type to get static assertions passing in \a simple_ilist and \a
-/// ilist_node.
-template <class Option> struct is_valid_option : std::false_type {};
-
-/// Extract sentinel tracking option.
-///
-/// Look through \p Options for the \a ilist_sentinel_tracking option, with the
-/// default depending on LLVM_ENABLE_ABI_BREAKING_CHECKS.
-template <class... Options> struct extract_sentinel_tracking;
-template <bool EnableSentinelTracking, class... Options>
-struct extract_sentinel_tracking<
- ilist_sentinel_tracking<EnableSentinelTracking>, Options...>
- : std::integral_constant<bool, EnableSentinelTracking>, is_explicit {};
-template <class Option1, class... Options>
-struct extract_sentinel_tracking<Option1, Options...>
- : extract_sentinel_tracking<Options...> {};
-#if LLVM_ENABLE_ABI_BREAKING_CHECKS
-template <> struct extract_sentinel_tracking<> : std::true_type, is_implicit {};
-#else
-template <>
-struct extract_sentinel_tracking<> : std::false_type, is_implicit {};
-#endif
-template <bool EnableSentinelTracking>
-struct is_valid_option<ilist_sentinel_tracking<EnableSentinelTracking>>
- : std::true_type {};
-
-/// Extract custom tag option.
-///
-/// Look through \p Options for the \a ilist_tag option, pulling out the
-/// custom tag type, using void as a default.
-template <class... Options> struct extract_tag;
-template <class Tag, class... Options>
-struct extract_tag<ilist_tag<Tag>, Options...> {
- typedef Tag type;
-};
-template <class Option1, class... Options>
-struct extract_tag<Option1, Options...> : extract_tag<Options...> {};
-template <> struct extract_tag<> { typedef void type; };
-template <class Tag> struct is_valid_option<ilist_tag<Tag>> : std::true_type {};
-
-/// Check whether options are valid.
-///
-/// The conjunction of \a is_valid_option on each individual option.
-template <class... Options> struct check_options;
-template <> struct check_options<> : std::true_type {};
-template <class Option1, class... Options>
-struct check_options<Option1, Options...>
- : std::integral_constant<bool, is_valid_option<Option1>::value &&
- check_options<Options...>::value> {};
-
-/// Traits for options for \a ilist_node.
-///
-/// This is usually computed via \a compute_node_options.
-template <class T, bool EnableSentinelTracking, bool IsSentinelTrackingExplicit,
- class TagT>
-struct node_options {
- typedef T value_type;
- typedef T *pointer;
- typedef T &reference;
- typedef const T *const_pointer;
- typedef const T &const_reference;
-
- static const bool enable_sentinel_tracking = EnableSentinelTracking;
- static const bool is_sentinel_tracking_explicit = IsSentinelTrackingExplicit;
- typedef TagT tag;
- typedef ilist_node_base<enable_sentinel_tracking> node_base_type;
- typedef ilist_base<enable_sentinel_tracking> list_base_type;
-};
-
-template <class T, class... Options> struct compute_node_options {
- typedef node_options<T, extract_sentinel_tracking<Options...>::value,
- extract_sentinel_tracking<Options...>::is_explicit,
- typename extract_tag<Options...>::type>
- type;
-};
-
-} // end namespace ilist_detail
-} // end namespace llvm
-
-#endif // LLVM_ADT_ILIST_NODE_OPTIONS_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/iterator.h b/src/3rdparty/llvm/include/llvm/ADT/iterator.h
deleted file mode 100644
index 711f8f2216..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/iterator.h
+++ /dev/null
@@ -1,339 +0,0 @@
-//===- iterator.h - Utilities for using and defining iterators --*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ITERATOR_H
-#define LLVM_ADT_ITERATOR_H
-
-#include "llvm/ADT/iterator_range.h"
-#include <algorithm>
-#include <cstddef>
-#include <iterator>
-#include <type_traits>
-#include <utility>
-
-namespace llvm {
-
-/// \brief CRTP base class which implements the entire standard iterator facade
-/// in terms of a minimal subset of the interface.
-///
-/// Use this when it is reasonable to implement most of the iterator
-/// functionality in terms of a core subset. If you need special behavior or
-/// there are performance implications for this, you may want to override the
-/// relevant members instead.
-///
-/// Note, one abstraction that this does *not* provide is implementing
-/// subtraction in terms of addition by negating the difference. Negation isn't
-/// always information preserving, and I can see very reasonable iterator
-/// designs where this doesn't work well. It doesn't really force much added
-/// boilerplate anyways.
-///
-/// Another abstraction that this doesn't provide is implementing increment in
-/// terms of addition of one. These aren't equivalent for all iterator
-/// categories, and respecting that adds a lot of complexity for little gain.
-///
-/// Classes wishing to use `iterator_facade_base` should implement the following
-/// methods:
-///
-/// Forward Iterators:
-/// (All of the following methods)
-/// - DerivedT &operator=(const DerivedT &R);
-/// - bool operator==(const DerivedT &R) const;
-/// - const T &operator*() const;
-/// - T &operator*();
-/// - DerivedT &operator++();
-///
-/// Bidirectional Iterators:
-/// (All methods of forward iterators, plus the following)
-/// - DerivedT &operator--();
-///
-/// Random-access Iterators:
-/// (All methods of bidirectional iterators excluding the following)
-/// - DerivedT &operator++();
-/// - DerivedT &operator--();
-/// (and plus the following)
-/// - bool operator<(const DerivedT &RHS) const;
-/// - DifferenceTypeT operator-(const DerivedT &R) const;
-/// - DerivedT &operator+=(DifferenceTypeT N);
-/// - DerivedT &operator-=(DifferenceTypeT N);
-///
-template <typename DerivedT, typename IteratorCategoryT, typename T,
- typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *,
- typename ReferenceT = T &>
-class iterator_facade_base
- : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
- ReferenceT> {
-protected:
- enum {
- IsRandomAccess = std::is_base_of<std::random_access_iterator_tag,
- IteratorCategoryT>::value,
- IsBidirectional = std::is_base_of<std::bidirectional_iterator_tag,
- IteratorCategoryT>::value,
- };
-
- /// A proxy object for computing a reference via indirecting a copy of an
- /// iterator. This is used in APIs which need to produce a reference via
- /// indirection but for which the iterator object might be a temporary. The
- /// proxy preserves the iterator internally and exposes the indirected
- /// reference via a conversion operator.
- class ReferenceProxy {
- friend iterator_facade_base;
-
- DerivedT I;
-
- ReferenceProxy(DerivedT I) : I(std::move(I)) {}
-
- public:
- operator ReferenceT() const { return *I; }
- };
-
-public:
- DerivedT operator+(DifferenceTypeT n) const {
- static_assert(std::is_base_of<iterator_facade_base, DerivedT>::value,
- "Must pass the derived type to this template!");
- static_assert(
- IsRandomAccess,
- "The '+' operator is only defined for random access iterators.");
- DerivedT tmp = *static_cast<const DerivedT *>(this);
- tmp += n;
- return tmp;
- }
- friend DerivedT operator+(DifferenceTypeT n, const DerivedT &i) {
- static_assert(
- IsRandomAccess,
- "The '+' operator is only defined for random access iterators.");
- return i + n;
- }
- DerivedT operator-(DifferenceTypeT n) const {
- static_assert(
- IsRandomAccess,
- "The '-' operator is only defined for random access iterators.");
- DerivedT tmp = *static_cast<const DerivedT *>(this);
- tmp -= n;
- return tmp;
- }
-
- DerivedT &operator++() {
- static_assert(std::is_base_of<iterator_facade_base, DerivedT>::value,
- "Must pass the derived type to this template!");
- return static_cast<DerivedT *>(this)->operator+=(1);
- }
- DerivedT operator++(int) {
- DerivedT tmp = *static_cast<DerivedT *>(this);
- ++*static_cast<DerivedT *>(this);
- return tmp;
- }
- DerivedT &operator--() {
- static_assert(
- IsBidirectional,
- "The decrement operator is only defined for bidirectional iterators.");
- return static_cast<DerivedT *>(this)->operator-=(1);
- }
- DerivedT operator--(int) {
- static_assert(
- IsBidirectional,
- "The decrement operator is only defined for bidirectional iterators.");
- DerivedT tmp = *static_cast<DerivedT *>(this);
- --*static_cast<DerivedT *>(this);
- return tmp;
- }
-
- bool operator!=(const DerivedT &RHS) const {
- return !static_cast<const DerivedT *>(this)->operator==(RHS);
- }
-
- bool operator>(const DerivedT &RHS) const {
- static_assert(
- IsRandomAccess,
- "Relational operators are only defined for random access iterators.");
- return !static_cast<const DerivedT *>(this)->operator<(RHS) &&
- !static_cast<const DerivedT *>(this)->operator==(RHS);
- }
- bool operator<=(const DerivedT &RHS) const {
- static_assert(
- IsRandomAccess,
- "Relational operators are only defined for random access iterators.");
- return !static_cast<const DerivedT *>(this)->operator>(RHS);
- }
- bool operator>=(const DerivedT &RHS) const {
- static_assert(
- IsRandomAccess,
- "Relational operators are only defined for random access iterators.");
- return !static_cast<const DerivedT *>(this)->operator<(RHS);
- }
-
- PointerT operator->() { return &static_cast<DerivedT *>(this)->operator*(); }
- PointerT operator->() const {
- return &static_cast<const DerivedT *>(this)->operator*();
- }
- ReferenceProxy operator[](DifferenceTypeT n) {
- static_assert(IsRandomAccess,
- "Subscripting is only defined for random access iterators.");
- return ReferenceProxy(static_cast<DerivedT *>(this)->operator+(n));
- }
- ReferenceProxy operator[](DifferenceTypeT n) const {
- static_assert(IsRandomAccess,
- "Subscripting is only defined for random access iterators.");
- return ReferenceProxy(static_cast<const DerivedT *>(this)->operator+(n));
- }
-};
-
-/// \brief CRTP base class for adapting an iterator to a different type.
-///
-/// This class can be used through CRTP to adapt one iterator into another.
-/// Typically this is done through providing in the derived class a custom \c
-/// operator* implementation. Other methods can be overridden as well.
-template <
- typename DerivedT, typename WrappedIteratorT,
- typename IteratorCategoryT =
- typename std::iterator_traits<WrappedIteratorT>::iterator_category,
- typename T = typename std::iterator_traits<WrappedIteratorT>::value_type,
- typename DifferenceTypeT =
- typename std::iterator_traits<WrappedIteratorT>::difference_type,
- typename PointerT = typename std::conditional<
- std::is_same<T, typename std::iterator_traits<
- WrappedIteratorT>::value_type>::value,
- typename std::iterator_traits<WrappedIteratorT>::pointer, T *>::type,
- typename ReferenceT = typename std::conditional<
- std::is_same<T, typename std::iterator_traits<
- WrappedIteratorT>::value_type>::value,
- typename std::iterator_traits<WrappedIteratorT>::reference, T &>::type,
- // Don't provide these, they are mostly to act as aliases below.
- typename WrappedTraitsT = std::iterator_traits<WrappedIteratorT>>
-class iterator_adaptor_base
- : public iterator_facade_base<DerivedT, IteratorCategoryT, T,
- DifferenceTypeT, PointerT, ReferenceT> {
- using BaseT = typename iterator_adaptor_base::iterator_facade_base;
-
-protected:
- WrappedIteratorT I;
-
- iterator_adaptor_base() = default;
-
- explicit iterator_adaptor_base(WrappedIteratorT u) : I(std::move(u)) {
- static_assert(std::is_base_of<iterator_adaptor_base, DerivedT>::value,
- "Must pass the derived type to this template!");
- }
-
- const WrappedIteratorT &wrapped() const { return I; }
-
-public:
- using difference_type = DifferenceTypeT;
-
- DerivedT &operator+=(difference_type n) {
- static_assert(
- BaseT::IsRandomAccess,
- "The '+=' operator is only defined for random access iterators.");
- I += n;
- return *static_cast<DerivedT *>(this);
- }
- DerivedT &operator-=(difference_type n) {
- static_assert(
- BaseT::IsRandomAccess,
- "The '-=' operator is only defined for random access iterators.");
- I -= n;
- return *static_cast<DerivedT *>(this);
- }
- using BaseT::operator-;
- difference_type operator-(const DerivedT &RHS) const {
- static_assert(
- BaseT::IsRandomAccess,
- "The '-' operator is only defined for random access iterators.");
- return I - RHS.I;
- }
-
- // We have to explicitly provide ++ and -- rather than letting the facade
- // forward to += because WrappedIteratorT might not support +=.
- using BaseT::operator++;
- DerivedT &operator++() {
- ++I;
- return *static_cast<DerivedT *>(this);
- }
- using BaseT::operator--;
- DerivedT &operator--() {
- static_assert(
- BaseT::IsBidirectional,
- "The decrement operator is only defined for bidirectional iterators.");
- --I;
- return *static_cast<DerivedT *>(this);
- }
-
- bool operator==(const DerivedT &RHS) const { return I == RHS.I; }
- bool operator<(const DerivedT &RHS) const {
- static_assert(
- BaseT::IsRandomAccess,
- "Relational operators are only defined for random access iterators.");
- return I < RHS.I;
- }
-
- ReferenceT operator*() const { return *I; }
-};
-
-/// \brief An iterator type that allows iterating over the pointees via some
-/// other iterator.
-///
-/// The typical usage of this is to expose a type that iterates over Ts, but
-/// which is implemented with some iterator over T*s:
-///
-/// \code
-/// using iterator = pointee_iterator<SmallVectorImpl<T *>::iterator>;
-/// \endcode
-template <typename WrappedIteratorT,
- typename T = typename std::remove_reference<
- decltype(**std::declval<WrappedIteratorT>())>::type>
-struct pointee_iterator
- : iterator_adaptor_base<
- pointee_iterator<WrappedIteratorT>, WrappedIteratorT,
- typename std::iterator_traits<WrappedIteratorT>::iterator_category,
- T> {
- pointee_iterator() = default;
- template <typename U>
- pointee_iterator(U &&u)
- : pointee_iterator::iterator_adaptor_base(std::forward<U &&>(u)) {}
-
- T &operator*() const { return **this->I; }
-};
-
-template <typename RangeT, typename WrappedIteratorT =
- decltype(std::begin(std::declval<RangeT>()))>
-iterator_range<pointee_iterator<WrappedIteratorT>>
-make_pointee_range(RangeT &&Range) {
- using PointeeIteratorT = pointee_iterator<WrappedIteratorT>;
- return make_range(PointeeIteratorT(std::begin(std::forward<RangeT>(Range))),
- PointeeIteratorT(std::end(std::forward<RangeT>(Range))));
-}
-
-template <typename WrappedIteratorT,
- typename T = decltype(&*std::declval<WrappedIteratorT>())>
-class pointer_iterator
- : public iterator_adaptor_base<pointer_iterator<WrappedIteratorT>,
- WrappedIteratorT, T> {
- mutable T Ptr;
-
-public:
- pointer_iterator() = default;
-
- explicit pointer_iterator(WrappedIteratorT u)
- : pointer_iterator::iterator_adaptor_base(std::move(u)) {}
-
- T &operator*() { return Ptr = &*this->I; }
- const T &operator*() const { return Ptr = &*this->I; }
-};
-
-template <typename RangeT, typename WrappedIteratorT =
- decltype(std::begin(std::declval<RangeT>()))>
-iterator_range<pointer_iterator<WrappedIteratorT>>
-make_pointer_range(RangeT &&Range) {
- using PointerIteratorT = pointer_iterator<WrappedIteratorT>;
- return make_range(PointerIteratorT(std::begin(std::forward<RangeT>(Range))),
- PointerIteratorT(std::end(std::forward<RangeT>(Range))));
-}
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_ITERATOR_H
diff --git a/src/3rdparty/llvm/include/llvm/ADT/iterator_range.h b/src/3rdparty/llvm/include/llvm/ADT/iterator_range.h
deleted file mode 100644
index 3cbf6198eb..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/iterator_range.h
+++ /dev/null
@@ -1,68 +0,0 @@
-//===- iterator_range.h - A range adaptor for iterators ---------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-/// \file
-/// This provides a very simple, boring adaptor for a begin and end iterator
-/// into a range type. This should be used to build range views that work well
-/// with range based for loops and range based constructors.
-///
-/// Note that code here follows more standards-based coding conventions as it
-/// is mirroring proposed interfaces for standardization.
-///
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_ITERATOR_RANGE_H
-#define LLVM_ADT_ITERATOR_RANGE_H
-
-#include <iterator>
-#include <utility>
-
-namespace llvm {
-
-/// \brief A range adaptor for a pair of iterators.
-///
-/// This just wraps two iterators into a range-compatible interface. Nothing
-/// fancy at all.
-template <typename IteratorT>
-class iterator_range {
- IteratorT begin_iterator, end_iterator;
-
-public:
- //TODO: Add SFINAE to test that the Container's iterators match the range's
- // iterators.
- template <typename Container>
- iterator_range(Container &&c)
- //TODO: Consider ADL/non-member begin/end calls.
- : begin_iterator(c.begin()), end_iterator(c.end()) {}
- iterator_range(IteratorT begin_iterator, IteratorT end_iterator)
- : begin_iterator(std::move(begin_iterator)),
- end_iterator(std::move(end_iterator)) {}
-
- IteratorT begin() const { return begin_iterator; }
- IteratorT end() const { return end_iterator; }
-};
-
-/// \brief Convenience function for iterating over sub-ranges.
-///
-/// This provides a bit of syntactic sugar to make using sub-ranges
-/// in for loops a bit easier. Analogous to std::make_pair().
-template <class T> iterator_range<T> make_range(T x, T y) {
- return iterator_range<T>(std::move(x), std::move(y));
-}
-
-template <typename T> iterator_range<T> make_range(std::pair<T, T> p) {
- return iterator_range<T>(std::move(p.first), std::move(p.second));
-}
-
-template<typename T>
-iterator_range<decltype(begin(std::declval<T>()))> drop_begin(T &&t, int n) {
- return make_range(std::next(begin(t), n), end(t));
-}
-}
-
-#endif
diff --git a/src/3rdparty/llvm/include/llvm/ADT/simple_ilist.h b/src/3rdparty/llvm/include/llvm/ADT/simple_ilist.h
deleted file mode 100644
index 4c7598a1ac..0000000000
--- a/src/3rdparty/llvm/include/llvm/ADT/simple_ilist.h
+++ /dev/null
@@ -1,315 +0,0 @@
-//===- llvm/ADT/simple_ilist.h - Simple Intrusive List ----------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_SIMPLE_ILIST_H
-#define LLVM_ADT_SIMPLE_ILIST_H
-
-#include "llvm/ADT/ilist_base.h"
-#include "llvm/ADT/ilist_iterator.h"
-#include "llvm/ADT/ilist_node.h"
-#include "llvm/ADT/ilist_node_options.h"
-#include "llvm/Support/Compiler.h"
-#include <algorithm>
-#include <cassert>
-#include <cstddef>
-#include <functional>
-#include <iterator>
-#include <utility>
-
-namespace llvm {
-
-/// A simple intrusive list implementation.
-///
-/// This is a simple intrusive list for a \c T that inherits from \c
-/// ilist_node<T>. The list never takes ownership of anything inserted in it.
-///
-/// Unlike \a iplist<T> and \a ilist<T>, \a simple_ilist<T> never allocates or
-/// deletes values, and has no callback traits.
-///
-/// The API for adding nodes include \a push_front(), \a push_back(), and \a
-/// insert(). These all take values by reference (not by pointer), except for
-/// the range version of \a insert().
-///
-/// There are three sets of API for discarding nodes from the list: \a
-/// remove(), which takes a reference to the node to remove, \a erase(), which
-/// takes an iterator or iterator range and returns the next one, and \a
-/// clear(), which empties out the container. All three are constant time
-/// operations. None of these deletes any nodes; in particular, if there is a
-/// single node in the list, then these have identical semantics:
-/// \li \c L.remove(L.front());
-/// \li \c L.erase(L.begin());
-/// \li \c L.clear();
-///
-/// As a convenience for callers, there are parallel APIs that take a \c
-/// Disposer (such as \c std::default_delete<T>): \a removeAndDispose(), \a
-/// eraseAndDispose(), and \a clearAndDispose(). These have different names
-/// because the extra semantic is otherwise non-obvious. They are equivalent
-/// to calling \a std::for_each() on the range to be discarded.
-///
-/// The currently available \p Options customize the nodes in the list. The
-/// same options must be specified in the \a ilist_node instantation for
-/// compatibility (although the order is irrelevant).
-/// \li Use \a ilist_tag to designate which ilist_node for a given \p T this
-/// list should use. This is useful if a type \p T is part of multiple,
-/// independent lists simultaneously.
-/// \li Use \a ilist_sentinel_tracking to always (or never) track whether a
-/// node is a sentinel. Specifying \c true enables the \a
-/// ilist_node::isSentinel() API. Unlike \a ilist_node::isKnownSentinel(),
-/// which is only appropriate for assertions, \a ilist_node::isSentinel() is
-/// appropriate for real logic.
-///
-/// Here are examples of \p Options usage:
-/// \li \c simple_ilist<T> gives the defaults. \li \c
-/// simple_ilist<T,ilist_sentinel_tracking<true>> enables the \a
-/// ilist_node::isSentinel() API.
-/// \li \c simple_ilist<T,ilist_tag<A>,ilist_sentinel_tracking<false>>
-/// specifies a tag of A and that tracking should be off (even when
-/// LLVM_ENABLE_ABI_BREAKING_CHECKS are enabled).
-/// \li \c simple_ilist<T,ilist_sentinel_tracking<false>,ilist_tag<A>> is
-/// equivalent to the last.
-///
-/// See \a is_valid_option for steps on adding a new option.
-template <typename T, class... Options>
-class simple_ilist
- : ilist_detail::compute_node_options<T, Options...>::type::list_base_type,
- ilist_detail::SpecificNodeAccess<
- typename ilist_detail::compute_node_options<T, Options...>::type> {
- static_assert(ilist_detail::check_options<Options...>::value,
- "Unrecognized node option!");
- using OptionsT =
- typename ilist_detail::compute_node_options<T, Options...>::type;
- using list_base_type = typename OptionsT::list_base_type;
- ilist_sentinel<OptionsT> Sentinel;
-
-public:
- using value_type = typename OptionsT::value_type;
- using pointer = typename OptionsT::pointer;
- using reference = typename OptionsT::reference;
- using const_pointer = typename OptionsT::const_pointer;
- using const_reference = typename OptionsT::const_reference;
- using iterator = ilist_iterator<OptionsT, false, false>;
- using const_iterator = ilist_iterator<OptionsT, false, true>;
- using reverse_iterator = ilist_iterator<OptionsT, true, false>;
- using const_reverse_iterator = ilist_iterator<OptionsT, true, true>;
- using size_type = size_t;
- using difference_type = ptrdiff_t;
-
- simple_ilist() = default;
- ~simple_ilist() = default;
-
- // No copy constructors.
- simple_ilist(const simple_ilist &) = delete;
- simple_ilist &operator=(const simple_ilist &) = delete;
-
- // Move constructors.
- simple_ilist(simple_ilist &&X) { splice(end(), X); }
- simple_ilist &operator=(simple_ilist &&X) {
- clear();
- splice(end(), X);
- return *this;
- }
-
- iterator begin() { return ++iterator(Sentinel); }
- const_iterator begin() const { return ++const_iterator(Sentinel); }
- iterator end() { return iterator(Sentinel); }
- const_iterator end() const { return const_iterator(Sentinel); }
- reverse_iterator rbegin() { return ++reverse_iterator(Sentinel); }
- const_reverse_iterator rbegin() const {
- return ++const_reverse_iterator(Sentinel);
- }
- reverse_iterator rend() { return reverse_iterator(Sentinel); }
- const_reverse_iterator rend() const {
- return const_reverse_iterator(Sentinel);
- }
-
- /// Check if the list is empty in constant time.
- LLVM_NODISCARD bool empty() const { return Sentinel.empty(); }
-
- /// Calculate the size of the list in linear time.
- LLVM_NODISCARD size_type size() const {
- return std::distance(begin(), end());
- }
-
- reference front() { return *begin(); }
- const_reference front() const { return *begin(); }
- reference back() { return *rbegin(); }
- const_reference back() const { return *rbegin(); }
-
- /// Insert a node at the front; never copies.
- void push_front(reference Node) { insert(begin(), Node); }
-
- /// Insert a node at the back; never copies.
- void push_back(reference Node) { insert(end(), Node); }
-
- /// Remove the node at the front; never deletes.
- void pop_front() { erase(begin()); }
-
- /// Remove the node at the back; never deletes.
- void pop_back() { erase(--end()); }
-
- /// Swap with another list in place using std::swap.
- void swap(simple_ilist &X) { std::swap(*this, X); }
-
- /// Insert a node by reference; never copies.
- iterator insert(iterator I, reference Node) {
- list_base_type::insertBefore(*I.getNodePtr(), *this->getNodePtr(&Node));
- return iterator(&Node);
- }
-
- /// Insert a range of nodes; never copies.
- template <class Iterator>
- void insert(iterator I, Iterator First, Iterator Last) {
- for (; First != Last; ++First)
- insert(I, *First);
- }
-
- /// Clone another list.
- template <class Cloner, class Disposer>
- void cloneFrom(const simple_ilist &L2, Cloner clone, Disposer dispose) {
- clearAndDispose(dispose);
- for (const_reference V : L2)
- push_back(*clone(V));
- }
-
- /// Remove a node by reference; never deletes.
- ///
- /// \see \a erase() for removing by iterator.
- /// \see \a removeAndDispose() if the node should be deleted.
- void remove(reference N) { list_base_type::remove(*this->getNodePtr(&N)); }
-
- /// Remove a node by reference and dispose of it.
- template <class Disposer>
- void removeAndDispose(reference N, Disposer dispose) {
- remove(N);
- dispose(&N);
- }
-
- /// Remove a node by iterator; never deletes.
- ///
- /// \see \a remove() for removing by reference.
- /// \see \a eraseAndDispose() it the node should be deleted.
- iterator erase(iterator I) {
- assert(I != end() && "Cannot remove end of list!");
- remove(*I++);
- return I;
- }
-
- /// Remove a range of nodes; never deletes.
- ///
- /// \see \a eraseAndDispose() if the nodes should be deleted.
- iterator erase(iterator First, iterator Last) {
- list_base_type::removeRange(*First.getNodePtr(), *Last.getNodePtr());
- return Last;
- }
-
- /// Remove a node by iterator and dispose of it.
- template <class Disposer>
- iterator eraseAndDispose(iterator I, Disposer dispose) {
- auto Next = std::next(I);
- erase(I);
- dispose(&*I);
- return Next;
- }
-
- /// Remove a range of nodes and dispose of them.
- template <class Disposer>
- iterator eraseAndDispose(iterator First, iterator Last, Disposer dispose) {
- while (First != Last)
- First = eraseAndDispose(First, dispose);
- return Last;
- }
-
- /// Clear the list; never deletes.
- ///
- /// \see \a clearAndDispose() if the nodes should be deleted.
- void clear() { Sentinel.reset(); }
-
- /// Clear the list and dispose of the nodes.
- template <class Disposer> void clearAndDispose(Disposer dispose) {
- eraseAndDispose(begin(), end(), dispose);
- }
-
- /// Splice in another list.
- void splice(iterator I, simple_ilist &L2) {
- splice(I, L2, L2.begin(), L2.end());
- }
-
- /// Splice in a node from another list.
- void splice(iterator I, simple_ilist &L2, iterator Node) {
- splice(I, L2, Node, std::next(Node));
- }
-
- /// Splice in a range of nodes from another list.
- void splice(iterator I, simple_ilist &, iterator First, iterator Last) {
- list_base_type::transferBefore(*I.getNodePtr(), *First.getNodePtr(),
- *Last.getNodePtr());
- }
-
- /// Merge in another list.
- ///
- /// \pre \c this and \p RHS are sorted.
- ///@{
- void merge(simple_ilist &RHS) { merge(RHS, std::less<T>()); }
- template <class Compare> void merge(simple_ilist &RHS, Compare comp);
- ///@}
-
- /// Sort the list.
- ///@{
- void sort() { sort(std::less<T>()); }
- template <class Compare> void sort(Compare comp);
- ///@}
-};
-
-template <class T, class... Options>
-template <class Compare>
-void simple_ilist<T, Options...>::merge(simple_ilist &RHS, Compare comp) {
- if (this == &RHS || RHS.empty())
- return;
- iterator LI = begin(), LE = end();
- iterator RI = RHS.begin(), RE = RHS.end();
- while (LI != LE) {
- if (comp(*RI, *LI)) {
- // Transfer a run of at least size 1 from RHS to LHS.
- iterator RunStart = RI++;
- RI = std::find_if(RI, RE, [&](reference RV) { return !comp(RV, *LI); });
- splice(LI, RHS, RunStart, RI);
- if (RI == RE)
- return;
- }
- ++LI;
- }
- // Transfer the remaining RHS nodes once LHS is finished.
- splice(LE, RHS, RI, RE);
-}
-
-template <class T, class... Options>
-template <class Compare>
-void simple_ilist<T, Options...>::sort(Compare comp) {
- // Vacuously sorted.
- if (empty() || std::next(begin()) == end())
- return;
-
- // Split the list in the middle.
- iterator Center = begin(), End = begin();
- while (End != end() && ++End != end()) {
- ++Center;
- ++End;
- }
- simple_ilist RHS;
- RHS.splice(RHS.end(), *this, Center, end());
-
- // Sort the sublists and merge back together.
- sort(comp);
- RHS.sort(comp);
- merge(RHS, comp);
-}
-
-} // end namespace llvm
-
-#endif // LLVM_ADT_SIMPLE_ILIST_H
diff --git a/src/3rdparty/llvm/include/llvm/Demangle/Compiler.h b/src/3rdparty/llvm/include/llvm/Demangle/Compiler.h
deleted file mode 100644
index 963482c64f..0000000000
--- a/src/3rdparty/llvm/include/llvm/Demangle/Compiler.h
+++ /dev/null
@@ -1,524 +0,0 @@
-//===-- llvm/Demangle/Compiler.h - Compiler abstraction support -*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines several macros, based on the current compiler. This allows
-// use of compiler-specific features in a way that remains portable.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_SUPPORT_COMPILER_H
-#define LLVM_SUPPORT_COMPILER_H
-
-//#include "llvm/Config/llvm-config.h"
-
-#if defined(_MSC_VER)
-#include <sal.h>
-#endif
-
-#ifndef __has_feature
-# define __has_feature(x) 0
-#endif
-
-#ifndef __has_extension
-# define __has_extension(x) 0
-#endif
-
-#ifndef __has_attribute
-# define __has_attribute(x) 0
-#endif
-
-#ifndef __has_cpp_attribute
-# define __has_cpp_attribute(x) 0
-#endif
-
-#ifndef __has_builtin
-# define __has_builtin(x) 0
-#endif
-
-/// \macro LLVM_GNUC_PREREQ
-/// \brief Extend the default __GNUC_PREREQ even if glibc's features.h isn't
-/// available.
-#ifndef LLVM_GNUC_PREREQ
-# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
-# define LLVM_GNUC_PREREQ(maj, min, patch) \
- ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) + __GNUC_PATCHLEVEL__ >= \
- ((maj) << 20) + ((min) << 10) + (patch))
-# elif defined(__GNUC__) && defined(__GNUC_MINOR__)
-# define LLVM_GNUC_PREREQ(maj, min, patch) \
- ((__GNUC__ << 20) + (__GNUC_MINOR__ << 10) >= ((maj) << 20) + ((min) << 10))
-# else
-# define LLVM_GNUC_PREREQ(maj, min, patch) 0
-# endif
-#endif
-
-/// \macro LLVM_MSC_PREREQ
-/// \brief Is the compiler MSVC of at least the specified version?
-/// The common \param version values to check for are:
-/// * 1900: Microsoft Visual Studio 2015 / 14.0
-#ifdef _MSC_VER
-#define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
-
-// We require at least MSVC 2015.
-#if !LLVM_MSC_PREREQ(1900)
-#error LLVM requires at least MSVC 2015.
-#endif
-
-#else
-#define LLVM_MSC_PREREQ(version) 0
-#endif
-
-/// \brief Does the compiler support ref-qualifiers for *this?
-///
-/// Sadly, this is separate from just rvalue reference support because GCC
-/// and MSVC implemented this later than everything else.
-#if __has_feature(cxx_rvalue_references) || LLVM_GNUC_PREREQ(4, 8, 1)
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
-
-/// Expands to '&' if ref-qualifiers for *this are supported.
-///
-/// This can be used to provide lvalue/rvalue overrides of member functions.
-/// The rvalue override should be guarded by LLVM_HAS_RVALUE_REFERENCE_THIS
-#if LLVM_HAS_RVALUE_REFERENCE_THIS
-#define LLVM_LVALUE_FUNCTION &
-#else
-#define LLVM_LVALUE_FUNCTION
-#endif
-
-/// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
-/// into a shared library, then the class should be private to the library and
-/// not accessible from outside it. Can also be used to mark variables and
-/// functions, making them private to any shared library they are linked into.
-/// On PE/COFF targets, library visibility is the default, so this isn't needed.
-#if (__has_attribute(visibility) || LLVM_GNUC_PREREQ(4, 0, 0)) && \
- !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(LLVM_ON_WIN32)
-#define LLVM_LIBRARY_VISIBILITY __attribute__ ((visibility("hidden")))
-#else
-#define LLVM_LIBRARY_VISIBILITY
-#endif
-
-#if defined(__GNUC__)
-#define LLVM_PREFETCH(addr, rw, locality) __builtin_prefetch(addr, rw, locality)
-#else
-#define LLVM_PREFETCH(addr, rw, locality)
-#endif
-
-#if __has_attribute(used) || LLVM_GNUC_PREREQ(3, 1, 0)
-#define LLVM_ATTRIBUTE_USED __attribute__((__used__))
-#else
-#define LLVM_ATTRIBUTE_USED
-#endif
-
-/// LLVM_NODISCARD - Warn if a type or return value is discarded.
-#if __cplusplus > 201402L && __has_cpp_attribute(nodiscard)
-#define LLVM_NODISCARD [[nodiscard]]
-#elif !__cplusplus
-// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious
-// error when __has_cpp_attribute is given a scoped attribute in C mode.
-#define LLVM_NODISCARD
-#elif __has_cpp_attribute(clang::warn_unused_result)
-#define LLVM_NODISCARD [[clang::warn_unused_result]]
-#else
-#define LLVM_NODISCARD
-#endif
-
-// Some compilers warn about unused functions. When a function is sometimes
-// used or not depending on build settings (e.g. a function only called from
-// within "assert"), this attribute can be used to suppress such warnings.
-//
-// However, it shouldn't be used for unused *variables*, as those have a much
-// more portable solution:
-// (void)unused_var_name;
-// Prefer cast-to-void wherever it is sufficient.
-#if __has_attribute(unused) || LLVM_GNUC_PREREQ(3, 1, 0)
-#define LLVM_ATTRIBUTE_UNUSED __attribute__((__unused__))
-#else
-#define LLVM_ATTRIBUTE_UNUSED
-#endif
-
-// FIXME: Provide this for PE/COFF targets.
-#if (__has_attribute(weak) || LLVM_GNUC_PREREQ(4, 0, 0)) && \
- (!defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(LLVM_ON_WIN32))
-#define LLVM_ATTRIBUTE_WEAK __attribute__((__weak__))
-#else
-#define LLVM_ATTRIBUTE_WEAK
-#endif
-
-// Prior to clang 3.2, clang did not accept any spelling of
-// __has_attribute(const), so assume it is supported.
-#if defined(__clang__) || defined(__GNUC__)
-// aka 'CONST' but following LLVM Conventions.
-#define LLVM_READNONE __attribute__((__const__))
-#else
-#define LLVM_READNONE
-#endif
-
-#if __has_attribute(pure) || defined(__GNUC__)
-// aka 'PURE' but following LLVM Conventions.
-#define LLVM_READONLY __attribute__((__pure__))
-#else
-#define LLVM_READONLY
-#endif
-
-#if __has_builtin(__builtin_expect) || LLVM_GNUC_PREREQ(4, 0, 0)
-#define LLVM_LIKELY(EXPR) __builtin_expect((bool)(EXPR), true)
-#define LLVM_UNLIKELY(EXPR) __builtin_expect((bool)(EXPR), false)
-#else
-#define LLVM_LIKELY(EXPR) (EXPR)
-#define LLVM_UNLIKELY(EXPR) (EXPR)
-#endif
-
-/// LLVM_ATTRIBUTE_NOINLINE - On compilers where we have a directive to do so,
-/// mark a method "not for inlining".
-#if __has_attribute(noinline) || LLVM_GNUC_PREREQ(3, 4, 0)
-#define LLVM_ATTRIBUTE_NOINLINE __attribute__((noinline))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_NOINLINE __declspec(noinline)
-#else
-#define LLVM_ATTRIBUTE_NOINLINE
-#endif
-
-/// LLVM_ATTRIBUTE_ALWAYS_INLINE - On compilers where we have a directive to do
-/// so, mark a method "always inline" because it is performance sensitive. GCC
-/// 3.4 supported this but is buggy in various cases and produces unimplemented
-/// errors, just use it in GCC 4.0 and later.
-#if __has_attribute(always_inline) || LLVM_GNUC_PREREQ(4, 0, 0)
-#define LLVM_ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_ALWAYS_INLINE __forceinline
-#else
-#define LLVM_ATTRIBUTE_ALWAYS_INLINE
-#endif
-
-#ifdef __GNUC__
-#define LLVM_ATTRIBUTE_NORETURN __attribute__((noreturn))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_NORETURN __declspec(noreturn)
-#else
-#define LLVM_ATTRIBUTE_NORETURN
-#endif
-
-#if __has_attribute(returns_nonnull) || LLVM_GNUC_PREREQ(4, 9, 0)
-#define LLVM_ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_RETURNS_NONNULL _Ret_notnull_
-#else
-#define LLVM_ATTRIBUTE_RETURNS_NONNULL
-#endif
-
-/// \macro LLVM_ATTRIBUTE_RETURNS_NOALIAS Used to mark a function as returning a
-/// pointer that does not alias any other valid pointer.
-#ifdef __GNUC__
-#define LLVM_ATTRIBUTE_RETURNS_NOALIAS __attribute__((__malloc__))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_RETURNS_NOALIAS __declspec(restrict)
-#else
-#define LLVM_ATTRIBUTE_RETURNS_NOALIAS
-#endif
-
-/// LLVM_FALLTHROUGH - Mark fallthrough cases in switch statements.
-#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
-#define LLVM_FALLTHROUGH [[fallthrough]]
-#elif __has_cpp_attribute(gnu::fallthrough)
-#define LLVM_FALLTHROUGH [[gnu::fallthrough]]
-#elif !__cplusplus
-// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious
-// error when __has_cpp_attribute is given a scoped attribute in C mode.
-#define LLVM_FALLTHROUGH
-#elif __has_cpp_attribute(clang::fallthrough)
-#define LLVM_FALLTHROUGH [[clang::fallthrough]]
-#else
-#define LLVM_FALLTHROUGH
-#endif
-
-/// LLVM_EXTENSION - Support compilers where we have a keyword to suppress
-/// pedantic diagnostics.
-#ifdef __GNUC__
-#define LLVM_EXTENSION __extension__
-#else
-#define LLVM_EXTENSION
-#endif
-
-// LLVM_ATTRIBUTE_DEPRECATED(decl, "message")
-#if __has_feature(attribute_deprecated_with_message)
-# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
- decl __attribute__((deprecated(message)))
-#elif defined(__GNUC__)
-# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
- decl __attribute__((deprecated))
-#elif defined(_MSC_VER)
-# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
- __declspec(deprecated(message)) decl
-#else
-# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
- decl
-#endif
-
-/// LLVM_BUILTIN_UNREACHABLE - On compilers which support it, expands
-/// to an expression which states that it is undefined behavior for the
-/// compiler to reach this point. Otherwise is not defined.
-#if __has_builtin(__builtin_unreachable) || LLVM_GNUC_PREREQ(4, 5, 0)
-# define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable()
-#elif defined(_MSC_VER)
-# define LLVM_BUILTIN_UNREACHABLE __assume(false)
-#endif
-
-/// LLVM_BUILTIN_TRAP - On compilers which support it, expands to an expression
-/// which causes the program to exit abnormally.
-#if __has_builtin(__builtin_trap) || LLVM_GNUC_PREREQ(4, 3, 0)
-# define LLVM_BUILTIN_TRAP __builtin_trap()
-#elif defined(_MSC_VER)
-// The __debugbreak intrinsic is supported by MSVC, does not require forward
-// declarations involving platform-specific typedefs (unlike RaiseException),
-// results in a call to vectored exception handlers, and encodes to a short
-// instruction that still causes the trapping behavior we want.
-# define LLVM_BUILTIN_TRAP __debugbreak()
-#else
-# define LLVM_BUILTIN_TRAP *(volatile int*)0x11 = 0
-#endif
-
-/// LLVM_BUILTIN_DEBUGTRAP - On compilers which support it, expands to
-/// an expression which causes the program to break while running
-/// under a debugger.
-#if __has_builtin(__builtin_debugtrap)
-# define LLVM_BUILTIN_DEBUGTRAP __builtin_debugtrap()
-#elif defined(_MSC_VER)
-// The __debugbreak intrinsic is supported by MSVC and breaks while
-// running under the debugger, and also supports invoking a debugger
-// when the OS is configured appropriately.
-# define LLVM_BUILTIN_DEBUGTRAP __debugbreak()
-#else
-// Just continue execution when built with compilers that have no
-// support. This is a debugging aid and not intended to force the
-// program to abort if encountered.
-# define LLVM_BUILTIN_DEBUGTRAP
-#endif
-
-/// \macro LLVM_ASSUME_ALIGNED
-/// \brief Returns a pointer with an assumed alignment.
-#if __has_builtin(__builtin_assume_aligned) || LLVM_GNUC_PREREQ(4, 7, 0)
-# define LLVM_ASSUME_ALIGNED(p, a) __builtin_assume_aligned(p, a)
-#elif defined(LLVM_BUILTIN_UNREACHABLE)
-// As of today, clang does not support __builtin_assume_aligned.
-# define LLVM_ASSUME_ALIGNED(p, a) \
- (((uintptr_t(p) % (a)) == 0) ? (p) : (LLVM_BUILTIN_UNREACHABLE, (p)))
-#else
-# define LLVM_ASSUME_ALIGNED(p, a) (p)
-#endif
-
-/// \macro LLVM_ALIGNAS
-/// \brief Used to specify a minimum alignment for a structure or variable.
-#if __GNUC__ && !__has_feature(cxx_alignas) && !LLVM_GNUC_PREREQ(4, 8, 1)
-# define LLVM_ALIGNAS(x) __attribute__((aligned(x)))
-#else
-# define LLVM_ALIGNAS(x) alignas(x)
-#endif
-
-/// \macro LLVM_PACKED
-/// \brief Used to specify a packed structure.
-/// LLVM_PACKED(
-/// struct A {
-/// int i;
-/// int j;
-/// int k;
-/// long long l;
-/// });
-///
-/// LLVM_PACKED_START
-/// struct B {
-/// int i;
-/// int j;
-/// int k;
-/// long long l;
-/// };
-/// LLVM_PACKED_END
-#ifdef _MSC_VER
-# define LLVM_PACKED(d) __pragma(pack(push, 1)) d __pragma(pack(pop))
-# define LLVM_PACKED_START __pragma(pack(push, 1))
-# define LLVM_PACKED_END __pragma(pack(pop))
-#else
-# define LLVM_PACKED(d) d __attribute__((packed))
-# define LLVM_PACKED_START _Pragma("pack(push, 1)")
-# define LLVM_PACKED_END _Pragma("pack(pop)")
-#endif
-
-/// \macro LLVM_PTR_SIZE
-/// \brief A constant integer equivalent to the value of sizeof(void*).
-/// Generally used in combination with LLVM_ALIGNAS or when doing computation in
-/// the preprocessor.
-#ifdef __SIZEOF_POINTER__
-# define LLVM_PTR_SIZE __SIZEOF_POINTER__
-#elif defined(_WIN64)
-# define LLVM_PTR_SIZE 8
-#elif defined(_WIN32)
-# define LLVM_PTR_SIZE 4
-#elif defined(_MSC_VER)
-# error "could not determine LLVM_PTR_SIZE as a constant int for MSVC"
-#else
-# define LLVM_PTR_SIZE sizeof(void *)
-#endif
-
-/// \macro LLVM_MEMORY_SANITIZER_BUILD
-/// \brief Whether LLVM itself is built with MemorySanitizer instrumentation.
-#if __has_feature(memory_sanitizer)
-# define LLVM_MEMORY_SANITIZER_BUILD 1
-# include <sanitizer/msan_interface.h>
-#else
-# define LLVM_MEMORY_SANITIZER_BUILD 0
-# define __msan_allocated_memory(p, size)
-# define __msan_unpoison(p, size)
-#endif
-
-/// \macro LLVM_ADDRESS_SANITIZER_BUILD
-/// \brief Whether LLVM itself is built with AddressSanitizer instrumentation.
-#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
-# define LLVM_ADDRESS_SANITIZER_BUILD 1
-# include <sanitizer/asan_interface.h>
-#else
-# define LLVM_ADDRESS_SANITIZER_BUILD 0
-# define __asan_poison_memory_region(p, size)
-# define __asan_unpoison_memory_region(p, size)
-#endif
-
-/// \macro LLVM_THREAD_SANITIZER_BUILD
-/// \brief Whether LLVM itself is built with ThreadSanitizer instrumentation.
-#if __has_feature(thread_sanitizer) || defined(__SANITIZE_THREAD__)
-# define LLVM_THREAD_SANITIZER_BUILD 1
-#else
-# define LLVM_THREAD_SANITIZER_BUILD 0
-#endif
-
-#if LLVM_THREAD_SANITIZER_BUILD
-// Thread Sanitizer is a tool that finds races in code.
-// See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations .
-// tsan detects these exact functions by name.
-#ifdef __cplusplus
-extern "C" {
-#endif
-void AnnotateHappensAfter(const char *file, int line, const volatile void *cv);
-void AnnotateHappensBefore(const char *file, int line, const volatile void *cv);
-void AnnotateIgnoreWritesBegin(const char *file, int line);
-void AnnotateIgnoreWritesEnd(const char *file, int line);
-#ifdef __cplusplus
-}
-#endif
-
-// This marker is used to define a happens-before arc. The race detector will
-// infer an arc from the begin to the end when they share the same pointer
-// argument.
-# define TsanHappensBefore(cv) AnnotateHappensBefore(__FILE__, __LINE__, cv)
-
-// This marker defines the destination of a happens-before arc.
-# define TsanHappensAfter(cv) AnnotateHappensAfter(__FILE__, __LINE__, cv)
-
-// Ignore any races on writes between here and the next TsanIgnoreWritesEnd.
-# define TsanIgnoreWritesBegin() AnnotateIgnoreWritesBegin(__FILE__, __LINE__)
-
-// Resume checking for racy writes.
-# define TsanIgnoreWritesEnd() AnnotateIgnoreWritesEnd(__FILE__, __LINE__)
-#else
-# define TsanHappensBefore(cv)
-# define TsanHappensAfter(cv)
-# define TsanIgnoreWritesBegin()
-# define TsanIgnoreWritesEnd()
-#endif
-
-/// \macro LLVM_NO_SANITIZE
-/// \brief Disable a particular sanitizer for a function.
-#if __has_attribute(no_sanitize)
-#define LLVM_NO_SANITIZE(KIND) __attribute__((no_sanitize(KIND)))
-#else
-#define LLVM_NO_SANITIZE(KIND)
-#endif
-
-/// \brief Mark debug helper function definitions like dump() that should not be
-/// stripped from debug builds.
-/// Note that you should also surround dump() functions with
-/// `#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)` so they do always
-/// get stripped in release builds.
-// FIXME: Move this to a private config.h as it's not usable in public headers.
-#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-#define LLVM_DUMP_METHOD LLVM_ATTRIBUTE_NOINLINE LLVM_ATTRIBUTE_USED
-#else
-#define LLVM_DUMP_METHOD LLVM_ATTRIBUTE_NOINLINE
-#endif
-
-/// \macro LLVM_PRETTY_FUNCTION
-/// \brief Gets a user-friendly looking function signature for the current scope
-/// using the best available method on each platform. The exact format of the
-/// resulting string is implementation specific and non-portable, so this should
-/// only be used, for example, for logging or diagnostics.
-#if defined(_MSC_VER)
-#define LLVM_PRETTY_FUNCTION __FUNCSIG__
-#elif defined(__GNUC__) || defined(__clang__)
-#define LLVM_PRETTY_FUNCTION __PRETTY_FUNCTION__
-#else
-#define LLVM_PRETTY_FUNCTION __func__
-#endif
-
-/// \macro LLVM_THREAD_LOCAL
-/// \brief A thread-local storage specifier which can be used with globals,
-/// extern globals, and static globals.
-///
-/// This is essentially an extremely restricted analog to C++11's thread_local
-/// support, and uses that when available. However, it falls back on
-/// platform-specific or vendor-provided extensions when necessary. These
-/// extensions don't support many of the C++11 thread_local's features. You
-/// should only use this for PODs that you can statically initialize to
-/// some constant value. In almost all circumstances this is most appropriate
-/// for use with a pointer, integer, or small aggregation of pointers and
-/// integers.
-#if LLVM_ENABLE_THREADS
-#if __has_feature(cxx_thread_local)
-#define LLVM_THREAD_LOCAL thread_local
-#elif defined(_MSC_VER)
-// MSVC supports this with a __declspec.
-#define LLVM_THREAD_LOCAL __declspec(thread)
-#else
-// Clang, GCC, and other compatible compilers used __thread prior to C++11 and
-// we only need the restricted functionality that provides.
-#define LLVM_THREAD_LOCAL __thread
-#endif
-#else // !LLVM_ENABLE_THREADS
-// If threading is disabled entirely, this compiles to nothing and you get
-// a normal global variable.
-#define LLVM_THREAD_LOCAL
-#endif
-
-/// \macro LLVM_ENABLE_EXCEPTIONS
-/// \brief Whether LLVM is built with exception support.
-#if __has_feature(cxx_exceptions)
-#define LLVM_ENABLE_EXCEPTIONS 1
-#elif defined(__GNUC__) && defined(__EXCEPTIONS)
-#define LLVM_ENABLE_EXCEPTIONS 1
-#elif defined(_MSC_VER) && defined(_CPPUNWIND)
-#define LLVM_ENABLE_EXCEPTIONS 1
-#endif
-
-/// \macro LLVM_PLUGIN_IMPORT
-/// \brief Used to import the well-known entry point for registering loaded pass
-/// plugins
-#ifdef WIN32
-#define LLVM_PLUGIN_IMPORT __declspec(dllimport)
-#else
-#define LLVM_PLUGIN_IMPORT
-#endif
-
-/// \macro LLVM_PLUGIN_EXPORT
-/// \brief Used to export the well-known entry point for registering loaded pass
-/// plugins
-#ifdef WIN32
-#define LLVM_PLUGIN_EXPORT __declspec(dllexport)
-#else
-#define LLVM_PLUGIN_EXPORT
-#endif
-
-#endif
diff --git a/src/3rdparty/llvm/include/llvm/Support/Compiler.h b/src/3rdparty/llvm/include/llvm/Support/Compiler.h
deleted file mode 100644
index 43a96e49ce..0000000000
--- a/src/3rdparty/llvm/include/llvm/Support/Compiler.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//===-- llvm/Support/Compiler.h - Compiler abstraction support --*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Due to layering constraints (Support depends on Demangler) this is a thin
-// wrapper around the implementation that lives in llvm-c, though most clients
-// can/should think of this as being provided by Support for simplicity (not
-// many clients are aware of their dependency on Demangler/it's a weird place to
-// own this - but didn't seem to justify splitting Support into "lower support"
-// and "upper support").
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Demangle/Compiler.h"
diff --git a/src/3rdparty/llvm/include/llvm/Support/DataTypes.h b/src/3rdparty/llvm/include/llvm/Support/DataTypes.h
deleted file mode 100644
index ad60a5b3f3..0000000000
--- a/src/3rdparty/llvm/include/llvm/Support/DataTypes.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//===-- llvm/Support/DataTypes.h - Define fixed size types ------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Due to layering constraints (Support depends on llvm-c) this is a thin
-// wrapper around the implementation that lives in llvm-c, though most clients
-// can/should think of this as being provided by Support for simplicity (not
-// many clients are aware of their dependency on llvm-c).
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm-c/DataTypes.h"
diff --git a/src/3rdparty/llvm/include/llvm/Support/PointerLikeTypeTraits.h b/src/3rdparty/llvm/include/llvm/Support/PointerLikeTypeTraits.h
deleted file mode 100644
index 794230d606..0000000000
--- a/src/3rdparty/llvm/include/llvm/Support/PointerLikeTypeTraits.h
+++ /dev/null
@@ -1,116 +0,0 @@
-//===- llvm/Support/PointerLikeTypeTraits.h - Pointer Traits ----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the PointerLikeTypeTraits class. This allows data
-// structures to reason about pointers and other things that are pointer sized.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
-#define LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
-
-#include "llvm/Support/DataTypes.h"
-#include <type_traits>
-
-namespace llvm {
-
-/// A traits type that is used to handle pointer types and things that are just
-/// wrappers for pointers as a uniform entity.
-template <typename T> struct PointerLikeTypeTraits;
-
-namespace detail {
-/// A tiny meta function to compute the log2 of a compile time constant.
-template <size_t N>
-struct ConstantLog2
- : std::integral_constant<size_t, ConstantLog2<N / 2>::value + 1> {};
-template <> struct ConstantLog2<1> : std::integral_constant<size_t, 0> {};
-
-// Provide a trait to check if T is pointer-like.
-template <typename T, typename U = void> struct HasPointerLikeTypeTraits {
- static const bool value = false;
-};
-
-// sizeof(T) is valid only for a complete T.
-template <typename T> struct HasPointerLikeTypeTraits<
- T, decltype((sizeof(PointerLikeTypeTraits<T>) + sizeof(T)), void())> {
- static const bool value = true;
-};
-
-template <typename T> struct IsPointerLike {
- static const bool value = HasPointerLikeTypeTraits<T>::value;
-};
-
-template <typename T> struct IsPointerLike<T *> {
- static const bool value = true;
-};
-} // namespace detail
-
-// Provide PointerLikeTypeTraits for non-cvr pointers.
-template <typename T> struct PointerLikeTypeTraits<T *> {
- static inline void *getAsVoidPointer(T *P) { return P; }
- static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
-
- enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
-};
-
-template <> struct PointerLikeTypeTraits<void *> {
- static inline void *getAsVoidPointer(void *P) { return P; }
- static inline void *getFromVoidPointer(void *P) { return P; }
-
- /// Note, we assume here that void* is related to raw malloc'ed memory and
- /// that malloc returns objects at least 4-byte aligned. However, this may be
- /// wrong, or pointers may be from something other than malloc. In this case,
- /// you should specify a real typed pointer or avoid this template.
- ///
- /// All clients should use assertions to do a run-time check to ensure that
- /// this is actually true.
- enum { NumLowBitsAvailable = 2 };
-};
-
-// Provide PointerLikeTypeTraits for const things.
-template <typename T> struct PointerLikeTypeTraits<const T> {
- typedef PointerLikeTypeTraits<T> NonConst;
-
- static inline const void *getAsVoidPointer(const T P) {
- return NonConst::getAsVoidPointer(P);
- }
- static inline const T getFromVoidPointer(const void *P) {
- return NonConst::getFromVoidPointer(const_cast<void *>(P));
- }
- enum { NumLowBitsAvailable = NonConst::NumLowBitsAvailable };
-};
-
-// Provide PointerLikeTypeTraits for const pointers.
-template <typename T> struct PointerLikeTypeTraits<const T *> {
- typedef PointerLikeTypeTraits<T *> NonConst;
-
- static inline const void *getAsVoidPointer(const T *P) {
- return NonConst::getAsVoidPointer(const_cast<T *>(P));
- }
- static inline const T *getFromVoidPointer(const void *P) {
- return NonConst::getFromVoidPointer(const_cast<void *>(P));
- }
- enum { NumLowBitsAvailable = NonConst::NumLowBitsAvailable };
-};
-
-// Provide PointerLikeTypeTraits for uintptr_t.
-template <> struct PointerLikeTypeTraits<uintptr_t> {
- static inline void *getAsVoidPointer(uintptr_t P) {
- return reinterpret_cast<void *>(P);
- }
- static inline uintptr_t getFromVoidPointer(void *P) {
- return reinterpret_cast<uintptr_t>(P);
- }
- // No bits are available!
- enum { NumLowBitsAvailable = 0 };
-};
-
-} // end namespace llvm
-
-#endif
diff --git a/src/3rdparty/llvm/llvm.pri b/src/3rdparty/llvm/llvm.pri
deleted file mode 100644
index 6b3b0689ec..0000000000
--- a/src/3rdparty/llvm/llvm.pri
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDEPATH += $$PWD/include
-
-HEADERS += \
- $$PWD/include/llvm/ADT/ilist_node.h \
- $$PWD/include/llvm/ADT/iterator_range.h \
- $$PWD/include/llvm/ADT/simple_ilist.h \
- $$PWD/include/llvm/ADT/ilist_base.h \
- $$PWD/include/llvm/ADT/ilist_node_options.h \
- $$PWD/include/llvm/ADT/ilist_iterator.h \
- $$PWD/include/llvm/ADT/ilist_node_base.h \
- $$PWD/include/llvm/ADT/PointerIntPair.h \
- $$PWD/include/llvm/ADT/iterator.h \
- $$PWD/include/llvm/ADT/ilist.h \
- $$PWD/include/llvm/Demangle/Compiler.h \
- $$PWD/include/llvm/Support/Compiler.h \
- $$PWD/include/llvm/Support/PointerLikeTypeTraits.h \
- $$PWD/include/llvm/Support/DataTypes.h \
- $$PWD/include/llvm-c/DataTypes.h
diff --git a/src/3rdparty/llvm/qt_attribution.json b/src/3rdparty/llvm/qt_attribution.json
deleted file mode 100644
index 5924f16ac3..0000000000
--- a/src/3rdparty/llvm/qt_attribution.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "Id": "llvm-adt",
- "Name": "LLVM: ADT",
- "QDocModule": "qtqml",
- "QtUsage": "An intrusively linked list, used in the tracing JIT to hold lists of instructions",
-
- "Path": "src/3rdparty/llvm",
- "License": "UIUC 3-clause \"New\" or \"Revised\" License",
- "LicenseId": "BSD-3-Clause",
- "LicenseFile": "LICENSE.TXT",
- "Copyright": "Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign."
- }
-]
diff --git a/src/3rdparty/masm/assembler/LinkBuffer.h b/src/3rdparty/masm/assembler/LinkBuffer.h
index 8e9a3d9c7a..632d1fdbc4 100644
--- a/src/3rdparty/masm/assembler/LinkBuffer.h
+++ b/src/3rdparty/masm/assembler/LinkBuffer.h
@@ -315,13 +315,12 @@ inline typename LinkBufferBase<MacroAssembler, ExecutableOffsetCalculator>::Code
va_start(argList, format);
WTF::dataLogFV(format, argList);
va_end(argList);
- dataLogF(":\n");
dataLogF(
#if OS(WINDOWS)
- " Code at [0x%p, 0x%p):\n",
+ ": Code at [0x%p, 0x%p):",
#else
- " Code at [%p, %p):\n",
+ ": Code at [%p, %p):",
#endif
result.code().executableAddress(), static_cast<char*>(result.code().executableAddress()) + result.size());
disassemble(result.code(), m_size, " ", WTF::dataFile());
diff --git a/src/3rdparty/masm/disassembler/Disassembler.cpp b/src/3rdparty/masm/disassembler/Disassembler.cpp
index 3fed2cdab8..50fe2e23d5 100644
--- a/src/3rdparty/masm/disassembler/Disassembler.cpp
+++ b/src/3rdparty/masm/disassembler/Disassembler.cpp
@@ -36,7 +36,7 @@ void disassemble(const MacroAssemblerCodePtr& codePtr, size_t size, const char*
if (tryToDisassemble(codePtr, size, prefix, out))
return;
- out.printf("%sdisassembly not available for range %p...%p\n", prefix, codePtr.executableAddress(), static_cast<char*>(codePtr.executableAddress()) + size);
+ out.printf("%sdisassembly not available for range %p...%p", prefix, codePtr.executableAddress(), static_cast<char*>(codePtr.executableAddress()) + size);
}
} // namespace JSC
diff --git a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
index f5acfd86b7..26c6d4032f 100644
--- a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
+++ b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
@@ -107,7 +107,7 @@ void QQuickFolderListModelPrivate::updateSorting()
{
Q_Q(QQuickFolderListModel);
- QDir::SortFlags flags = nullptr;
+ QDir::SortFlags flags;
switch (sortField) {
case QQuickFolderListModel::Unsorted:
diff --git a/src/imports/labsmodels/plugin.cpp b/src/imports/labsmodels/plugin.cpp
index f1d1dd20b0..8458133c79 100644
--- a/src/imports/labsmodels/plugin.cpp
+++ b/src/imports/labsmodels/plugin.cpp
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
\qmlmodule Qt.labs.qmlmodels 1.0
\title Qt QML Models experimental QML Types
\ingroup qmlmodules
- \brief Provides QML experimental types for data models
+ \brief Provides QML experimental types for data models.
\since 5.12
This QML module contains experimental QML types related to data models.
diff --git a/src/imports/layouts/qquickgridlayoutengine.cpp b/src/imports/layouts/qquickgridlayoutengine.cpp
index 6004bb92ca..5275d70c39 100644
--- a/src/imports/layouts/qquickgridlayoutengine.cpp
+++ b/src/imports/layouts/qquickgridlayoutengine.cpp
@@ -55,7 +55,7 @@ Qt::Alignment QQuickGridLayoutEngine::alignment(QQuickItem *quickItem) const
{
if (QGridLayoutItem *item = findLayoutItem(quickItem))
return item->alignment();
- return nullptr;
+ return {};
}
QT_END_NAMESPACE
diff --git a/src/imports/layouts/qquickgridlayoutengine_p.h b/src/imports/layouts/qquickgridlayoutengine_p.h
index 2810e2e5d0..c53be89477 100644
--- a/src/imports/layouts/qquickgridlayoutengine_p.h
+++ b/src/imports/layouts/qquickgridlayoutengine_p.h
@@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE
class QQuickGridLayoutItem : public QGridLayoutItem {
public:
QQuickGridLayoutItem(QQuickItem *item, int row, int column,
- int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = 0)
+ int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = { })
: QGridLayoutItem(row, column, rowSpan, columnSpan, alignment), m_item(item), sizeHintCacheDirty(true), useFallbackToWidthOrHeight(true) {}
diff --git a/src/imports/layouts/qquicklayout.cpp b/src/imports/layouts/qquicklayout.cpp
index 450cf26cea..1ca4056ba9 100644
--- a/src/imports/layouts/qquicklayout.cpp
+++ b/src/imports/layouts/qquicklayout.cpp
@@ -117,8 +117,7 @@ QQuickLayoutAttached::QQuickLayoutAttached(QObject *parent)
m_isLeftMarginSet(false),
m_isTopMarginSet(false),
m_isRightMarginSet(false),
- m_isBottomMarginSet(false),
- m_alignment(nullptr)
+ m_isBottomMarginSet(false)
{
}
diff --git a/src/imports/layouts/qquicklinearlayout.cpp b/src/imports/layouts/qquicklinearlayout.cpp
index c6c9685ae2..344ea7237c 100644
--- a/src/imports/layouts/qquicklinearlayout.cpp
+++ b/src/imports/layouts/qquicklinearlayout.cpp
@@ -645,6 +645,7 @@ void QQuickGridLayout::insertLayoutItems()
int &nextColumn = nextCellPos[0];
int &nextRow = nextCellPos[1];
+ const QSize gridSize(columns(), rows());
const int flowOrientation = flow();
int &flowColumn = nextCellPos[flowOrientation];
int &flowRow = nextCellPos[1 - flowOrientation];
@@ -664,7 +665,7 @@ void QQuickGridLayout::insertLayoutItems()
if (shouldIgnoreItem(child, info, sizeHints))
continue;
- Qt::Alignment alignment = nullptr;
+ Qt::Alignment alignment;
int row = -1;
int column = -1;
int span[2] = {1,1};
@@ -677,8 +678,21 @@ void QQuickGridLayout::insertLayoutItems()
// the unspecified component of the cell position should default to 0
// The getters do this for us, as they will return 0 for an
// unset (or negative) value.
- row = info->row();
- column = info->column();
+ // In addition, if \a rows is less than Layout.row, treat Layout.row as if it was not set
+ // This will basically make it find the next available cell (potentially wrapping to
+ // the next line). Likewise for an invalid Layout.column
+
+ if (gridSize.height() >= 0 && row >= gridSize.height()) {
+ qmlWarning(child) << QString::fromLatin1("Layout: row (%1) should be less than the number of rows (%2)").arg(info->row()).arg(rows());
+ } else {
+ row = info->row();
+ }
+
+ if (gridSize.width() >= 0 && info->column() >= gridSize.width()) {
+ qmlWarning(child) << QString::fromLatin1("Layout: column (%1) should be less than the number of columns (%2)").arg(info->column()).arg(columns());
+ } else {
+ column = info->column();
+ }
}
rowSpan = info->rowSpan();
columnSpan = info->columnSpan();
@@ -840,7 +854,7 @@ void QQuickLinearLayout::insertLayoutItems()
if (shouldIgnoreItem(child, info, sizeHints))
continue;
- Qt::Alignment alignment = nullptr;
+ Qt::Alignment alignment;
if (info)
alignment = info->alignment();
diff --git a/src/imports/models/plugin.cpp b/src/imports/models/plugin.cpp
index fd99f243b0..9c1c42a63a 100644
--- a/src/imports/models/plugin.cpp
+++ b/src/imports/models/plugin.cpp
@@ -59,8 +59,23 @@ QT_BEGIN_NAMESPACE
import QtQml.Models 2.\1
\endqml
- Note that QtQml.Models module started at version 2.1 to match the version
+ \note QtQml.Models module started at version 2.1 to match the version
of the parent module, \l{Qt QML}.
+
+ In addition, Qt.labs.qmlmodels provides experimental QML types for models.
+ To use these experimental types, import the module with the following line:
+
+ \qml
+ import Qt.labs.qmlmodels 1.0
+ \endqml
+
+ \section1 QML Types
+ \generatelist qmltypesbymodule QtQml.Models
+
+ \section1 Experimental QML Types
+ \generatelist qmltypesbymodule Qt.labs.qmlmodels
+
+ \noautolist
*/
diff --git a/src/imports/testlib/TestCase.qml b/src/imports/testlib/TestCase.qml
index 6e075d8792..20c5ce6418 100644
--- a/src/imports/testlib/TestCase.qml
+++ b/src/imports/testlib/TestCase.qml
@@ -1417,19 +1417,23 @@ Item {
// Divide dx and dy to have intermediate mouseMove while dragging
// Fractions of dx/dy need be superior to the dragThreshold
// to make the drag works though
- var ddx = Math.round(dx/3)
- if (ddx < (util.dragThreshold + 1))
- ddx = 0
- var ddy = Math.round(dy/3)
- if (ddy < (util.dragThreshold + 1))
- ddy = 0
+ var intermediateDx = Math.round(dx/3)
+ if (Math.abs(intermediateDx) < (util.dragThreshold + 1))
+ intermediateDx = 0
+ var intermediateDy = Math.round(dy/3)
+ if (Math.abs(intermediateDy) < (util.dragThreshold + 1))
+ intermediateDy = 0
mousePress(item, x, y, button, modifiers, delay)
- //trigger dragging
- mouseMove(item, x + util.dragThreshold + 1, y + util.dragThreshold + 1, moveDelay, button)
- if (ddx > 0 || ddy > 0) {
- mouseMove(item, x + ddx, y + ddy, moveDelay, button)
- mouseMove(item, x + 2*ddx, y + 2*ddy, moveDelay, button)
+
+ // Trigger dragging by dragging past the drag threshold, but making sure to only drag
+ // along a certain axis if a distance greater than zero was given for that axis.
+ var dragTriggerXDistance = dx > 0 ? (util.dragThreshold + 1) : 0
+ var dragTriggerYDistance = dy > 0 ? (util.dragThreshold + 1) : 0
+ mouseMove(item, x + dragTriggerXDistance, y + dragTriggerYDistance, moveDelay, button)
+ if (intermediateDx !== 0 || intermediateDy !== 0) {
+ mouseMove(item, x + intermediateDx, y + intermediateDy, moveDelay, button)
+ mouseMove(item, x + 2*intermediateDx, y + 2*intermediateDy, moveDelay, button)
}
mouseMove(item, x + dx, y + dy, moveDelay, button)
mouseRelease(item, x + dx, y + dy, button, modifiers, delay)
diff --git a/src/particles/qquickparticleextruder.cpp b/src/particles/qquickparticleextruder.cpp
index f56e288e09..ea64a79563 100644
--- a/src/particles/qquickparticleextruder.cpp
+++ b/src/particles/qquickparticleextruder.cpp
@@ -43,7 +43,7 @@
QT_BEGIN_NAMESPACE
/*!
- \qmltype Shape
+ \qmltype ParticleExtruder
\instantiates QQuickParticleExtruder
\inqmlmodule QtQuick.Particles
\brief For specifying an area for affectors and emitters.
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp
index 14ffc67324..158aede727 100644
--- a/src/particles/qquickparticlesystem.cpp
+++ b/src/particles/qquickparticlesystem.cpp
@@ -389,16 +389,21 @@ QQuickParticleData* QQuickParticleGroupData::newDatum(bool respectsLimits)
bool QQuickParticleGroupData::recycle()
{
+ m_latestAliveParticles.clear();
+
while (dataHeap.top() <= m_system->timeInt) {
foreach (QQuickParticleData* datum, dataHeap.pop()) {
if (!datum->stillAlive(m_system)) {
freeList.free(datum->index);
} else {
- prepareRecycler(datum); //ttl has been altered mid-way, put it back
+ m_latestAliveParticles.push_back(datum);
}
}
}
+ for (auto particle : m_latestAliveParticles)
+ prepareRecycler(particle); //ttl has been altered mid-way, put it back
+
//TODO: If the data is clear, gc (consider shrinking stack size)?
return freeList.count() == 0;
}
diff --git a/src/particles/qquickparticlesystem_p.h b/src/particles/qquickparticlesystem_p.h
index dd721a7164..7c0a1ffd7d 100644
--- a/src/particles/qquickparticlesystem_p.h
+++ b/src/particles/qquickparticlesystem_p.h
@@ -227,6 +227,8 @@ public:
private:
int m_size;
QQuickParticleSystem* m_system;
+ // Only used in recycle() for tracking of alive particles after latest recycling round
+ QVector<QQuickParticleData*> m_latestAliveParticles;
};
struct Color4ub {
diff --git a/src/particles/shaders_ng/imageparticle_colored.frag.qsb b/src/particles/shaders_ng/imageparticle_colored.frag.qsb
index 7ae640d224..aa6ae5c6bc 100644
--- a/src/particles/shaders_ng/imageparticle_colored.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_colored.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_colored.vert.qsb b/src/particles/shaders_ng/imageparticle_colored.vert.qsb
index 0e2938b72c..a07c8d0e79 100644
--- a/src/particles/shaders_ng/imageparticle_colored.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_colored.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
index fa9d9d35bb..1f4a08fe48 100644
--- a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
index 65092d5b26..6a2048c5bf 100644
--- a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simple.frag.qsb b/src/particles/shaders_ng/imageparticle_simple.frag.qsb
index a5874cba24..f580048e71 100644
--- a/src/particles/shaders_ng/imageparticle_simple.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_simple.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simple.vert.qsb b/src/particles/shaders_ng/imageparticle_simple.vert.qsb
index da815d7e19..6735e1ae38 100644
--- a/src/particles/shaders_ng/imageparticle_simple.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_simple.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
index 778550344b..01806a3c54 100644
--- a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
index 45b21ace8a..6d8c1852f5 100644
--- a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
index c5dcc2c68f..630fb064ac 100644
--- a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
index ea42607570..af0f475bb8 100644
--- a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
Binary files differ
diff --git a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewfileengine.cpp b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewfileengine.cpp
index 72de52bbe1..5e78539155 100644
--- a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewfileengine.cpp
+++ b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewfileengine.cpp
@@ -195,7 +195,7 @@ QAbstractFileEngine::FileFlags QQmlPreviewFileEngine::fileFlags(
if (m_fallback)
return m_fallback->fileFlags(type);
- QAbstractFileEngine::FileFlags ret = 0;
+ QAbstractFileEngine::FileFlags ret;
if (type & PermsMask) {
ret |= QAbstractFileEngine::FileFlags(
diff --git a/src/plugins/scenegraph/d3d12/qsgd3d12engine_p.h b/src/plugins/scenegraph/d3d12/qsgd3d12engine_p.h
index b30994fe0d..b80de28bed 100644
--- a/src/plugins/scenegraph/d3d12/qsgd3d12engine_p.h
+++ b/src/plugins/scenegraph/d3d12/qsgd3d12engine_p.h
@@ -363,8 +363,8 @@ public:
uint genTexture();
void createTexture(uint id, const QSize &size, QImage::Format format, TextureCreateFlags flags);
void queueTextureResize(uint id, const QSize &size);
- void queueTextureUpload(uint id, const QImage &image, const QPoint &dstPos = QPoint(), TextureUploadFlags flags = 0);
- void queueTextureUpload(uint id, const QVector<QImage> &images, const QVector<QPoint> &dstPos, TextureUploadFlags flags = 0);
+ void queueTextureUpload(uint id, const QImage &image, const QPoint &dstPos = QPoint(), TextureUploadFlags flags = { });
+ void queueTextureUpload(uint id, const QVector<QImage> &images, const QVector<QPoint> &dstPos, TextureUploadFlags flags = { });
void releaseTexture(uint id);
void useTexture(uint id);
diff --git a/src/qml/common/qv4compileddata_p.h b/src/qml/common/qv4compileddata_p.h
index 7abf530996..5e30db8a89 100644
--- a/src/qml/common/qv4compileddata_p.h
+++ b/src/qml/common/qv4compileddata_p.h
@@ -76,7 +76,7 @@ QT_BEGIN_NAMESPACE
// Also change the comment behind the number to describe the latest change. This has the added
// benefit that if another patch changes the version too, it will result in a merge conflict, and
// not get removed silently.
-#define QV4_DATA_STRUCTURE_VERSION 0x26// support required properties
+#define QV4_DATA_STRUCTURE_VERSION 0x27 // resolved merge
class QIODevice;
class QQmlTypeNameCache;
@@ -304,13 +304,15 @@ struct Function
quint16_le nLineNumbers;
size_t lineNumberOffset() const { return localsOffset + nLocals * sizeof(quint32); }
quint32_le nestedFunctionIndex; // for functions that only return a single closure, used in signal handlers
+
+ quint32_le nRegisters;
+ Location location;
+ quint32_le nLabelInfos;
+
quint16_le sizeOfLocalTemporalDeadZone;
quint16_le firstTemporalDeadZoneRegister;
quint16_le sizeOfRegisterTemporalDeadZone;
- quint16_le nRegisters;
- Location location;
- quint32_le nLabelInfos;
size_t labelInfosOffset() const { return lineNumberOffset() + nLineNumbers * sizeof(CodeOffsetToLine); }
// Keep all unaligned data at the end
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp
index c43ea64e2e..d61456f38d 100644
--- a/src/qml/compiler/qv4codegen.cpp
+++ b/src/qml/compiler/qv4codegen.cpp
@@ -1371,6 +1371,40 @@ bool Codegen::visit(BinaryExpression *ast)
setExprResult(Reference::fromAccumulator(this));
}
return false;
+ } else if (ast->op == QSOperator::Coalesce) {
+
+ Reference left = expression(ast->left);
+ if (hasError())
+ return false;
+
+ BytecodeGenerator::Label iftrue = bytecodeGenerator->newLabel();
+ BytecodeGenerator::Label iffalse = bytecodeGenerator->newLabel();
+
+ Instruction::CmpNeNull cmp;
+
+ left = left.storeOnStack();
+ left.loadInAccumulator();
+ bytecodeGenerator->addInstruction(cmp);
+
+ bytecodeGenerator->jumpTrue().link(iftrue);
+ bytecodeGenerator->jumpFalse().link(iffalse);
+
+ blockTailCalls.unblock();
+
+ iftrue.link();
+
+ left.loadInAccumulator();
+
+ BytecodeGenerator::Jump jump_endif = bytecodeGenerator->jump();
+
+ iffalse.link();
+
+ Reference right = expression(ast->right);
+ right.loadInAccumulator();
+ jump_endif.link();
+ setExprResult(Reference::fromAccumulator(this));
+
+ return false;
} else if (ast->op == QSOperator::Assign) {
if (AST::Pattern *p = ast->left->patternCast()) {
RegisterScope scope(this);
@@ -1497,7 +1531,9 @@ bool Codegen::visit(BinaryExpression *ast)
break;
}
-
+ case QSOperator::As:
+ setExprResult(left);
+ break;
} // switch
return false;
diff --git a/src/qml/doc/qtqml.qdocconf b/src/qml/doc/qtqml.qdocconf
index 74d0a3b27c..07ab974289 100644
--- a/src/qml/doc/qtqml.qdocconf
+++ b/src/qml/doc/qtqml.qdocconf
@@ -34,20 +34,14 @@ qhp.QtQml.subprojects.qmltypes.sortPages = true
tagfile = ../../../doc/qtqml/qtqml.tags
-depends += qtcore qtgui qtquick qtdoc qtlinguist qmake qtscript qtwidgets qtxmlpatterns qtquickcontrols
+depends += qtcore qtqmlmodels qtqmlworkerscript qtgui qtquick qtdoc qtlinguist qmake qtscript qtwidgets qtxmlpatterns qtquickcontrols
headerdirs += .. \
- ../../imports/models \
- ../../qmlmodels \
- ../../qml \
- ../../qmlworkerscript
+ ../../qml
sourcedirs += .. \
- ../../imports/models \
../../imports/statemachine \
- ../../qmlmodels \
- ../../qml \
- ../../qmlworkerscript
+ ../../qml
exampledirs += ../../../examples/qml \
../ \
diff --git a/src/qml/doc/src/cppintegration/data.qdoc b/src/qml/doc/src/cppintegration/data.qdoc
index 171b2b6a11..6bf7dbfb8f 100644
--- a/src/qml/doc/src/cppintegration/data.qdoc
+++ b/src/qml/doc/src/cppintegration/data.qdoc
@@ -308,6 +308,11 @@ In both the Q_PROPERTY and return from Q_INVOKABLE cases, the elements
of a std::vector are copied. This copying may be an expensive operation,
so std::vector should be used judiciously.
+You can also create a list-like data structure by constructing a QJSValue using
+QJSEngine::newArray(). Such a JavaScript array does not need any conversion
+when passing it between QML and C++. See \l{QJSValue#Working With Arrays} for
+details on how to manipulate JavaScript arrays from C++.
+
Other sequence types are not supported transparently, and instead an
instance of any other sequence type will be passed between QML and C++ as an
opaque QVariantList.
diff --git a/src/qml/doc/src/qmldiskcache.qdoc b/src/qml/doc/src/qmldiskcache.qdoc
new file mode 100644
index 0000000000..a32adf37c8
--- /dev/null
+++ b/src/qml/doc/src/qmldiskcache.qdoc
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page qmldiskcache.html
+\title The QML Disk Cache
+\brief QML caches compiled documents on disk to improve load time.
+
+When your application loads a QML or JavaScript file for the first time,
+the QML engine compiles the file into a byte code representation on the
+fly and runs it. The compiling process can be time consuming, and subsequent
+loads of the same document yield the same result. To optimize this step, the
+QML engine can cache the result. It stores the byte code in a cache file and
+later loads the cache file instead of re-compiling when the same file is
+requested again. Usually the files are stored in a subdirectory \c{qmlcache}
+of the system's cache directory, as denoted by QStandardPaths::CacheLocation.
+Checks are in place to make sure that the cache files are only loaded if all
+of the following conditions are met:
+\list
+ \li The Qt version has not changed
+ \li The source code in the original file has not changed
+ \li The QML debugger is not running
+\endlist
+
+The disk caching behavior can be fine tuned using the following environment
+variables:
+
+\table
+ \header
+ \li Environment Variable
+ \li Description
+ \row
+ \li \c{QML_DISABLE_DISK_CACHE}
+ \li Disables the disk cache and forces re-compilation from source for
+ all QML and JavaScript files.
+ \row
+ \li \c{QML_FORCE_DISK_CACHE}
+ \li Enables the disk cache even when debugging QML. You cannot use the
+ JavaScript debugger this way. It may fail to stop at breakpoints,
+ for example. You can still use the QML inspector to explore the
+ object hierarchy, though. \c{QML_FORCE_DISK_CACHE} overrides
+ \c{QML_DISABLE_DISK_CACHE}.
+ \row
+ \li \c{QML_DISK_CACHE_PATH}
+ \li Specifies a custom location where the cache files shall be stored
+ instead of using the default location.
+
+You can also specify \c{CONFIG += qtquickcompiler} in your \c{.pro} file
+to perform the compilation ahead of time and integrate the resulting byte code
+directly into your executable. For more information, see \l{Qt Quick Compiler}.
+
+*/
diff --git a/src/qml/doc/src/qmlfunctions.qdoc b/src/qml/doc/src/qmlfunctions.qdoc
index b2d322465d..67c0f6bb25 100644
--- a/src/qml/doc/src/qmlfunctions.qdoc
+++ b/src/qml/doc/src/qmlfunctions.qdoc
@@ -275,6 +275,7 @@
/*!
\fn int qmlRegisterAnonymousType(const char *uri, int versionMajor)
+ \relates QQmlEngine
This template function registers the C++ type in the QML system as an anonymous type. The
resulting QML type does not have a name. Therefore, instances of this type cannot be created from
diff --git a/src/qml/doc/src/qtqml.qdoc b/src/qml/doc/src/qtqml.qdoc
index 68d2b66950..205cbc147d 100644
--- a/src/qml/doc/src/qtqml.qdoc
+++ b/src/qml/doc/src/qtqml.qdoc
@@ -155,6 +155,8 @@ Further information for writing QML applications:
- essential information for application development with QML and Qt Quick
\li \l{Qt Quick} - a module which provides a set of QML types and C++ classes
for building user interfaces and applications with QML
+\li \l{The QML Disk Cache}
+ - how to fine tune if and where the QML engine caches compilation results.
\endlist
\section2 Reference
diff --git a/src/qml/jsruntime/qv4enginebase_p.h b/src/qml/jsruntime/qv4enginebase_p.h
index 788897bdad..5e62c5bd50 100644
--- a/src/qml/jsruntime/qv4enginebase_p.h
+++ b/src/qml/jsruntime/qv4enginebase_p.h
@@ -86,7 +86,6 @@ struct Q_QML_EXPORT EngineBase {
quint8 isExecutingInRegExpJIT = false;
quint8 padding[3];
MemoryManager *memoryManager = nullptr;
- Runtime runtime;
qint32 callDepth = 0;
Value *jsStackLimit = nullptr;
@@ -146,7 +145,6 @@ Q_STATIC_ASSERT(offsetof(EngineBase, currentStackFrame) == 0);
Q_STATIC_ASSERT(offsetof(EngineBase, jsStackTop) == offsetof(EngineBase, currentStackFrame) + QT_POINTER_SIZE);
Q_STATIC_ASSERT(offsetof(EngineBase, hasException) == offsetof(EngineBase, jsStackTop) + QT_POINTER_SIZE);
Q_STATIC_ASSERT(offsetof(EngineBase, memoryManager) == offsetof(EngineBase, hasException) + 8);
-Q_STATIC_ASSERT(offsetof(EngineBase, runtime) == offsetof(EngineBase, memoryManager) + QT_POINTER_SIZE);
Q_STATIC_ASSERT(offsetof(EngineBase, isInterrupted) + sizeof(EngineBase::isInterrupted) <= offsetof(EngineBase, hasException) + 4);
}
diff --git a/src/qml/jsruntime/qv4executablecompilationunit.cpp b/src/qml/jsruntime/qv4executablecompilationunit.cpp
index 7c6368d60a..b1e2879bba 100644
--- a/src/qml/jsruntime/qv4executablecompilationunit.cpp
+++ b/src/qml/jsruntime/qv4executablecompilationunit.cpp
@@ -94,11 +94,15 @@ ExecutableCompilationUnit::~ExecutableCompilationUnit()
QString ExecutableCompilationUnit::localCacheFilePath(const QUrl &url)
{
+ static const QByteArray envCachePath = qgetenv("QML_DISK_CACHE_PATH");
+
const QString localSourcePath = QQmlFile::urlToLocalFileOrQrc(url);
const QString cacheFileSuffix = QFileInfo(localSourcePath + QLatin1Char('c')).completeSuffix();
QCryptographicHash fileNameHash(QCryptographicHash::Sha1);
fileNameHash.addData(localSourcePath.toUtf8());
- QString directory = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/qmlcache/");
+ QString directory = envCachePath.isEmpty()
+ ? QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1String("/qmlcache/")
+ : QString::fromLocal8Bit(envCachePath) + QLatin1String("/");
QDir::root().mkpath(directory);
return directory + QString::fromUtf8(fileNameHash.result().toHex()) + QLatin1Char('.') + cacheFileSuffix;
}
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index 21a0017728..e47a7a0b46 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -408,6 +408,15 @@ QV4::ReturnedValue Runtime::In::call(ExecutionEngine *engine, const Value &left,
double RuntimeHelpers::stringToNumber(const QString &string)
{
+ // The actual maximum valid length is certainly shorter, but due to the sheer number of
+ // different number formatting variants, we rather err on the side of caution here.
+ // For example, you can have up to 772 valid decimal digits left of the dot, as stated in the
+ // libdoubleconversion sources. The same maximum value would be represented by roughly 3.5 times
+ // as many binary digits.
+ const int excessiveLength = 16 * 1024;
+ if (string.length() > excessiveLength)
+ return qQNaN();
+
const QStringRef s = QStringRef(&string).trimmed();
if (s.startsWith(QLatin1Char('0'))) {
int base = -1;
diff --git a/src/qml/jsruntime/qv4typedarray.cpp b/src/qml/jsruntime/qv4typedarray.cpp
index 893fe06e8e..9c50ac2b95 100644
--- a/src/qml/jsruntime/qv4typedarray.cpp
+++ b/src/qml/jsruntime/qv4typedarray.cpp
@@ -1641,6 +1641,158 @@ ReturnedValue IntrinsicTypedArrayCtor::method_of(const FunctionObject *f, const
return newObj->asReturnedValue();
}
+ReturnedValue IntrinsicTypedArrayCtor::method_from(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc)
+{
+ Scope scope(f);
+ ScopedObject itemsObject(scope, argv[0]);
+ bool usingIterator = false;
+
+ ScopedFunctionObject mapfn(scope, Value::undefinedValue());
+ Value *mapArguments = nullptr;
+ if (argc > 1) {
+ mapfn = ScopedFunctionObject(scope, argv[1]);
+ if (!mapfn)
+ return scope.engine->throwTypeError(QString::fromLatin1("%1 is not a function").arg(argv[1].toQStringNoThrow()));
+ mapArguments = scope.alloc(2);
+ }
+
+ // Iterator validity check goes after map function validity has been checked.
+ if (itemsObject) {
+ // If the object claims to support iterators, then let's try use them.
+ ScopedValue it(scope, itemsObject->get(scope.engine->symbol_iterator()));
+ CHECK_EXCEPTION();
+ if (!it->isNullOrUndefined()) {
+ ScopedFunctionObject itfunc(scope, it);
+ if (!itfunc)
+ return scope.engine->throwTypeError();
+ usingIterator = true;
+ }
+ }
+
+ ScopedValue thisArg(scope);
+ if (argc > 2)
+ thisArg = argv[2];
+
+ const FunctionObject *C = thisObject->as<FunctionObject>();
+
+ if (usingIterator) {
+ // Item iteration supported, so let's go ahead and try use that.
+ CHECK_EXCEPTION();
+
+ qint64 iterableLength = 0;
+ Value *nextValue = scope.alloc(1);
+ ScopedValue done(scope);
+
+ ScopedObject lengthIterator(scope, Runtime::GetIterator::call(scope.engine, itemsObject, true));
+ CHECK_EXCEPTION(); // symbol_iterator threw; whoops.
+ if (!lengthIterator) {
+ return scope.engine->throwTypeError(); // symbol_iterator wasn't an object.
+ }
+
+ forever {
+ // Here we calculate the length of the iterable range.
+ if (iterableLength > (static_cast<qint64>(1) << 53) - 1) {
+ ScopedValue falsey(scope, Encode(false));
+ ScopedValue error(scope, scope.engine->throwTypeError());
+ return Runtime::IteratorClose::call(scope.engine, lengthIterator, falsey);
+ }
+ // Retrieve the next value. If the iteration ends, we're done here.
+ done = Value::fromReturnedValue(Runtime::IteratorNext::call(scope.engine, lengthIterator, nextValue));
+ if (scope.engine->hasException)
+ return Runtime::IteratorClose::call(scope.engine, lengthIterator, Value::fromBoolean(false));
+ if (done->toBoolean()) {
+ break;
+ }
+ iterableLength++;
+ }
+
+ // Constructor validity check goes after we have calculated the length, because that calculation can throw
+ // errors that are not type errors and at least the tests expect those rather than type errors.
+ if (!C || !C->isConstructor())
+ return scope.engine->throwTypeError();
+
+ ScopedObject iterator(scope, Runtime::GetIterator::call(scope.engine, itemsObject, true));
+ CHECK_EXCEPTION(); // symbol_iterator can throw.
+ if (!iterator) {
+ return scope.engine->throwTypeError(); // symbol_iterator wasn't an object.
+ }
+
+ ScopedObject a(scope, Value::undefinedValue());
+ ScopedValue ctorArgument(scope, Value::fromReturnedValue(QV4::Encode(int(iterableLength))));
+ a = C->callAsConstructor(ctorArgument, 1);
+ CHECK_EXCEPTION();
+
+ // We check exceptions above, and only after doing so, check the array's validity after construction.
+ if (!::validateTypedArray(a) || (a->getLength() < iterableLength))
+ return scope.engine->throwTypeError();
+
+
+ // The loop below traverses the iterator, and puts elements into the created array.
+ ScopedValue mappedValue(scope, Value::undefinedValue());
+ for (qint64 k = 0; k < iterableLength; ++k) {
+ done = Value::fromReturnedValue(Runtime::IteratorNext::call(scope.engine, iterator, nextValue));
+ if (scope.engine->hasException)
+ return Runtime::IteratorClose::call(scope.engine, iterator, Value::fromBoolean(false));
+
+ if (mapfn) {
+ mapArguments[0] = *nextValue;
+ mapArguments[1] = Value::fromDouble(k);
+ mappedValue = mapfn->call(thisArg, mapArguments, 2);
+ if (scope.engine->hasException)
+ return Runtime::IteratorClose::call(scope.engine, iterator, Value::fromBoolean(false));
+ } else {
+ mappedValue = *nextValue;
+ }
+
+ a->put(k, mappedValue);
+ if (scope.engine->hasException)
+ return Runtime::IteratorClose::call(scope.engine, iterator, Value::fromBoolean(false));
+ }
+ return a.asReturnedValue();
+ } else {
+ // Array-like fallback. We request elements by index, and put them into the created array.
+ ScopedObject arrayLike(scope, argv[0].toObject(scope.engine));
+ if (!arrayLike)
+ return scope.engine->throwTypeError(QString::fromLatin1("Cannot convert %1 to object").arg(argv[0].toQStringNoThrow()));
+
+ int len = arrayLike->getLength();
+ CHECK_EXCEPTION();
+
+ // Getting the length may throw, and must do so before we check the constructor validity.
+ if (!C || !C->isConstructor())
+ return scope.engine->throwTypeError();
+
+ ScopedObject a(scope, Value::undefinedValue());
+ ScopedValue ctorArgument(scope, Value::fromReturnedValue(QV4::Encode(len)));
+ a = C->callAsConstructor(ctorArgument, 1);
+ CHECK_EXCEPTION();
+
+ // We check exceptions above, and only after doing so, check the array's validity after construction.
+ if (!::validateTypedArray(a) || (a->getLength() < len))
+ return scope.engine->throwTypeError();
+
+ ScopedValue mappedValue(scope, Value::undefinedValue());
+ ScopedValue kValue(scope);
+ for (int k = 0; k < len; ++k) {
+ kValue = arrayLike->get(k);
+ CHECK_EXCEPTION();
+
+ if (mapfn) {
+ mapArguments[0] = kValue;
+ mapArguments[1] = Value::fromDouble(k);
+ mappedValue = mapfn->call(thisArg, mapArguments, 2);
+ CHECK_EXCEPTION();
+ } else {
+ mappedValue = kValue;
+ }
+
+ a->put(k, mappedValue);
+ CHECK_EXCEPTION();
+ }
+ return a.asReturnedValue();
+ }
+}
+
void IntrinsicTypedArrayPrototype::init(ExecutionEngine *engine, IntrinsicTypedArrayCtor *ctor)
{
Scope scope(engine);
@@ -1650,6 +1802,8 @@ void IntrinsicTypedArrayPrototype::init(ExecutionEngine *engine, IntrinsicTypedA
ctor->defineReadonlyConfigurableProperty(engine->id_name(), s);
s = scope.engine->newString(QStringLiteral("of"));
ctor->defineDefaultProperty(s, IntrinsicTypedArrayCtor::method_of);
+ s = scope.engine->newString(QStringLiteral("from"));
+ ctor->defineDefaultProperty(s, IntrinsicTypedArrayCtor::method_from, 1);
ctor->addSymbolSpecies();
defineAccessorProperty(QStringLiteral("buffer"), method_get_buffer, nullptr);
diff --git a/src/qml/jsruntime/qv4typedarray_p.h b/src/qml/jsruntime/qv4typedarray_p.h
index 64792f23a2..65656e3389 100644
--- a/src/qml/jsruntime/qv4typedarray_p.h
+++ b/src/qml/jsruntime/qv4typedarray_p.h
@@ -181,6 +181,7 @@ struct IntrinsicTypedArrayCtor: FunctionObject
static constexpr VTable::Call virtualCall = nullptr;
static ReturnedValue method_of(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
+ static ReturnedValue method_from(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
};
struct TypedArrayCtor: FunctionObject
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index ad5a6ebc8c..e143523165 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -341,7 +341,17 @@ static struct InstrCount {
}
#endif
-#define STACK_VALUE(temp) stack[temp]
+static inline QV4::Value &stackValue(QV4::Value *stack, size_t slot, const CppStackFrame *frame)
+{
+ Q_ASSERT(slot < CallData::HeaderSize() / sizeof(QV4::StaticValue)
+ + frame->jsFrame->argc()
+ + frame->v4Function->compiledFunction->nRegisters);
+ Q_UNUSED(frame);
+
+ return stack[slot];
+}
+
+#define STACK_VALUE(temp) stackValue(stack, temp, frame)
// qv4scopedvalue_p.h also defines a CHECK_EXCEPTION macro
#ifdef CHECK_EXCEPTION
@@ -521,14 +531,14 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
MOTH_END_INSTR(LoadImport)
MOTH_BEGIN_INSTR(LoadLocal)
- auto cc = static_cast<Heap::CallContext *>(stack[CallData::Context].m());
+ auto cc = static_cast<Heap::CallContext *>(STACK_VALUE(CallData::Context).m());
Q_ASSERT(cc->type != QV4::Heap::CallContext::Type_GlobalContext);
acc = cc->locals[index].asReturnedValue();
MOTH_END_INSTR(LoadLocal)
MOTH_BEGIN_INSTR(StoreLocal)
CHECK_EXCEPTION;
- auto cc = static_cast<Heap::CallContext *>(stack[CallData::Context].m());
+ auto cc = static_cast<Heap::CallContext *>(STACK_VALUE(CallData::Context).m());
Q_ASSERT(cc->type != QV4::Heap::CallContext::Type_GlobalContext);
QV4::WriteBarrier::write(engine, cc, cc->locals.values[index].data_ptr(), acc);
MOTH_END_INSTR(StoreLocal)
@@ -714,7 +724,7 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
MOTH_BEGIN_INSTR(CallProperty)
STORE_IP();
- acc = Runtime::CallProperty::call(engine, stack[base], name, stack + argv, argc);
+ acc = Runtime::CallProperty::call(engine, STACK_VALUE(base), name, stack + argv, argc);
CHECK_EXCEPTION;
MOTH_END_INSTR(CallProperty)
@@ -722,21 +732,21 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
STORE_IP();
Lookup *l = function->executableCompilationUnit()->runtimeLookups + lookupIndex;
- if (stack[base].isNullOrUndefined()) {
+ if (STACK_VALUE(base).isNullOrUndefined()) {
QString message = QStringLiteral("Cannot call method '%1' of %2")
.arg(engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[l->nameIndex]->toQString())
- .arg(stack[base].toQStringNoThrow());
+ .arg(STACK_VALUE(base).toQStringNoThrow());
acc = engine->throwTypeError(message);
goto handleUnwind;
}
// ok to have the value on the stack here
- Value f = Value::fromReturnedValue(l->getter(l, engine, stack[base]));
+ Value f = Value::fromReturnedValue(l->getter(l, engine, STACK_VALUE(base)));
if (Q_UNLIKELY(!f.isFunctionObject())) {
QString message = QStringLiteral("Property '%1' of object %2 is not a function")
.arg(engine->currentStackFrame->v4Function->compilationUnit->runtimeStrings[l->nameIndex]->toQString())
- .arg(stack[base].toQStringNoThrow());
+ .arg(STACK_VALUE(base).toQStringNoThrow());
acc = engine->throwTypeError(message);
goto handleUnwind;
}
@@ -747,7 +757,7 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
MOTH_BEGIN_INSTR(CallElement)
STORE_IP();
- acc = Runtime::CallElement::call(engine, stack[base], STACK_VALUE(index), stack + argv, argc);
+ acc = Runtime::CallElement::call(engine, STACK_VALUE(base), STACK_VALUE(index), stack + argv, argc);
CHECK_EXCEPTION;
MOTH_END_INSTR(CallElement)
@@ -864,7 +874,7 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
MOTH_BEGIN_INSTR(PushWithContext)
STORE_IP();
STORE_ACC();
- acc = Runtime::PushWithContext::call(engine, stack[CallData::Accumulator]);
+ acc = Runtime::PushWithContext::call(engine, STACK_VALUE(CallData::Accumulator));
CHECK_EXCEPTION;
MOTH_END_INSTR(PushWithContext)
@@ -971,12 +981,13 @@ QV4::ReturnedValue VME::interpret(CppStackFrame *frame, ExecutionEngine *engine,
MOTH_BEGIN_INSTR(ConvertThisToObject)
STORE_ACC();
- stack[CallData::This] = Runtime::ConvertThisToObject::call(engine, stack[CallData::This]);
+ stack[CallData::This] = Runtime::ConvertThisToObject::call(
+ engine, STACK_VALUE(CallData::This));
CHECK_EXCEPTION;
MOTH_END_INSTR(ConvertThisToObject)
MOTH_BEGIN_INSTR(LoadSuperConstructor)
- acc = Runtime::LoadSuperConstructor::call(engine, stack[CallData::Function]);
+ acc = Runtime::LoadSuperConstructor::call(engine, STACK_VALUE(CallData::Function));
CHECK_EXCEPTION;
MOTH_END_INSTR(LoadSuperConstructor)
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g
index e28899883f..6fbb9df164 100644
--- a/src/qml/parser/qqmljs.g
+++ b/src/qml/parser/qqmljs.g
@@ -80,6 +80,7 @@
%token T_COMMENT "comment"
%token T_COMPATIBILITY_SEMICOLON
%token T_ARROW "=>"
+%token T_QUESTION_QUESTION "??"
%token T_ENUM "enum"
%token T_ELLIPSIS "..."
%token T_YIELD "yield"
@@ -125,6 +126,7 @@
%nonassoc T_IDENTIFIER T_COLON T_SIGNAL T_PROPERTY T_READONLY T_ON T_SET T_GET T_OF T_STATIC T_FROM T_AS T_REQUIRED
%nonassoc REDUCE_HERE
%right T_THEN T_ELSE
+%right T_WITHOUTAS T_AS
%start TopLevel
@@ -1011,15 +1013,27 @@ UiObjectMember: UiQualifiedId T_ON UiQualifiedId UiObjectInitializer;
./
-UiObjectLiteral: T_LBRACE ExpressionStatementLookahead UiPropertyDefinitionList T_RBRACE;
-/. case $rule_number: Q_FALLTHROUGH(); ./
-UiObjectLiteral: T_LBRACE ExpressionStatementLookahead UiPropertyDefinitionList T_COMMA T_RBRACE;
+UiObjectLiteral: T_LBRACE ExpressionStatementLookahead UiPropertyDefinitionList T_RBRACE Semicolon;
/.
case $rule_number: {
AST::ObjectPattern *l = new (pool) AST::ObjectPattern(sym(3).PatternPropertyList->finish());
l->lbraceToken = loc(1);
l->rbraceToken = loc(4);
AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(l);
+ node->semicolonToken = loc(5);
+ sym(1).Node = node;
+ } break;
+./
+
+
+UiObjectLiteral: T_LBRACE ExpressionStatementLookahead UiPropertyDefinitionList T_COMMA T_RBRACE Semicolon;
+/.
+ case $rule_number: {
+ AST::ObjectPattern *l = new (pool) AST::ObjectPattern(sym(3).PatternPropertyList->finish());
+ l->lbraceToken = loc(1);
+ l->rbraceToken = loc(5);
+ AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(l);
+ node->semicolonToken = loc(6);
sym(1).Node = node;
} break;
./
@@ -2500,6 +2514,20 @@ RelationalExpression_In: RelationalExpression_In T_IN ShiftExpression;
} break;
./
+TypeAssertExpression_In: RelationalExpression_In T_AS Type;
+/. case $rule_number: Q_FALLTHROUGH(); ./
+TypeAssertExpression: RelationalExpression T_AS Type;
+/.
+ case $rule_number: {
+ AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::As, sym(3).Expression);
+ node->operatorToken = loc(2);
+ sym(1).Node = node;
+ } break;
+./
+
+RelationalExpression_In: TypeAssertExpression_In;
+RelationalExpression: TypeAssertExpression;
+
EqualityExpression_In: RelationalExpression_In;
EqualityExpression: RelationalExpression;
@@ -2611,13 +2639,48 @@ LogicalORExpression_In: LogicalORExpression_In T_OR_OR LogicalANDExpression_In;
} break;
./
+CoalesceExpression: LogicalORExpression;
+CoalesceExpression_In: LogicalORExpression_In;
+
+CoalesceExpression: CoalesceExpression T_QUESTION_QUESTION LogicalORExpression;
+/. case $rule_number: Q_FALLTHROUGH(); ./
+CoalesceExpression_In: CoalesceExpression_In T_QUESTION_QUESTION LogicalORExpression_In;
+/.
+ case $rule_number: {
+
+ auto *lhs = sym(1).Expression;
+ auto *rhs = sym(3).Expression;
+
+ // Check if lhs or rhs contain || or &&
+
+ if (lhs->binaryExpressionCast() != nullptr) {
+ auto *binaryExpr = lhs->binaryExpressionCast();
+ if (binaryExpr->op == QSOperator::And || binaryExpr->op == QSOperator::Or) {
+ syntaxError(binaryExpr->operatorToken, "Left-hand side may not contain || or &&");
+ return false;
+ }
+ }
+
+ if (rhs->binaryExpressionCast() != nullptr) {
+ auto *binaryExpr = rhs->binaryExpressionCast();
+ if (binaryExpr->op == QSOperator::And || binaryExpr->op == QSOperator::Or) {
+ syntaxError(binaryExpr->operatorToken, "Right-hand side may not contain || or &&");
+ return false;
+ }
+ }
+
+ AST::BinaryExpression *node = new (pool) AST::BinaryExpression(lhs, QSOperator::Coalesce, rhs);
+ node->operatorToken = loc(2);
+ sym(1).Node = node;
+ } break;
+./
-ConditionalExpression: LogicalORExpression;
-ConditionalExpression_In: LogicalORExpression_In;
+ConditionalExpression: CoalesceExpression;
+ConditionalExpression_In: CoalesceExpression_In;
-ConditionalExpression: LogicalORExpression T_QUESTION AssignmentExpression_In T_COLON AssignmentExpression;
+ConditionalExpression: CoalesceExpression T_QUESTION AssignmentExpression_In T_COLON AssignmentExpression;
/. case $rule_number: Q_FALLTHROUGH(); ./
-ConditionalExpression_In: LogicalORExpression_In T_QUESTION AssignmentExpression_In T_COLON AssignmentExpression_In;
+ConditionalExpression_In: CoalesceExpression_In T_QUESTION AssignmentExpression_In T_COLON AssignmentExpression_In;
/.
case $rule_number: {
AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, sym(3).Expression, sym(5).Expression);
@@ -4356,7 +4419,10 @@ ImportsList: ImportsList T_COMMA ImportSpecifier;
} break;
./
-ImportSpecifier: ImportedBinding;
+-- When enconutering an IdentifierReference it can resolve to both ImportedBinding and IdentifierName
+-- Using %right and %prec, we tell qlalr that it should not reduce immediately, but rather shift
+-- so that we have a chance of actually parsing the correct rule if there is an "as" identifier
+ImportSpecifier: ImportedBinding %prec T_WITHOUTAS;
/.
case $rule_number: {
auto importSpecifier = new (pool) AST::ImportSpecifier(stringRef(1));
diff --git a/src/qml/parser/qqmljsast_p.h b/src/qml/parser/qqmljsast_p.h
index e436c4673d..aa355fed85 100644
--- a/src/qml/parser/qqmljsast_p.h
+++ b/src/qml/parser/qqmljsast_p.h
@@ -104,6 +104,8 @@ enum Op {
URShift,
InplaceURightShift,
InplaceXor,
+ As,
+ Coalesce,
Invalid
};
@@ -1782,7 +1784,7 @@ public:
{ return expression->firstSourceLocation(); }
SourceLocation lastSourceLocation() const override
- { return expression->lastSourceLocation(); }
+ { return semicolonToken; }
// attributes
ExpressionNode *expression;
diff --git a/src/qml/parser/qqmljslexer.cpp b/src/qml/parser/qqmljslexer.cpp
index 443e1a7476..80d883e52f 100644
--- a/src/qml/parser/qqmljslexer.cpp
+++ b/src/qml/parser/qqmljslexer.cpp
@@ -580,7 +580,14 @@ again:
case ']': return T_RBRACKET;
case '[': return T_LBRACKET;
- case '?': return T_QUESTION;
+ case '?': {
+ if (_char == QLatin1Char('?')) {
+ scanChar();
+ return T_QUESTION_QUESTION;
+ }
+
+ return T_QUESTION;
+ }
case '>':
if (_char == QLatin1Char('>')) {
diff --git a/src/qml/qml.pro b/src/qml/qml.pro
index 3c889244f4..2cbe8ec564 100644
--- a/src/qml/qml.pro
+++ b/src/qml/qml.pro
@@ -63,7 +63,6 @@ qtConfig(qml-animation) {
include(types/types.pri)
include(../3rdparty/masm/masm-defs.pri)
include(../3rdparty/masm/masm.pri)
-include(../3rdparty/llvm/llvm.pri)
MODULE_PLUGIN_TYPES = \
qmltooling
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp
index 1d5f974d5c..279998b5de 100644
--- a/src/qml/qml/qqmlcomponent.cpp
+++ b/src/qml/qml/qqmlcomponent.cpp
@@ -376,7 +376,7 @@ bool QQmlComponentPrivate::setInitialProperty(QObject *component, const QString&
{
QQmlProperty prop = QQmlComponentPrivate::removePropertyFromRequired(component, name, requiredProperties());
QQmlPropertyPrivate *privProp = QQmlPropertyPrivate::get(prop);
- if (!prop.isValid() || !privProp->writeValueProperty(value, nullptr)) {
+ if (!prop.isValid() || !privProp->writeValueProperty(value, {})) {
QQmlError error{};
error.setUrl(url);
error.setDescription(QLatin1String("Could not set property %1").arg(name));
diff --git a/src/qml/qml/qqmldata_p.h b/src/qml/qml/qqmldata_p.h
index 299476f5c8..ee31cb38d9 100644
--- a/src/qml/qml/qqmldata_p.h
+++ b/src/qml/qml/qqmldata_p.h
@@ -335,7 +335,7 @@ bool QQmlData::wasDeleted(const QObject *object)
return true;
const QObjectPrivate *priv = QObjectPrivate::get(object);
- if (!priv || priv->wasDeleted)
+ if (!priv || priv->wasDeleted || priv->isDeletingChildren)
return true;
const QQmlData *ddata = QQmlData::get(object);
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
index 0bdba313f3..51a5cc1db4 100644
--- a/src/qml/qml/qqmlengine.cpp
+++ b/src/qml/qml/qqmlengine.cpp
@@ -1595,6 +1595,9 @@ static QObject *resolveAttachedProperties(QQmlAttachedPropertiesFunc pf, QQmlDat
}
#if QT_DEPRECATED_SINCE(5, 14)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+
QObject *qmlAttachedPropertiesObjectById(int id, const QObject *object, bool create)
{
QQmlData *data = QQmlData::get(object, create);
@@ -1605,7 +1608,9 @@ QObject *qmlAttachedPropertiesObjectById(int id, const QObject *object, bool cre
return nullptr;
QQmlEnginePrivate *engine = QQmlEnginePrivate::get(data->context);
- return resolveAttachedProperties(QQmlMetaType::attachedPropertiesFuncById(engine, id), data,
+
+ const QQmlType type = QQmlMetaType::qmlType(id, QQmlMetaType::TypeIdCategory::QmlType);
+ return resolveAttachedProperties(type.attachedPropertiesFunction(engine), data,
const_cast<QObject *>(object), create);
}
@@ -1622,6 +1627,8 @@ QObject *qmlAttachedPropertiesObject(int *idCache, const QObject *object,
return qmlAttachedPropertiesObjectById(*idCache, object, create);
}
+
+QT_WARNING_POP
#endif
QQmlAttachedPropertiesFunc qmlAttachedPropertiesFunction(QObject *object,
@@ -1650,6 +1657,8 @@ QObject *qmlAttachedPropertiesObject(QObject *object, QQmlAttachedPropertiesFunc
} // namespace QtQml
#if QT_DEPRECATED_SINCE(5, 1)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
// Also define symbols outside namespace to keep binary compatibility with Qt 5.0
@@ -1680,6 +1689,7 @@ Q_QML_EXPORT QObject *qmlAttachedPropertiesObject(int *idCache, const QObject *o
return QtQml::qmlAttachedPropertiesObject(idCache, object, attachedMetaObject, create);
}
+QT_WARNING_POP
#endif // QT_DEPRECATED_SINCE(5, 1)
class QQmlDataExtended {
diff --git a/src/qml/qml/qqmlextensionplugin.cpp b/src/qml/qml/qqmlextensionplugin.cpp
index 26364661a8..7a62c967e7 100644
--- a/src/qml/qml/qqmlextensionplugin.cpp
+++ b/src/qml/qml/qqmlextensionplugin.cpp
@@ -127,8 +127,6 @@ void QQmlExtensionPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
}
/*!
- \fn void QQmlEngineExtensionPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
-
Initializes the extension from the \a uri using the \a engine. Here an application
plugin might, for example, expose some data or objects to QML,
as context properties on the engine's root context.
diff --git a/src/qml/qml/qqmlinfo.cpp b/src/qml/qml/qqmlinfo.cpp
index 2bfd2d5bb4..dd401bdb20 100644
--- a/src/qml/qml/qqmlinfo.cpp
+++ b/src/qml/qml/qqmlinfo.cpp
@@ -57,7 +57,6 @@ QT_BEGIN_NAMESPACE
/*!
\fn QQmlInfo QtQml::qmlDebug(const QObject *object)
- \relates QtQml
\since 5.9
Prints debug messages that include the file and line number for the
@@ -91,7 +90,6 @@ QT_BEGIN_NAMESPACE
/*!
\fn QQmlInfo QtQml::qmlInfo(const QObject *object)
- \relates QtQml
Prints informational messages that include the file and line number for the
specified QML \a object.
@@ -119,7 +117,6 @@ QT_BEGIN_NAMESPACE
/*!
\fn QQmlInfo QtQml::qmlWarning(const QObject *object)
- \relates QtQml
\since 5.9
Prints warning messages that include the file and line number for the
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp
index dca13ac8d4..139074c648 100644
--- a/src/qml/qml/qqmllocale.cpp
+++ b/src/qml/qml/qqmllocale.cpp
@@ -478,6 +478,23 @@ ReturnedValue QQmlLocaleData::method_get_firstDayOfWeek(const QV4::FunctionObjec
RETURN_RESULT(fdow);
}
+ReturnedValue QQmlLocaleData::method_get_numberOptions(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) {
+ QV4::Scope scope(b);
+ const QLocale *locale = getThisLocale(scope, thisObject);
+ if (!locale)
+ return Encode::undefined();
+ int numberOptions = int(locale->numberOptions());
+ RETURN_RESULT(numberOptions);
+}
+
+ReturnedValue QQmlLocaleData::method_set_numberOptions(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *argv, int argc) {
+ QV4::Scope scope(b);
+ QLocale *locale = getThisLocale(scope, thisObject);
+ int const numberOptions = argc ? int(argv[0].toNumber()) : QLocale::DefaultNumberOptions;
+ locale->setNumberOptions(QLocale::NumberOptions {numberOptions});
+ return Encode::undefined();
+}
+
ReturnedValue QQmlLocaleData::method_get_measurementSystem(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int)
{
QV4::Scope scope(b);
@@ -701,6 +718,7 @@ QV4LocaleDataDeletable::QV4LocaleDataDeletable(QV4::ExecutionEngine *engine)
o->defineAccessorProperty(QStringLiteral("amText"), QQmlLocaleData::method_get_amText, nullptr);
o->defineAccessorProperty(QStringLiteral("measurementSystem"), QQmlLocaleData::method_get_measurementSystem, nullptr);
o->defineAccessorProperty(QStringLiteral("exponential"), QQmlLocaleData::method_get_exponential, nullptr);
+ o->defineAccessorProperty(QStringLiteral("numberOptions"), QQmlLocaleData::method_get_numberOptions, QQmlLocaleData::method_set_numberOptions);
prototype.set(engine, o);
}
@@ -873,6 +891,16 @@ ReturnedValue QQmlLocale::method_localeCompare(const QV4::FunctionObject *b, con
*/
/*!
+ \qmlproperty enumeration QtQml::Locale::NumberOption
+
+ Holds a set of options for number-to-string and
+ string-to-number conversions.
+
+ \sa Number::toLocaleString()
+ \sa Number::fromLocaleString()
+*/
+
+/*!
\qmlproperty string QtQml::Locale::percent
Holds the percent character of this locale.
diff --git a/src/qml/qml/qqmllocale_p.h b/src/qml/qml/qqmllocale_p.h
index 10e0dfcc38..1d6fdb12a7 100644
--- a/src/qml/qml/qqmllocale_p.h
+++ b/src/qml/qml/qqmllocale_p.h
@@ -131,6 +131,16 @@ public:
Saturday = Qt::Saturday
};
Q_ENUM(DayOfWeek)
+ enum NumberOptions {
+ DefaultNumberOptions = QLocale::DefaultNumberOptions,
+ OmitGroupSeparator = QLocale::OmitGroupSeparator,
+ RejectGroupSeparator = QLocale::RejectGroupSeparator,
+ OmitLeadingZeroInExponent = QLocale::OmitLeadingZeroInExponent,
+ RejectLeadingZeroInExponent = QLocale::RejectLeadingZeroInExponent,
+ IncludeTrailingZeroesAfterDot = QLocale::IncludeTrailingZeroesAfterDot,
+ RejectTrailingZeroesAfterDot = QLocale::RejectTrailingZeroesAfterDot
+ };
+ Q_ENUM(NumberOptions)
static QV4::ReturnedValue locale(QV4::ExecutionEngine *engine, const QString &localeName);
static QV4::ReturnedValue wrap(QV4::ExecutionEngine *engine, const QLocale &locale);
@@ -200,6 +210,9 @@ struct QQmlLocaleData : public QV4::Object
static QV4::ReturnedValue method_get_exponential(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc);
static QV4::ReturnedValue method_get_amText(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc);
static QV4::ReturnedValue method_get_pmText(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc);
+
+ static QV4::ReturnedValue method_get_numberOptions(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc);
+ static QV4::ReturnedValue method_set_numberOptions(const QV4::FunctionObject *, const QV4::Value *thisObject, const QV4::Value *argv, int argc);
};
}
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index b8c17c9374..8f652f601a 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -329,7 +329,6 @@ QQmlType QQmlMetaType::registerInterface(const QQmlPrivate::RegisterInterface &t
data->idToType.insert(priv->typeId, priv);
data->idToType.insert(priv->listId, priv);
- // XXX No insertMulti, so no multi-version interfaces?
if (!priv->elementName.isEmpty())
data->nameToType.insert(priv->elementName, priv);
@@ -414,10 +413,10 @@ void addTypeToData(QQmlTypePrivate *type, QQmlMetaTypeData *data)
Q_ASSERT(type);
if (!type->elementName.isEmpty())
- data->nameToType.insertMulti(type->elementName, type);
+ data->nameToType.insert(type->elementName, type);
if (type->baseMetaObject)
- data->metaObjectToType.insertMulti(type->baseMetaObject, type);
+ data->metaObjectToType.insert(type->baseMetaObject, type);
if (type->typeId) {
data->idToType.insert(type->typeId, type);
@@ -492,7 +491,7 @@ QQmlType QQmlMetaType::registerCompositeSingletonType(const QQmlPrivate::Registe
addTypeToData(priv, data);
QQmlMetaTypeData::Files *files = fileImport ? &(data->urlToType) : &(data->urlToNonFileImportType);
- files->insertMulti(QQmlTypeLoader::normalize(type.url), priv);
+ files->insert(QQmlTypeLoader::normalize(type.url), priv);
return QQmlType(priv);
}
@@ -513,7 +512,7 @@ QQmlType QQmlMetaType::registerCompositeType(const QQmlPrivate::RegisterComposit
addTypeToData(priv, data);
QQmlMetaTypeData::Files *files = fileImport ? &(data->urlToType) : &(data->urlToNonFileImportType);
- files->insertMulti(QQmlTypeLoader::normalize(type.url), priv);
+ files->insert(QQmlTypeLoader::normalize(type.url), priv);
return QQmlType(priv);
}
@@ -797,7 +796,7 @@ QQmlType QQmlMetaType::typeForUrl(const QString &urlString,
data->registerType(priv);
addTypeToData(priv, data);
- data->urlToType.insertMulti(url, priv);
+ data->urlToType.insert(url, priv);
return QQmlType(priv);
}
@@ -927,11 +926,11 @@ int QQmlMetaType::attachedPropertiesFuncId(QQmlEnginePrivate *engine, const QMet
for (auto it = data->metaObjectToType.constFind(mo), end = data->metaObjectToType.constEnd();
it != end && it.key() == mo; ++it) {
- const QQmlType type(it.value());
- if (type.attachedPropertiesFunction(engine))
- return type.attachedPropertiesId(engine);
+ if (const QQmlTypePrivate *type = it.value()) {
+ if (const QQmlTypePrivate *base = type->attachedPropertiesBase(engine))
+ return base->index;
+ }
}
-
return -1;
}
diff --git a/src/qml/qml/qqmlmetatypedata_p.h b/src/qml/qml/qqmlmetatypedata_p.h
index f193e51f5a..e51d4ca1a4 100644
--- a/src/qml/qml/qqmlmetatypedata_p.h
+++ b/src/qml/qml/qqmlmetatypedata_p.h
@@ -71,7 +71,7 @@ struct QQmlMetaTypeData
QSet<QQmlType> undeletableTypes;
typedef QHash<int, QQmlTypePrivate *> Ids;
Ids idToType;
- typedef QHash<QHashedStringRef, QQmlTypePrivate *> Names;
+ typedef QMultiHash<QHashedStringRef, QQmlTypePrivate *> Names;
Names nameToType;
typedef QHash<QUrl, QQmlTypePrivate *> Files; //For file imported composite types only
Files urlToType;
@@ -79,7 +79,7 @@ struct QQmlMetaTypeData
// singleton types. This way we can locate any
// of them by url, even if it was registered as
// a module via QQmlPrivate::RegisterCompositeType
- typedef QHash<const QMetaObject *, QQmlTypePrivate *> MetaObjects;
+ typedef QMultiHash<const QMetaObject *, QQmlTypePrivate *> MetaObjects;
MetaObjects metaObjectToType;
typedef QHash<int, QQmlMetaType::StringConverter> StringConverters;
StringConverters stringConverters;
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp
index 27667de678..871bec1c17 100644
--- a/src/qml/qml/qqmlproperty.cpp
+++ b/src/qml/qml/qqmlproperty.cpp
@@ -785,7 +785,7 @@ static void removeOldBinding(QObject *object, QQmlPropertyIndex index, QQmlPrope
return;
if (!(flags & QQmlPropertyPrivate::DontEnable))
- oldBinding->setEnabled(false, nullptr);
+ oldBinding->setEnabled(false, {});
oldBinding->removeFromObject();
}
@@ -1451,7 +1451,7 @@ QQmlMetaObject QQmlPropertyPrivate::rawMetaObjectForType(QQmlEnginePrivate *engi
*/
bool QQmlProperty::write(const QVariant &value) const
{
- return QQmlPropertyPrivate::write(*this, value, nullptr);
+ return QQmlPropertyPrivate::write(*this, value, {});
}
/*!
diff --git a/src/qml/qml/qqmlproperty_p.h b/src/qml/qml/qqmlproperty_p.h
index 285c34d7fa..8abd83d7b4 100644
--- a/src/qml/qml/qqmlproperty_p.h
+++ b/src/qml/qml/qqmlproperty_p.h
@@ -107,9 +107,9 @@ public:
static bool writeValueProperty(QObject *,
const QQmlPropertyData &, const QQmlPropertyData &valueTypeData,
const QVariant &, QQmlContextData *,
- QQmlPropertyData::WriteFlags flags = nullptr);
+ QQmlPropertyData::WriteFlags flags = {});
static bool write(QObject *, const QQmlPropertyData &, const QVariant &,
- QQmlContextData *, QQmlPropertyData::WriteFlags flags = nullptr);
+ QQmlContextData *, QQmlPropertyData::WriteFlags flags = {});
static void findAliasTarget(QObject *, QQmlPropertyIndex, QObject **, QQmlPropertyIndex *);
enum BindingFlag {
diff --git a/src/qml/qml/qqmltype.cpp b/src/qml/qml/qqmltype.cpp
index 874bcd4bca..4a211ffa53 100644
--- a/src/qml/qml/qqmltype.cpp
+++ b/src/qml/qml/qqmltype.cpp
@@ -618,28 +618,16 @@ int QQmlType::metaObjectRevision() const
QQmlAttachedPropertiesFunc QQmlType::attachedPropertiesFunction(QQmlEnginePrivate *engine) const
{
- if (!d)
- return nullptr;
- if (d->regType == CppType)
- return d->extraData.cd->attachedPropertiesFunc;
-
- QQmlType base;
- if (d->regType == CompositeType)
- base = d->resolveCompositeBaseType(engine);
- return base.attachedPropertiesFunction(engine);
+ if (const QQmlTypePrivate *base = d->attachedPropertiesBase(engine))
+ return base->extraData.cd->attachedPropertiesFunc;
+ return nullptr;
}
const QMetaObject *QQmlType::attachedPropertiesType(QQmlEnginePrivate *engine) const
{
- if (!d)
- return nullptr;
- if (d->regType == CppType)
- return d->extraData.cd->attachedPropertiesType;
-
- QQmlType base;
- if (d->regType == CompositeType)
- base = d->resolveCompositeBaseType(engine);
- return base.attachedPropertiesType(engine);
+ if (const QQmlTypePrivate *base = d->attachedPropertiesBase(engine))
+ return base->extraData.cd->attachedPropertiesType;
+ return nullptr;
}
#if QT_DEPRECATED_SINCE(5, 14)
@@ -650,15 +638,9 @@ Qt 4.7 and QtQuick 1.0).
*/
int QQmlType::attachedPropertiesId(QQmlEnginePrivate *engine) const
{
- if (!d)
- return -1;
- if (d->regType == CppType)
- return d->extraData.cd->attachedPropertiesType ? d->index : -1;
-
- QQmlType base;
- if (d->regType == CompositeType)
- base = d->resolveCompositeBaseType(engine);
- return base.attachedPropertiesId(engine);
+ if (const QQmlTypePrivate *base = d->attachedPropertiesBase(engine))
+ return base->index;
+ return -1;
}
#endif
diff --git a/src/qml/qml/qqmltype_p.h b/src/qml/qml/qqmltype_p.h
index ec27b38a73..af134b21f1 100644
--- a/src/qml/qml/qqmltype_p.h
+++ b/src/qml/qml/qqmltype_p.h
@@ -182,6 +182,7 @@ public:
};
private:
+ friend class QQmlTypePrivate;
friend uint qHash(const QQmlType &t, uint seed);
QQmlRefPointer<const QQmlTypePrivate> d;
};
diff --git a/src/qml/qml/qqmltype_p_p.h b/src/qml/qml/qqmltype_p_p.h
index 6a2d961de8..51f776178c 100644
--- a/src/qml/qml/qqmltype_p_p.h
+++ b/src/qml/qml/qqmltype_p_p.h
@@ -82,6 +82,18 @@ public:
}
}
+ const QQmlTypePrivate *attachedPropertiesBase(QQmlEnginePrivate *engine) const
+ {
+ for (const QQmlTypePrivate *d = this; d; d = d->resolveCompositeBaseType(engine).d.data()) {
+ if (d->regType == QQmlType::CppType)
+ return d->extraData.cd->attachedPropertiesType ? d : nullptr;
+
+ if (d->regType != QQmlType::CompositeType)
+ return nullptr;
+ }
+ return nullptr;
+ }
+
bool isComposite() const
{
return regType == QQmlType::CompositeType || regType == QQmlType::CompositeSingletonType;
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index b164f5873c..e0131c0a98 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -710,7 +710,7 @@ bool QQmlTypeLoader::Blob::isDebugging() const
bool QQmlTypeLoader::Blob::diskCacheEnabled() const
{
- return (!disableDiskCache() || forceDiskCache()) && !isDebugging();
+ return (!disableDiskCache() && !isDebugging()) || forceDiskCache();
}
bool QQmlTypeLoader::Blob::qmldirDataAvailable(const QQmlRefPointer<QQmlQmldirData> &data, QList<QQmlError> *errors)
@@ -1129,7 +1129,8 @@ void QQmlTypeLoader::setQmldirContent(const QString &url, const QString &content
m_importQmlDirCache.insert(url, qmldir);
}
- qmldir->setContent(url, content);
+ if (!qmldir->hasContent())
+ qmldir->setContent(url, content);
}
/*!
diff --git a/src/qml/qml/qqmltypeloaderqmldircontent.cpp b/src/qml/qml/qqmltypeloaderqmldircontent.cpp
index 8e983db756..860971d296 100644
--- a/src/qml/qml/qqmltypeloaderqmldircontent.cpp
+++ b/src/qml/qml/qqmltypeloaderqmldircontent.cpp
@@ -74,6 +74,7 @@ QString QQmlTypeLoaderQmldirContent::typeNamespace() const
void QQmlTypeLoaderQmldirContent::setContent(const QString &location, const QString &content)
{
+ Q_ASSERT(!m_hasContent);
m_hasContent = true;
m_location = location;
m_parser.parse(content);
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp
index 9b5490b6e5..e0ca1ae6c5 100644
--- a/src/qml/qml/qqmlvmemetaobject.cpp
+++ b/src/qml/qml/qqmlvmemetaobject.cpp
@@ -62,30 +62,73 @@
QT_BEGIN_NAMESPACE
+class ResolvedList
+{
+ Q_DISABLE_COPY_MOVE(ResolvedList)
+
+public:
+ ResolvedList(QQmlListProperty<QObject> *prop) :
+ m_metaObject(static_cast<QQmlVMEMetaObject *>(QObjectPrivate::get(prop->object)->metaObject)),
+ m_id(quintptr(prop->data))
+ {
+ Q_ASSERT(m_metaObject);
+ Q_ASSERT(m_metaObject->object == prop->object);
+ Q_ASSERT(m_id <= quintptr(std::numeric_limits<int>::max() - m_metaObject->methodOffset()));
+
+ // readPropertyAsList() with all the checks transformed into Q_ASSERT
+ // and without allocation.
+ Q_ASSERT(!m_metaObject->propertyAndMethodStorage.isUndefined());
+ auto *md = static_cast<QV4::MemberData *>(m_metaObject->propertyAndMethodStorage.asManaged());
+ Q_ASSERT(md);
+ const auto *v = (md->data() + m_id)->as<QV4::VariantObject>();
+ Q_ASSERT(v);
+ Q_ASSERT(v->d());
+ QVariant &data = v->d()->data();
+ Q_ASSERT(data.userType() == qMetaTypeId<QList<QObject *>>());
+ m_list = static_cast<QList<QObject *> *>(data.data());
+ Q_ASSERT(m_list);
+ }
+
+ ~ResolvedList() = default;
+
+ QQmlVMEMetaObject *metaObject() const { return m_metaObject; }
+ QList<QObject *> *list() const { return m_list; }
+ quintptr id() const { return m_id; }
+
+ void activateSignal() const
+ {
+ m_metaObject->activate(m_metaObject->object, int(m_id + m_metaObject->methodOffset()),
+ nullptr);
+ }
+
+private:
+ QQmlVMEMetaObject *m_metaObject = nullptr;
+ QList<QObject *> *m_list = nullptr;
+ quintptr m_id = 0;
+};
+
static void list_append(QQmlListProperty<QObject> *prop, QObject *o)
{
- QList<QObject *> *list = static_cast<QList<QObject *> *>(prop->data);
- list->append(o);
- static_cast<QQmlVMEMetaObject *>(prop->dummy1)->activate(prop->object, reinterpret_cast<quintptr>(prop->dummy2), nullptr);
+ const ResolvedList resolved(prop);
+ resolved.list()->append(o);
+ resolved.activateSignal();
}
static int list_count(QQmlListProperty<QObject> *prop)
{
- QList<QObject *> *list = static_cast<QList<QObject *> *>(prop->data);
- return list->count();
+ return ResolvedList(prop).list()->count();
}
static QObject *list_at(QQmlListProperty<QObject> *prop, int index)
{
- QList<QObject *> *list = static_cast<QList<QObject *> *>(prop->data);
- return list->at(index);
+ return ResolvedList(prop).list()->at(index);
}
static void list_clear(QQmlListProperty<QObject> *prop)
{
- QList<QObject *> *list = static_cast<QList<QObject *> *>(prop->data);
- list->clear();
- static_cast<QQmlVMEMetaObject *>(prop->dummy1)->activate(prop->object, reinterpret_cast<quintptr>(prop->dummy2), nullptr);
+ const ResolvedList resolved(prop);
+ resolved.list()->clear();
+ resolved.activateSignal();
}
QQmlVMEVariantQObjectPtr::QQmlVMEVariantQObjectPtr()
@@ -401,57 +444,20 @@ void QQmlVMEMetaObject::writeProperty(int id, double v)
void QQmlVMEMetaObject::writeProperty(int id, const QString& v)
{
QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newString(v));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QUrl& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QDate& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QDateTime& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QPointF& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QSizeF& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
-}
-
-void QQmlVMEMetaObject::writeProperty(int id, const QRectF& v)
-{
- QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, engine->newVariantObject(QVariant::fromValue(v)));
+ if (md) {
+ QV4::Scope scope(engine);
+ QV4::Scoped<QV4::MemberData>(scope, md)->set(engine, id, engine->newString(v));
+ }
}
void QQmlVMEMetaObject::writeProperty(int id, QObject* v)
{
QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
- if (md)
- md->set(engine, id, QV4::Value::fromReturnedValue(QV4::QObjectWrapper::wrap(engine, v)));
+ if (md) {
+ QV4::Scope scope(engine);
+ QV4::Scoped<QV4::MemberData>(scope, md)->set(engine, id, QV4::Value::fromReturnedValue(
+ QV4::QObjectWrapper::wrap(engine, v)));
+ }
QQmlVMEVariantQObjectPtr *guard = getQObjectGuardForProperty(id);
if (v && !guard) {
@@ -720,13 +726,11 @@ int QQmlVMEMetaObject::metaCall(QObject *o, QMetaObject::Call c, int _id, void *
break;
case QV4::CompiledData::BuiltinType::InvalidBuiltin:
if (property.isList) {
- QList<QObject *> *list = readPropertyAsList(id);
- QQmlListProperty<QObject> *p = static_cast<QQmlListProperty<QObject> *>(a[0]);
- *p = QQmlListProperty<QObject>(object, list,
- list_append, list_count, list_at,
- list_clear);
- p->dummy1 = this;
- p->dummy2 = reinterpret_cast<void *>(quintptr(methodOffset() + id));
+ readPropertyAsList(id); // Initializes if necessary
+ *static_cast<QQmlListProperty<QObject> *>(a[0])
+ = QQmlListProperty<QObject>(
+ object, reinterpret_cast<void *>(quintptr(id)),
+ list_append, list_count, list_at, list_clear);
} else {
*reinterpret_cast<QObject **>(a[0]) = readPropertyAsQObject(id);
}
@@ -877,7 +881,7 @@ int QQmlVMEMetaObject::metaCall(QObject *o, QMetaObject::Call c, int _id, void *
int rv = QMetaObject::metacall(valueType, c, valueTypePropertyIndex, a);
if (c == QMetaObject::WriteProperty)
- valueType->write(target, coreIndex, nullptr);
+ valueType->write(target, coreIndex, {});
return rv;
} else {
diff --git a/src/qml/qml/qqmlvmemetaobject_p.h b/src/qml/qml/qqmlvmemetaobject_p.h
index 5025987586..58332ff7a8 100644
--- a/src/qml/qml/qqmlvmemetaobject_p.h
+++ b/src/qml/qml/qqmlvmemetaobject_p.h
@@ -194,12 +194,18 @@ public:
void writeProperty(int id, bool v);
void writeProperty(int id, double v);
void writeProperty(int id, const QString& v);
- void writeProperty(int id, const QPointF& v);
- void writeProperty(int id, const QSizeF& v);
- void writeProperty(int id, const QUrl& v);
- void writeProperty(int id, const QDate& v);
- void writeProperty(int id, const QDateTime& v);
- void writeProperty(int id, const QRectF& v);
+
+ template<typename VariantCompatible>
+ void writeProperty(int id, const VariantCompatible &v)
+ {
+ QV4::MemberData *md = propertyAndMethodStorageAsMemberData();
+ if (md) {
+ QV4::Scope scope(engine);
+ QV4::Scoped<QV4::MemberData>(scope, md)->set(engine, id, engine->newVariantObject(
+ QVariant::fromValue(v)));
+ }
+ }
+
void writeProperty(int id, QObject *v);
void ensureQObjectWrapper();
diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp
index 4db0562c0e..df4639bb1d 100644
--- a/src/qml/qml/qqmlxmlhttprequest.cpp
+++ b/src/qml/qml/qqmlxmlhttprequest.cpp
@@ -1396,6 +1396,10 @@ void QQmlXMLHttpRequest::finished()
if (code.isValid() && code.toInt() == 303 && m_method != QLatin1String("GET"))
m_method = QStringLiteral("GET");
destroyNetwork();
+
+ // Discard redirect response body
+ m_responseEntityBody = QByteArray();
+
requestFromUrl(url);
return;
}
diff --git a/src/qml/qmldirparser/qqmldirparser.cpp b/src/qml/qmldirparser/qqmldirparser.cpp
index 6e925ba515..36b47a3302 100644
--- a/src/qml/qmldirparser/qqmldirparser.cpp
+++ b/src/qml/qmldirparser/qqmldirparser.cpp
@@ -73,6 +73,20 @@ static bool parseVersion(const QString &str, int *major, int *minor)
return false;
}
+void QQmlDirParser::clear()
+{
+ _errors.clear();
+ _typeNamespace.clear();
+ _components.clear();
+ _dependencies.clear();
+ _imports.clear();
+ _scripts.clear();
+ _plugins.clear();
+ _designerSupported = false;
+ _typeInfos.clear();
+ _className.clear();
+}
+
inline static void scanSpace(const QChar *&ch) {
while (ch->isSpace() && !ch->isNull() && *ch != QLatin1Char('\n'))
++ch;
@@ -93,13 +107,6 @@ inline static void scanWord(const QChar *&ch) {
*/
bool QQmlDirParser::parse(const QString &source)
{
- _errors.clear();
- _plugins.clear();
- _components.clear();
- _scripts.clear();
- _designerSupported = false;
- _className.clear();
-
quint16 lineNumber = 0;
bool firstLine = true;
@@ -198,7 +205,7 @@ bool QQmlDirParser::parse(const QString &source)
}
Component entry(sections[1], sections[2], -1, -1);
entry.internal = true;
- _components.insertMulti(entry.typeName, entry);
+ _components.insert(entry.typeName, entry);
} else if (sections[0] == QLatin1String("singleton")) {
if (sectionCount < 3 || sectionCount > 4) {
reportError(lineNumber, 0,
@@ -209,7 +216,7 @@ bool QQmlDirParser::parse(const QString &source)
// singleton TestSingletonType TestSingletonType.qml
Component entry(sections[1], sections[2], -1, -1);
entry.singleton = true;
- _components.insertMulti(entry.typeName, entry);
+ _components.insert(entry.typeName, entry);
} else {
// handle qmldir module listing case where singleton is defined in the following pattern:
// singleton TestSingletonType 2.0 TestSingletonType20.qml
@@ -218,7 +225,7 @@ bool QQmlDirParser::parse(const QString &source)
const QString &fileName = sections[3];
Component entry(sections[1], fileName, major, minor);
entry.singleton = true;
- _components.insertMulti(entry.typeName, entry);
+ _components.insert(entry.typeName, entry);
} else {
reportError(lineNumber, 0, QStringLiteral("invalid version %1, expected <major>.<minor>").arg(sections[2]));
}
@@ -264,7 +271,7 @@ bool QQmlDirParser::parse(const QString &source)
} else if (sectionCount == 2) {
// No version specified (should only be used for relative qmldir files)
const Component entry(sections[0], sections[1], -1, -1);
- _components.insertMulti(entry.typeName, entry);
+ _components.insert(entry.typeName, entry);
} else if (sectionCount == 3) {
int major, minor;
if (parseVersion(sections[1], &major, &minor)) {
@@ -276,7 +283,7 @@ bool QQmlDirParser::parse(const QString &source)
_scripts.append(entry);
} else {
const Component entry(sections[0], fileName, major, minor);
- _components.insertMulti(entry.typeName, entry);
+ _components.insert(entry.typeName, entry);
}
} else {
reportError(lineNumber, 0, QStringLiteral("invalid version %1, expected <major>.<minor>").arg(sections[1]));
@@ -343,7 +350,7 @@ QList<QQmlDirParser::Plugin> QQmlDirParser::plugins() const
return _plugins;
}
-QHash<QString, QQmlDirParser::Component> QQmlDirParser::components() const
+QMultiHash<QString, QQmlDirParser::Component> QQmlDirParser::components() const
{
return _components;
}
diff --git a/src/qml/qmldirparser/qqmldirparser_p.h b/src/qml/qmldirparser/qqmldirparser_p.h
index c9d77532c8..3696a1aa12 100644
--- a/src/qml/qmldirparser/qqmldirparser_p.h
+++ b/src/qml/qmldirparser/qqmldirparser_p.h
@@ -64,6 +64,7 @@ class QQmlEngine;
class Q_QMLCOMPILER_PRIVATE_EXPORT QQmlDirParser
{
public:
+ void clear();
bool parse(const QString &source);
bool hasError() const;
@@ -75,7 +76,7 @@ public:
static void checkNonRelative(const char *item, const QString &typeName, const QString &fileName)
{
- if (fileName.startsWith(QLatin1Char('/')) || fileName.contains(QLatin1Char(':'))) {
+ if (fileName.startsWith(QLatin1Char('/'))) {
qWarning() << item << typeName
<< "is specified with non-relative URL" << fileName << "in a qmldir file."
<< "URLs in qmldir files should be relative to the qmldir file's directory.";
@@ -131,7 +132,7 @@ public:
int minorVersion = 0;
};
- QHash<QString,Component> components() const;
+ QMultiHash<QString,Component> components() const;
QHash<QString,Component> dependencies() const;
QStringList imports() const;
QList<Script> scripts() const;
@@ -158,7 +159,7 @@ private:
private:
QList<QQmlJS::DiagnosticMessage> _errors;
QString _typeNamespace;
- QHash<QString,Component> _components; // multi hash
+ QMultiHash<QString,Component> _components;
QHash<QString,Component> _dependencies;
QStringList _imports;
QList<Script> _scripts;
@@ -168,7 +169,7 @@ private:
QString _className;
};
-using QQmlDirComponents = QHash<QString,QQmlDirParser::Component>;
+using QQmlDirComponents = QMultiHash<QString,QQmlDirParser::Component>;
using QQmlDirScripts = QList<QQmlDirParser::Script>;
using QQmlDirPlugins = QList<QQmlDirParser::Plugin>;
diff --git a/src/qml/doc/images/listmodel-nested.png b/src/qmlmodels/doc/images/listmodel-nested.png
index ee7ffba67a..ee7ffba67a 100644
--- a/src/qml/doc/images/listmodel-nested.png
+++ b/src/qmlmodels/doc/images/listmodel-nested.png
Binary files differ
diff --git a/src/qml/doc/images/listmodel.png b/src/qmlmodels/doc/images/listmodel.png
index 7ab1771f15..7ab1771f15 100644
--- a/src/qml/doc/images/listmodel.png
+++ b/src/qmlmodels/doc/images/listmodel.png
Binary files differ
diff --git a/src/qml/doc/images/objectmodel.png b/src/qmlmodels/doc/images/objectmodel.png
index 5e6d1325b2..5e6d1325b2 100644
--- a/src/qml/doc/images/objectmodel.png
+++ b/src/qmlmodels/doc/images/objectmodel.png
Binary files differ
diff --git a/src/qmlmodels/doc/qtqmlmodels.qdocconf b/src/qmlmodels/doc/qtqmlmodels.qdocconf
index a4153f4a53..3364988559 100644
--- a/src/qmlmodels/doc/qtqmlmodels.qdocconf
+++ b/src/qmlmodels/doc/qtqmlmodels.qdocconf
@@ -23,15 +23,18 @@ qhp.QtQmlModels.sortPages = true
tagfile = qtqmlmodels.tags
-depends += qtcore qtqml qtdoc
+depends += qtcore qtqml qtquick qtdoc qtqmlworkerscript qtquickcontrols qtxmlpatterns
-headerdirs += ..
+headerdirs += .. \
+ ../../imports/labsmodels
sourcedirs += .. \
- ../../imports/models
+ ../../imports/models \
+ ../../imports/labsmodels
-exampledirs += ../../../examples/qml \
- ../ \
+exampledirs += .. \
snippets
+imagedirs += images
+
navigation.qmltypespage = "Qt Qml Models QML Types"
diff --git a/src/qmlmodels/qqmldelegatemodel.cpp b/src/qmlmodels/qqmldelegatemodel.cpp
index e3c01d040a..7ad53eeb6c 100644
--- a/src/qmlmodels/qqmldelegatemodel.cpp
+++ b/src/qmlmodels/qqmldelegatemodel.cpp
@@ -55,6 +55,8 @@
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcItemViewDelegateRecycling, "qt.quick.itemview.delegaterecycling")
+
class QQmlDelegateModelItem;
namespace QV4 {
@@ -205,6 +207,9 @@ QQmlDelegateModelPrivate::~QQmlDelegateModelPrivate()
{
qDeleteAll(m_finishedIncubating);
+ // Free up all items in the pool
+ drainReusableItemsPool(0);
+
if (m_cacheMetaType)
m_cacheMetaType->release();
}
@@ -588,36 +593,47 @@ int QQmlDelegateModel::count() const
return d->m_compositor.count(d->m_compositorGroup);
}
-QQmlDelegateModel::ReleaseFlags QQmlDelegateModelPrivate::release(QObject *object)
+QQmlDelegateModel::ReleaseFlags QQmlDelegateModelPrivate::release(QObject *object, QQmlInstanceModel::ReusableFlag reusableFlag)
{
if (!object)
- return QQmlDelegateModel::ReleaseFlags(0);
+ return QQmlDelegateModel::ReleaseFlags{};
QQmlDelegateModelItem *cacheItem = QQmlDelegateModelItem::dataForObject(object);
if (!cacheItem)
- return QQmlDelegateModel::ReleaseFlags(0);
+ return QQmlDelegateModel::ReleaseFlags{};
if (!cacheItem->releaseObject())
return QQmlDelegateModel::Referenced;
+ if (reusableFlag == QQmlInstanceModel::Reusable) {
+ removeCacheItem(cacheItem);
+ m_reusableItemsPool.insertItem(cacheItem);
+ emit q_func()->itemPooled(cacheItem->index, cacheItem->object);
+ return QQmlInstanceModel::Pooled;
+ }
+
+ destroyCacheItem(cacheItem);
+ return QQmlInstanceModel::Destroyed;
+}
+
+void QQmlDelegateModelPrivate::destroyCacheItem(QQmlDelegateModelItem *cacheItem)
+{
+ emitDestroyingItem(cacheItem->object);
cacheItem->destroyObject();
- emitDestroyingItem(object);
if (cacheItem->incubationTask) {
releaseIncubator(cacheItem->incubationTask);
cacheItem->incubationTask = nullptr;
}
cacheItem->Dispose();
- return QQmlInstanceModel::Destroyed;
}
/*
Returns ReleaseStatus flags.
*/
-
-QQmlDelegateModel::ReleaseFlags QQmlDelegateModel::release(QObject *item)
+QQmlDelegateModel::ReleaseFlags QQmlDelegateModel::release(QObject *item, QQmlInstanceModel::ReusableFlag reusableFlag)
{
Q_D(QQmlDelegateModel);
- QQmlInstanceModel::ReleaseFlags stat = d->release(item);
+ QQmlInstanceModel::ReleaseFlags stat = d->release(item, reusableFlag);
return stat;
}
@@ -937,13 +953,14 @@ void PropertyUpdater::breakBinding()
void QQDMIncubationTask::initializeRequiredProperties(QQmlDelegateModelItem *modelItemToIncubate, QObject *object)
{
auto incubatorPriv = QQmlIncubatorPrivate::get(this);
- QQmlData *d = QQmlData::get(object);
- auto contextData = d ? d->context : nullptr;
- if (contextData) {
- contextData->hasExtraObject = true;
- contextData->extraObject = modelItemToIncubate;
- }
if (incubatorPriv->hadRequiredProperties()) {
+ QQmlData *d = QQmlData::get(object);
+ auto contextData = d ? d->context : nullptr;
+ if (contextData) {
+ contextData->hasExtraObject = true;
+ contextData->extraObject = modelItemToIncubate;
+ }
+
if (incubatorPriv->requiredProperties().empty())
return;
RequiredProperties &requiredProperties = incubatorPriv->requiredProperties();
@@ -954,21 +971,25 @@ void QQDMIncubationTask::initializeRequiredProperties(QQmlDelegateModelItem *mod
// column, model and more
// the most derived subclass of QQmlDelegateModelItem is QQmlDMAbstractModelData at depth 2,
// so 4 should be plenty
- QVarLengthArray<const QMetaObject *, 4> mos;
+ QVarLengthArray<QPair<const QMetaObject *, QObject *>, 4> mos;
// we first check the dynamic meta object for properties originating from the model
- mos.push_back(qmlMetaObject); // contains abstractitemmodelproperties
+ // contains abstractitemmodelproperties
+ mos.push_back(qMakePair(qmlMetaObject, modelItemToIncubate));
auto delegateModelItemSubclassMO = qmlMetaObject->superClass();
- mos.push_back(delegateModelItemSubclassMO);
+ mos.push_back(qMakePair(delegateModelItemSubclassMO, modelItemToIncubate));
- while (strcmp(delegateModelItemSubclassMO->className(), modelItemToIncubate->staticMetaObject.className())) {
+ while (strcmp(delegateModelItemSubclassMO->className(),
+ modelItemToIncubate->staticMetaObject.className())) {
delegateModelItemSubclassMO = delegateModelItemSubclassMO->superClass();
- mos.push_back(delegateModelItemSubclassMO);
+ mos.push_back(qMakePair(delegateModelItemSubclassMO, modelItemToIncubate));
}
if (proxiedObject)
- mos.push_back(proxiedObject->metaObject());
+ mos.push_back(qMakePair(proxiedObject->metaObject(), proxiedObject));
auto updater = new PropertyUpdater(object);
- for (const QMetaObject *mo : mos) {
+ for (const auto &metaObjectAndObject : mos) {
+ const QMetaObject *mo = metaObjectAndObject.first;
+ QObject *itemOrProxy = metaObjectAndObject.second;
for (int i = mo->propertyOffset(); i < mo->propertyCount() + mo->propertyOffset(); ++i) {
auto prop = mo->property(i);
if (!prop.name())
@@ -980,19 +1001,23 @@ void QQDMIncubationTask::initializeRequiredProperties(QQmlDelegateModelItem *mod
// only write to property if it was actually requested by the component
if (wasInRequired && prop.hasNotifySignal()) {
QMetaMethod changeSignal = prop.notifySignal();
- static QMetaMethod updateSlot = PropertyUpdater::staticMetaObject.method(PropertyUpdater::staticMetaObject.indexOfSlot("doUpdate()"));
- QMetaObject::Connection conn = QObject::connect(modelItemToIncubate, changeSignal, updater, updateSlot);
+ static QMetaMethod updateSlot = PropertyUpdater::staticMetaObject.method(
+ PropertyUpdater::staticMetaObject.indexOfSlot("doUpdate()"));
+ QMetaObject::Connection conn = QObject::connect(itemOrProxy, changeSignal,
+ updater, updateSlot);
auto propIdx = object->metaObject()->indexOfProperty(propName.toUtf8());
- QMetaMethod writeToPropSignal = object->metaObject()->property(propIdx).notifySignal();
+ QMetaMethod writeToPropSignal
+ = object->metaObject()->property(propIdx).notifySignal();
updater->senderToConnection[writeToPropSignal.methodIndex()] = conn;
- static QMetaMethod breakBinding = PropertyUpdater::staticMetaObject.method(PropertyUpdater::staticMetaObject.indexOfSlot("breakBinding()"));
- componentProp.write(prop.read(modelItemToIncubate));
+ static QMetaMethod breakBinding = PropertyUpdater::staticMetaObject.method(
+ PropertyUpdater::staticMetaObject.indexOfSlot("breakBinding()"));
+ componentProp.write(prop.read(itemOrProxy));
// the connection needs to established after the write,
// else the signal gets triggered by it and breakBinding will remove the connection
QObject::connect(object, writeToPropSignal, updater, breakBinding);
}
else if (wasInRequired) // we still have to write, even if there is no change signal
- componentProp.write(prop.read(modelItemToIncubate));
+ componentProp.write(prop.read(itemOrProxy));
}
}
} else {
@@ -1033,6 +1058,71 @@ void QQmlDelegateModelPrivate::releaseIncubator(QQDMIncubationTask *incubationTa
}
}
+void QQmlDelegateModelPrivate::reuseItem(QQmlDelegateModelItem *item, int newModelIndex, int newGroups)
+{
+ Q_ASSERT(item->object);
+
+ // Update/reset which groups the item belongs to
+ item->groups = newGroups;
+
+ // Update context property index (including row and column) on the delegate
+ // item, and inform the application about it. For a list, the row is the same
+ // as the index, and the column is always 0. We set alwaysEmit to true, to
+ // force all bindings to be reevaluated, even if the index didn't change.
+ const bool alwaysEmit = true;
+ item->setModelIndex(newModelIndex, newModelIndex, 0, alwaysEmit);
+
+ // Notify the application that all 'dynamic'/role-based context data has
+ // changed as well (their getter function will use the updated index).
+ auto const itemAsList = QList<QQmlDelegateModelItem *>() << item;
+ auto const updateAllRoles = QVector<int>();
+ m_adaptorModel.notify(itemAsList, newModelIndex, 1, updateAllRoles);
+
+ if (QQmlDelegateModelAttached *att = static_cast<QQmlDelegateModelAttached *>(
+ qmlAttachedPropertiesObject<QQmlDelegateModel>(item->object, false))) {
+ // Update currentIndex of the attached DelegateModel object
+ // to the index the item has in the cache.
+ att->resetCurrentIndex();
+ // emitChanges will emit both group-, and index changes to the application
+ att->emitChanges();
+ }
+
+ // Inform the view that the item is recycled. This will typically result
+ // in the view updating its own attached delegate item properties.
+ emit q_func()->itemReused(newModelIndex, item->object);
+}
+
+void QQmlDelegateModelPrivate::drainReusableItemsPool(int maxPoolTime)
+{
+ m_reusableItemsPool.drain(maxPoolTime, [=](QQmlDelegateModelItem *cacheItem){ destroyCacheItem(cacheItem); });
+}
+
+void QQmlDelegateModel::drainReusableItemsPool(int maxPoolTime)
+{
+ d_func()->drainReusableItemsPool(maxPoolTime);
+}
+
+int QQmlDelegateModel::poolSize()
+{
+ return d_func()->m_reusableItemsPool.size();
+}
+
+QQmlComponent *QQmlDelegateModelPrivate::resolveDelegate(int index)
+{
+ if (!m_delegateChooser)
+ return m_delegate;
+
+ QQmlComponent *delegate = nullptr;
+ QQmlAbstractDelegateComponent *chooser = m_delegateChooser;
+
+ do {
+ delegate = chooser->delegate(&m_adaptorModel, index);
+ chooser = qobject_cast<QQmlAbstractDelegateComponent *>(delegate);
+ } while (chooser);
+
+ return delegate;
+}
+
void QQmlDelegateModelPrivate::addCacheItem(QQmlDelegateModelItem *item, Compositor::iterator it)
{
m_cache.insert(it.cacheIndex, item);
@@ -1124,13 +1214,33 @@ QObject *QQmlDelegateModelPrivate::object(Compositor::Group group, int index, QQ
QQmlDelegateModelItem *cacheItem = it->inCache() ? m_cache.at(it.cacheIndex) : 0;
- if (!cacheItem) {
- cacheItem = m_adaptorModel.createItem(m_cacheMetaType, it.modelIndex());
- if (!cacheItem)
+ if (!cacheItem || !cacheItem->delegate) {
+ QQmlComponent *delegate = resolveDelegate(it.modelIndex());
+ if (!delegate)
return nullptr;
- cacheItem->groups = it->flags;
- addCacheItem(cacheItem, it);
+ if (!cacheItem) {
+ cacheItem = m_reusableItemsPool.takeItem(delegate, index);
+ if (cacheItem) {
+ // Move the pooled item back into the cache, update
+ // all related properties, and return the object (which
+ // has already been incubated, otherwise it wouldn't be in the pool).
+ addCacheItem(cacheItem, it);
+ reuseItem(cacheItem, index, it->flags);
+ cacheItem->referenceObject();
+ return cacheItem->object;
+ }
+
+ // Since we could't find an available item in the pool, we create a new one
+ cacheItem = m_adaptorModel.createItem(m_cacheMetaType, it.modelIndex());
+ if (!cacheItem)
+ return nullptr;
+
+ cacheItem->groups = it->flags;
+ addCacheItem(cacheItem, it);
+ }
+
+ cacheItem->delegate = delegate;
}
// Bump the reference counts temporarily so neither the content data or the delegate object
@@ -1145,18 +1255,7 @@ QObject *QQmlDelegateModelPrivate::object(Compositor::Group group, int index, QQ
cacheItem->incubationTask->forceCompletion();
}
} else if (!cacheItem->object) {
- QQmlComponent *delegate = m_delegate;
- if (m_delegateChooser) {
- QQmlAbstractDelegateComponent *chooser = m_delegateChooser;
- do {
- delegate = chooser->delegate(&m_adaptorModel, index);
- chooser = qobject_cast<QQmlAbstractDelegateComponent *>(delegate);
- } while (chooser);
- if (!delegate)
- return nullptr;
- }
-
- QQmlContext *creationContext = delegate->creationContext();
+ QQmlContext *creationContext = cacheItem->delegate->creationContext();
cacheItem->scriptRef += 1;
@@ -1185,10 +1284,10 @@ QObject *QQmlDelegateModelPrivate::object(Compositor::Group group, int index, QQ
}
}
- QQmlComponentPrivate *cp = QQmlComponentPrivate::get(delegate);
+ QQmlComponentPrivate *cp = QQmlComponentPrivate::get(cacheItem->delegate);
cp->incubateObject(
cacheItem->incubationTask,
- delegate,
+ cacheItem->delegate,
m_context->engine(),
ctxt,
QQmlContextData::get(m_context));
@@ -2234,7 +2333,7 @@ void QQmlDelegateModelItem::Dispose()
delete this;
}
-void QQmlDelegateModelItem::setModelIndex(int idx, int newRow, int newColumn)
+void QQmlDelegateModelItem::setModelIndex(int idx, int newRow, int newColumn, bool alwaysEmit)
{
const int prevIndex = index;
const int prevRow = row;
@@ -2244,11 +2343,11 @@ void QQmlDelegateModelItem::setModelIndex(int idx, int newRow, int newColumn)
row = newRow;
column = newColumn;
- if (idx != prevIndex)
+ if (idx != prevIndex || alwaysEmit)
emit modelIndexChanged();
- if (row != prevRow)
+ if (row != prevRow || alwaysEmit)
emit rowChanged();
- if (column != prevColumn)
+ if (column != prevColumn || alwaysEmit)
emit columnChanged();
}
@@ -3437,7 +3536,7 @@ QObject *QQmlPartsModel::object(int index, QQmlIncubator::IncubationMode incubat
QObject *part = package->part(m_part);
if (!part)
return nullptr;
- m_packaged.insertMulti(part, package);
+ m_packaged.insert(part, package);
return part;
}
@@ -3451,11 +3550,11 @@ QObject *QQmlPartsModel::object(int index, QQmlIncubator::IncubationMode incubat
return nullptr;
}
-QQmlInstanceModel::ReleaseFlags QQmlPartsModel::release(QObject *item)
+QQmlInstanceModel::ReleaseFlags QQmlPartsModel::release(QObject *item, ReusableFlag)
{
- QQmlInstanceModel::ReleaseFlags flags = nullptr;
+ QQmlInstanceModel::ReleaseFlags flags;
- QHash<QObject *, QQuickPackage *>::iterator it = m_packaged.find(item);
+ auto it = m_packaged.find(item);
if (it != m_packaged.end()) {
QQuickPackage *package = *it;
QQmlDelegateModelPrivate *model = QQmlDelegateModelPrivate::get(m_model);
@@ -3496,7 +3595,7 @@ QQmlIncubator::Status QQmlPartsModel::incubationStatus(int index)
int QQmlPartsModel::indexOf(QObject *item, QObject *) const
{
- QHash<QObject *, QQuickPackage *>::const_iterator it = m_packaged.find(item);
+ auto it = m_packaged.find(item);
if (it != m_packaged.end()) {
if (QQmlDelegateModelItem *cacheItem = QQmlDelegateModelItem::dataForObject(*it))
return cacheItem->groupIndex(m_compositorGroup);
@@ -3544,6 +3643,121 @@ void QQmlPartsModel::emitModelUpdated(const QQmlChangeSet &changeSet, bool reset
}
}
+void QQmlReusableDelegateModelItemsPool::insertItem(QQmlDelegateModelItem *modelItem)
+{
+ // Currently, the only way for a view to reuse items is to call release()
+ // in the model class with the second argument explicitly set to
+ // QQmlReuseableDelegateModelItemsPool::Reusable. If the released item is
+ // no longer referenced, it will be added to the pool. Reusing of items can
+ // be specified per item, in case certain items cannot be recycled. A
+ // QQmlDelegateModelItem knows which delegate its object was created from.
+ // So when we are about to create a new item, we first check if the pool
+ // contains an item based on the same delegate from before. If so, we take
+ // it out of the pool (instead of creating a new item), and update all its
+ // context properties and attached properties.
+
+ // When a view is recycling items, it should call drain() regularly. As
+ // there is currently no logic to 'hibernate' items in the pool, they are
+ // only meant to rest there for a short while, ideally only from the time
+ // e.g a row is unloaded on one side of the view, and until a new row is
+ // loaded on the opposite side. Between these times, the application will
+ // see the item as fully functional and 'alive' (just not visible on
+ // screen). Since this time is supposed to be short, we don't take any
+ // action to notify the application about it, since we don't want to
+ // trigger any bindings that can disturb performance.
+
+ // A recommended time for calling drain() is each time a view has finished
+ // loading e.g a new row or column. If there are more items in the pool
+ // after that, it means that the view most likely doesn't need them anytime
+ // soon. Those items should be destroyed to reduce resource consumption.
+
+ // Depending on if a view is a list or a table, it can sometimes be
+ // performant to keep items in the pool for a bit longer than one "row
+ // out/row in" cycle. E.g for a table, if the number of visible rows in a
+ // view is much larger than the number of visible columns. In that case, if
+ // you flick out a row, and then flick in a column, you would throw away a
+ // lot of items in the pool if completely draining it. The reason is that
+ // unloading a row places more items in the pool than what ends up being
+ // recycled when loading a new column. And then, when you next flick in a
+ // new row, you would need to load all those drained items again from
+ // scratch. For that reason, you can specify a maxPoolTime to the
+ // drainReusableItemsPool() that allows you to keep items in the pool for a
+ // bit longer, effectively keeping more items in circulation. A recommended
+ // maxPoolTime would be equal to the number of dimensions in the view,
+ // which means 1 for a list view and 2 for a table view. If you specify 0,
+ // all items will be drained.
+
+ Q_ASSERT(!modelItem->incubationTask);
+ Q_ASSERT(!modelItem->isObjectReferenced());
+ Q_ASSERT(modelItem->object);
+ Q_ASSERT(modelItem->delegate);
+
+ modelItem->poolTime = 0;
+ m_reusableItemsPool.append(modelItem);
+
+ qCDebug(lcItemViewDelegateRecycling)
+ << "item:" << modelItem
+ << "delegate:" << modelItem->delegate
+ << "index:" << modelItem->modelIndex()
+ << "row:" << modelItem->modelRow()
+ << "column:" << modelItem->modelColumn()
+ << "pool size:" << m_reusableItemsPool.size();
+}
+
+QQmlDelegateModelItem *QQmlReusableDelegateModelItemsPool::takeItem(const QQmlComponent *delegate, int newIndexHint)
+{
+ // Find the oldest item in the pool that was made from the same delegate as
+ // the given argument, remove it from the pool, and return it.
+ for (auto it = m_reusableItemsPool.begin(); it != m_reusableItemsPool.end(); ++it) {
+ if ((*it)->delegate != delegate)
+ continue;
+ auto modelItem = *it;
+ m_reusableItemsPool.erase(it);
+
+ qCDebug(lcItemViewDelegateRecycling)
+ << "item:" << modelItem
+ << "delegate:" << delegate
+ << "old index:" << modelItem->modelIndex()
+ << "old row:" << modelItem->modelRow()
+ << "old column:" << modelItem->modelColumn()
+ << "new index:" << newIndexHint
+ << "pool size:" << m_reusableItemsPool.size();
+
+ return modelItem;
+ }
+
+ qCDebug(lcItemViewDelegateRecycling)
+ << "no available item for delegate:" << delegate
+ << "new index:" << newIndexHint
+ << "pool size:" << m_reusableItemsPool.size();
+
+ return nullptr;
+}
+
+void QQmlReusableDelegateModelItemsPool::drain(int maxPoolTime, std::function<void(QQmlDelegateModelItem *cacheItem)> releaseItem)
+{
+ // Rather than releasing all pooled items upon a call to this function, each
+ // item has a poolTime. The poolTime specifies for how many loading cycles an item
+ // has been resting in the pool. And for each invocation of this function, poolTime
+ // will increase. If poolTime is equal to, or exceeds, maxPoolTime, it will be removed
+ // from the pool and released. This way, the view can tweak a bit for how long
+ // items should stay in "circulation", even if they are not recycled right away.
+ qCDebug(lcItemViewDelegateRecycling) << "pool size before drain:" << m_reusableItemsPool.size();
+
+ for (auto it = m_reusableItemsPool.begin(); it != m_reusableItemsPool.end();) {
+ auto modelItem = *it;
+ modelItem->poolTime++;
+ if (modelItem->poolTime <= maxPoolTime) {
+ ++it;
+ } else {
+ it = m_reusableItemsPool.erase(it);
+ releaseItem(modelItem);
+ }
+ }
+
+ qCDebug(lcItemViewDelegateRecycling) << "pool size after drain:" << m_reusableItemsPool.size();
+}
+
//============================================================================
struct QQmlDelegateModelGroupChange : QV4::Object
diff --git a/src/qmlmodels/qqmldelegatemodel_p.h b/src/qmlmodels/qqmldelegatemodel_p.h
index 02904a71d7..adb5f7008b 100644
--- a/src/qmlmodels/qqmldelegatemodel_p.h
+++ b/src/qmlmodels/qqmldelegatemodel_p.h
@@ -113,12 +113,15 @@ public:
int count() const override;
bool isValid() const override { return delegate() != nullptr; }
QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override;
- ReleaseFlags release(QObject *object) override;
+ ReleaseFlags release(QObject *object, ReusableFlag reusableFlag = NotReusable) override;
void cancel(int index) override;
QVariant variantValue(int index, const QString &role) override;
void setWatchedRoles(const QList<QByteArray> &roles) override;
QQmlIncubator::Status incubationStatus(int index) override;
+ void drainReusableItemsPool(int maxPoolTime) override;
+ int poolSize() override;
+
int indexOf(QObject *object, QObject *objectContext) const override;
QString filterGroup() const;
@@ -141,6 +144,8 @@ Q_SIGNALS:
void defaultGroupsChanged();
void rootIndexChanged();
void delegateChanged();
+ void itemPooled(int index, QObject *object);
+ void itemReused(int index, QObject *object);
private Q_SLOTS:
void _q_itemsChanged(int index, int count, const QVector<int> &roles);
diff --git a/src/qmlmodels/qqmldelegatemodel_p_p.h b/src/qmlmodels/qqmldelegatemodel_p_p.h
index 06365a212f..a1c4555d01 100644
--- a/src/qmlmodels/qqmldelegatemodel_p_p.h
+++ b/src/qmlmodels/qqmldelegatemodel_p_p.h
@@ -49,6 +49,8 @@
#include <private/qqmladaptormodel_p.h>
#include <private/qqmlopenmetaobject_p.h>
+#include <QtCore/qloggingcategory.h>
+
//
// W A R N I N G
// -------------
@@ -64,6 +66,8 @@ QT_REQUIRE_CONFIG(qml_delegate_model);
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcItemViewDelegateRecycling)
+
typedef QQmlListCompositor Compositor;
class QQmlDelegateModelAttachedMetaObject;
@@ -129,7 +133,7 @@ public:
int modelRow() const { return row; }
int modelColumn() const { return column; }
int modelIndex() const { return index; }
- virtual void setModelIndex(int idx, int newRow, int newColumn);
+ virtual void setModelIndex(int idx, int newRow, int newColumn, bool alwaysEmit = false);
virtual QV4::ReturnedValue get() { return QV4::QObjectWrapper::wrap(v4, this); }
@@ -190,7 +194,18 @@ void QV4::Heap::QQmlDelegateModelItemObject::init(QQmlDelegateModelItem *item)
this->item = item;
}
+class QQmlReusableDelegateModelItemsPool
+{
+public:
+ void insertItem(QQmlDelegateModelItem *modelItem);
+ QQmlDelegateModelItem *takeItem(const QQmlComponent *delegate, int newIndexHint);
+ void reuseItem(QQmlDelegateModelItem *item, int newModelIndex);
+ void drain(int maxPoolTime, std::function<void(QQmlDelegateModelItem *cacheItem)> releaseItem);
+ int size() { return m_reusableItemsPool.size(); }
+private:
+ QList<QQmlDelegateModelItem *> m_reusableItemsPool;
+};
class QQmlDelegateModelPrivate;
class QQDMIncubationTask : public QQmlIncubator
@@ -278,7 +293,7 @@ public:
void requestMoreIfNecessary();
QObject *object(Compositor::Group group, int index, QQmlIncubator::IncubationMode incubationMode);
- QQmlDelegateModel::ReleaseFlags release(QObject *object);
+ QQmlDelegateModel::ReleaseFlags release(QObject *object, QQmlInstanceModel::ReusableFlag reusable = QQmlInstanceModel::NotReusable);
QVariant variantValue(Compositor::Group group, int index, const QString &name);
void emitCreatedPackage(QQDMIncubationTask *incubationTask, QQuickPackage *package);
void emitInitPackage(QQDMIncubationTask *incubationTask, QQuickPackage *package);
@@ -290,9 +305,13 @@ public:
void emitDestroyingItem(QObject *item) { Q_EMIT q_func()->destroyingItem(item); }
void addCacheItem(QQmlDelegateModelItem *item, Compositor::iterator it);
void removeCacheItem(QQmlDelegateModelItem *cacheItem);
-
+ void destroyCacheItem(QQmlDelegateModelItem *cacheItem);
void updateFilterGroup();
+ void reuseItem(QQmlDelegateModelItem *item, int newModelIndex, int newGroups);
+ void drainReusableItemsPool(int maxPoolTime);
+ QQmlComponent *resolveDelegate(int index);
+
void addGroups(Compositor::iterator from, int count, Compositor::Group group, int groupFlags);
void removeGroups(Compositor::iterator from, int count, Compositor::Group group, int groupFlags);
void setGroups(Compositor::iterator from, int count, Compositor::Group group, int groupFlags);
@@ -337,6 +356,7 @@ public:
QQmlDelegateModelGroupEmitterList m_pendingParts;
QList<QQmlDelegateModelItem *> m_cache;
+ QQmlReusableDelegateModelItemsPool m_reusableItemsPool;
QList<QQDMIncubationTask *> m_finishedIncubating;
QList<QByteArray> m_watchedRoles;
@@ -380,7 +400,7 @@ public:
int count() const override;
bool isValid() const override;
QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override;
- ReleaseFlags release(QObject *item) override;
+ ReleaseFlags release(QObject *item, ReusableFlag reusable = NotReusable) override;
QVariant variantValue(int index, const QString &role) override;
QList<QByteArray> watchedRoles() const { return m_watchedRoles; }
void setWatchedRoles(const QList<QByteArray> &roles) override;
@@ -399,7 +419,7 @@ Q_SIGNALS:
private:
QQmlDelegateModel *m_model;
- QHash<QObject *, QQuickPackage *> m_packaged;
+ QMultiHash<QObject *, QQuickPackage *> m_packaged;
QString m_part;
QString m_filterGroup;
QList<QByteArray> m_watchedRoles;
diff --git a/src/qmlmodels/qqmllistmodel.cpp b/src/qmlmodels/qqmllistmodel.cpp
index e0a66e7170..f79910204a 100644
--- a/src/qmlmodels/qqmllistmodel.cpp
+++ b/src/qmlmodels/qqmllistmodel.cpp
@@ -1905,11 +1905,11 @@ void DynamicRoleModelNodeMetaObject::propertyWritten(int index)
Here is an example that uses WorkerScript to periodically append the
current time to a list model:
- \snippet ../quick/threading/threadedlistmodel/timedisplay.qml 0
+ \snippet ../../examples/quick/threading/threadedlistmodel/timedisplay.qml 0
The included file, \tt dataloader.mjs, looks like this:
- \snippet ../quick/threading/threadedlistmodel/dataloader.mjs 0
+ \snippet ../../examples/quick/threading/threadedlistmodel/dataloader.mjs 0
The timer in the main example sends messages to the worker script by calling
\l WorkerScript::sendMessage(). When this message is received,
diff --git a/src/qmlmodels/qqmlobjectmodel.cpp b/src/qmlmodels/qqmlobjectmodel.cpp
index 8e7b0a9b5f..85e64cc2f9 100644
--- a/src/qmlmodels/qqmlobjectmodel.cpp
+++ b/src/qmlmodels/qqmlobjectmodel.cpp
@@ -265,7 +265,7 @@ QObject *QQmlObjectModel::object(int index, QQmlIncubator::IncubationMode)
return item.item;
}
-QQmlInstanceModel::ReleaseFlags QQmlObjectModel::release(QObject *item)
+QQmlInstanceModel::ReleaseFlags QQmlObjectModel::release(QObject *item, ReusableFlag)
{
Q_D(QQmlObjectModel);
int idx = d->indexOf(item);
@@ -273,7 +273,7 @@ QQmlInstanceModel::ReleaseFlags QQmlObjectModel::release(QObject *item)
if (!d->children[idx].deref())
return QQmlInstanceModel::Referenced;
}
- return nullptr;
+ return {};
}
QVariant QQmlObjectModel::variantValue(int index, const QString &role)
diff --git a/src/qmlmodels/qqmlobjectmodel_p.h b/src/qmlmodels/qqmlobjectmodel_p.h
index 0aa818d724..6c68e55012 100644
--- a/src/qmlmodels/qqmlobjectmodel_p.h
+++ b/src/qmlmodels/qqmlobjectmodel_p.h
@@ -72,21 +72,29 @@ class Q_QMLMODELS_PRIVATE_EXPORT QQmlInstanceModel : public QObject
QML_ANONYMOUS
public:
+ enum ReusableFlag {
+ NotReusable,
+ Reusable
+ };
+
virtual ~QQmlInstanceModel() {}
- enum ReleaseFlag { Referenced = 0x01, Destroyed = 0x02 };
+ enum ReleaseFlag { Referenced = 0x01, Destroyed = 0x02, Pooled = 0x04 };
Q_DECLARE_FLAGS(ReleaseFlags, ReleaseFlag)
virtual int count() const = 0;
virtual bool isValid() const = 0;
virtual QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) = 0;
- virtual ReleaseFlags release(QObject *object) = 0;
+ virtual ReleaseFlags release(QObject *object, ReusableFlag reusableFlag = NotReusable) = 0;
virtual void cancel(int) {}
QString stringValue(int index, const QString &role) { return variantValue(index, role).toString(); }
virtual QVariant variantValue(int, const QString &) = 0;
virtual void setWatchedRoles(const QList<QByteArray> &roles) = 0;
virtual QQmlIncubator::Status incubationStatus(int index) = 0;
+ virtual void drainReusableItemsPool(int maxPoolTime) { Q_UNUSED(maxPoolTime) }
+ virtual int poolSize() { return 0; }
+
virtual int indexOf(QObject *object, QObject *objectContext) const = 0;
virtual const QAbstractItemModel *abstractItemModel() const { return nullptr; }
@@ -125,7 +133,7 @@ public:
int count() const override;
bool isValid() const override;
QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override;
- ReleaseFlags release(QObject *object) override;
+ ReleaseFlags release(QObject *object, ReusableFlag reusable = NotReusable) override;
QVariant variantValue(int index, const QString &role) override;
void setWatchedRoles(const QList<QByteArray> &) override {}
QQmlIncubator::Status incubationStatus(int index) override;
diff --git a/src/qmlmodels/qqmltableinstancemodel.cpp b/src/qmlmodels/qqmltableinstancemodel.cpp
index a538ae4a1f..b4d1e61e31 100644
--- a/src/qmlmodels/qqmltableinstancemodel.cpp
+++ b/src/qmlmodels/qqmltableinstancemodel.cpp
@@ -141,7 +141,7 @@ QQmlDelegateModelItem *QQmlTableInstanceModel::resolveModelItem(int index)
return nullptr;
// Check if the pool contains an item that can be reused
- modelItem = takeFromReusableItemsPool(delegate);
+ modelItem = m_reusableItemsPool.takeItem(delegate, index);
if (modelItem) {
reuseItem(modelItem, index);
m_modelItems.insert(index, modelItem);
@@ -225,16 +225,21 @@ QQmlInstanceModel::ReleaseFlags QQmlTableInstanceModel::release(QObject *object,
m_modelItems.remove(modelItem->index);
if (reusable == Reusable) {
- insertIntoReusableItemsPool(modelItem);
- return QQmlInstanceModel::Referenced;
+ m_reusableItemsPool.insertItem(modelItem);
+ emit itemPooled(modelItem->index, modelItem->object);
+ return QQmlInstanceModel::Pooled;
}
// The item is not reused or referenced by anyone, so just delete it
- modelItem->destroyObject();
- emit destroyingItem(object);
+ destroyModelItem(modelItem);
+ return QQmlInstanceModel::Destroyed;
+}
+void QQmlTableInstanceModel::destroyModelItem(QQmlDelegateModelItem *modelItem)
+{
+ emit destroyingItem(modelItem->object);
+ modelItem->destroyObject();
delete modelItem;
- return QQmlInstanceModel::Destroyed;
}
void QQmlTableInstanceModel::cancel(int index)
@@ -257,94 +262,22 @@ void QQmlTableInstanceModel::cancel(int index)
delete modelItem;
}
-void QQmlTableInstanceModel::insertIntoReusableItemsPool(QQmlDelegateModelItem *modelItem)
-{
- // Currently, the only way for a view to reuse items is to call QQmlTableInstanceModel::release()
- // with the second argument explicitly set to QQmlTableInstanceModel::Reusable. If the released
- // item is no longer referenced, it will be added to the pool. Reusing of items can be specified
- // per item, in case certain items cannot be recycled.
- // A QQmlDelegateModelItem knows which delegate its object was created from. So when we are
- // about to create a new item, we first check if the pool contains an item based on the same
- // delegate from before. If so, we take it out of the pool (instead of creating a new item), and
- // update all its context-, and attached properties.
- // When a view is recycling items, it should call QQmlTableInstanceModel::drainReusableItemsPool()
- // regularly. As there is currently no logic to 'hibernate' items in the pool, they are only
- // meant to rest there for a short while, ideally only from the time e.g a row is unloaded
- // on one side of the view, and until a new row is loaded on the opposite side. In-between
- // this time, the application will see the item as fully functional and 'alive' (just not
- // visible on screen). Since this time is supposed to be short, we don't take any action to
- // notify the application about it, since we don't want to trigger any bindings that can
- // disturb performance.
- // A recommended time for calling drainReusableItemsPool() is each time a view has finished
- // loading e.g a new row or column. If there are more items in the pool after that, it means
- // that the view most likely doesn't need them anytime soon. Those items should be destroyed to
- // not consume resources.
- // Depending on if a view is a list or a table, it can sometimes be performant to keep
- // items in the pool for a bit longer than one "row out/row in" cycle. E.g for a table, if the
- // number of visible rows in a view is much larger than the number of visible columns.
- // In that case, if you flick out a row, and then flick in a column, you would throw away a lot
- // of items in the pool if completely draining it. The reason is that unloading a row places more
- // items in the pool than what ends up being recycled when loading a new column. And then, when you
- // next flick in a new row, you would need to load all those drained items again from scratch. For
- // that reason, you can specify a maxPoolTime to the drainReusableItemsPool() that allows you to keep
- // items in the pool for a bit longer, effectively keeping more items in circulation.
- // A recommended maxPoolTime would be equal to the number of dimenstions in the view, which
- // means 1 for a list view and 2 for a table view. If you specify 0, all items will be drained.
- Q_ASSERT(!modelItem->incubationTask);
- Q_ASSERT(!modelItem->isObjectReferenced());
- Q_ASSERT(!modelItem->isReferenced());
- Q_ASSERT(modelItem->object);
-
- modelItem->poolTime = 0;
- m_reusableItemsPool.append(modelItem);
- emit itemPooled(modelItem->index, modelItem->object);
-}
-
-QQmlDelegateModelItem *QQmlTableInstanceModel::takeFromReusableItemsPool(const QQmlComponent *delegate)
-{
- // Find the oldest item in the pool that was made from the same delegate as
- // the given argument, remove it from the pool, and return it.
- if (m_reusableItemsPool.isEmpty())
- return nullptr;
-
- for (auto it = m_reusableItemsPool.begin(); it != m_reusableItemsPool.end(); ++it) {
- if ((*it)->delegate != delegate)
- continue;
- auto modelItem = *it;
- m_reusableItemsPool.erase(it);
- return modelItem;
- }
-
- return nullptr;
-}
-
void QQmlTableInstanceModel::drainReusableItemsPool(int maxPoolTime)
{
- // Rather than releasing all pooled items upon a call to this function, each
- // item has a poolTime. The poolTime specifies for how many loading cycles an item
- // has been resting in the pool. And for each invocation of this function, poolTime
- // will increase. If poolTime is equal to, or exceeds, maxPoolTime, it will be removed
- // from the pool and released. This way, the view can tweak a bit for how long
- // items should stay in "circulation", even if they are not recycled right away.
- for (auto it = m_reusableItemsPool.begin(); it != m_reusableItemsPool.end();) {
- auto modelItem = *it;
- modelItem->poolTime++;
- if (modelItem->poolTime <= maxPoolTime) {
- ++it;
- } else {
- it = m_reusableItemsPool.erase(it);
- release(modelItem->object, NotReusable);
- }
- }
+ m_reusableItemsPool.drain(maxPoolTime, [=](QQmlDelegateModelItem *modelItem){ destroyModelItem(modelItem); });
}
void QQmlTableInstanceModel::reuseItem(QQmlDelegateModelItem *item, int newModelIndex)
{
// Update the context properties index, row and column on
// the delegate item, and inform the application about it.
+ // Note that we set alwaysEmit to true, to force all bindings
+ // to be reevaluated, even if the index didn't change (since
+ // the model can have changed size since last usage).
+ const bool alwaysEmit = true;
const int newRow = m_adaptorModel.rowAt(newModelIndex);
const int newColumn = m_adaptorModel.columnAt(newModelIndex);
- item->setModelIndex(newModelIndex, newRow, newColumn);
+ item->setModelIndex(newModelIndex, newRow, newColumn, alwaysEmit);
// Notify the application that all 'dynamic'/role-based context data has
// changed as well (their getter function will use the updated index).
diff --git a/src/qmlmodels/qqmltableinstancemodel_p.h b/src/qmlmodels/qqmltableinstancemodel_p.h
index ce5a37bc98..d924455918 100644
--- a/src/qmlmodels/qqmltableinstancemodel_p.h
+++ b/src/qmlmodels/qqmltableinstancemodel_p.h
@@ -86,12 +86,6 @@ class Q_QMLMODELS_PRIVATE_EXPORT QQmlTableInstanceModel : public QQmlInstanceMod
Q_OBJECT
public:
-
- enum ReusableFlag {
- NotReusable,
- Reusable
- };
-
QQmlTableInstanceModel(QQmlContext *qmlContext, QObject *parent = nullptr);
~QQmlTableInstanceModel() override;
@@ -103,6 +97,9 @@ public:
bool isValid() const override { return true; }
+ bool canFetchMore() const { return m_adaptorModel.canFetchMore(); }
+ void fetchMore() { m_adaptorModel.fetchMore(); }
+
QVariant model() const;
void setModel(const QVariant &model);
@@ -112,14 +109,11 @@ public:
const QAbstractItemModel *abstractItemModel() const override;
QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override;
- ReleaseFlags release(QObject *object) override { return release(object, NotReusable); }
- ReleaseFlags release(QObject *object, ReusableFlag reusable);
+ ReleaseFlags release(QObject *object, ReusableFlag reusable = NotReusable) override;
void cancel(int) override;
- void insertIntoReusableItemsPool(QQmlDelegateModelItem *modelItem);
- QQmlDelegateModelItem *takeFromReusableItemsPool(const QQmlComponent *delegate);
- void drainReusableItemsPool(int maxPoolTime);
- int poolSize() { return m_reusableItemsPool.size(); }
+ void drainReusableItemsPool(int maxPoolTime) override;
+ int poolSize() override { return m_reusableItemsPool.size(); }
void reuseItem(QQmlDelegateModelItem *item, int newModelIndex);
QQmlIncubator::Status incubationStatus(int index) override;
@@ -142,7 +136,7 @@ private:
QQmlDelegateModelItemMetaType *m_metaType;
QHash<int, QQmlDelegateModelItem *> m_modelItems;
- QList<QQmlDelegateModelItem *> m_reusableItemsPool;
+ QQmlReusableDelegateModelItemsPool m_reusableItemsPool;
QList<QQmlIncubator *> m_finishedIncubationTasks;
void incubateModelItem(QQmlDelegateModelItem *modelItem, QQmlIncubator::IncubationMode incubationMode);
@@ -150,6 +144,7 @@ private:
void deleteIncubationTaskLater(QQmlIncubator *incubationTask);
void deleteAllFinishedIncubationTasks();
QQmlDelegateModelItem *resolveModelItem(int index);
+ void destroyModelItem(QQmlDelegateModelItem *modelItem);
void dataChangedCallback(const QModelIndex &begin, const QModelIndex &end, const QVector<int> &roles);
diff --git a/src/qmltest/quicktestevent.cpp b/src/qmltest/quicktestevent.cpp
index 127efa3894..56faff9f7e 100644
--- a/src/qmltest/quicktestevent.cpp
+++ b/src/qmltest/quicktestevent.cpp
@@ -197,7 +197,7 @@ namespace QtQuickTest
me.setTimestamp(++lastMouseTimestamp);
break;
case MouseRelease:
- me = QMouseEvent(QEvent::MouseButtonRelease, pos, window->mapToGlobal(pos), button, nullptr, stateKey);
+ me = QMouseEvent(QEvent::MouseButtonRelease, pos, window->mapToGlobal(pos), button, {}, stateKey);
me.setTimestamp(++lastMouseTimestamp);
lastMouseTimestamp += 500; // avoid double clicks being generated
break;
diff --git a/src/qmltyperegistrar/qmltypescreator.cpp b/src/qmltyperegistrar/qmltypescreator.cpp
index 7bac6a87d8..911120027e 100644
--- a/src/qmltyperegistrar/qmltypescreator.cpp
+++ b/src/qmltyperegistrar/qmltypescreator.cpp
@@ -173,9 +173,9 @@ void QmlTypesCreator::writeMethods(const QJsonArray &methods, const QString &typ
{
for (const QJsonValue &method : methods) {
const QJsonObject obj = method.toObject();
- if (obj[QLatin1String("access")].toString() != QLatin1String("public"))
- continue;
const QString name = obj[QLatin1String("name")].toString();
+ if (name.isEmpty())
+ continue;
const QJsonArray arguments = method[QLatin1String("arguments")].toArray();
const auto revision = obj.find(QLatin1String("revision"));
if (notifySignals.contains(name) && arguments.isEmpty() && revision == obj.end())
diff --git a/src/qmlworkerscript/doc/qtqmlworkerscript.qdocconf b/src/qmlworkerscript/doc/qtqmlworkerscript.qdocconf
index bb883cf39f..e56e1759b3 100644
--- a/src/qmlworkerscript/doc/qtqmlworkerscript.qdocconf
+++ b/src/qmlworkerscript/doc/qtqmlworkerscript.qdocconf
@@ -23,15 +23,13 @@ qhp.QtQmlWorkerScript.sortPages = true
tagfile = qtqmlworkerscript.tags
-depends += qtcore qtqml qtdoc
+depends += qtcore qtqml qtquick qtdoc
headerdirs += ..
sourcedirs += .. \
../../imports/workerscript
-exampledirs += ../../../examples/qml \
- ../ \
- snippets
+exampledirs += snippets
navigation.qmltypespage = "Qt Qml WorkerScript QML Types"
diff --git a/src/qml/doc/snippets/qml/workerscript/script.mjs b/src/qmlworkerscript/doc/snippets/qml/workerscript/script.mjs
index f55dee3507..f55dee3507 100644
--- a/src/qml/doc/snippets/qml/workerscript/script.mjs
+++ b/src/qmlworkerscript/doc/snippets/qml/workerscript/script.mjs
diff --git a/src/qml/doc/snippets/qml/workerscript/workerscript.qml b/src/qmlworkerscript/doc/snippets/qml/workerscript/workerscript.qml
index cc637d34cf..cc637d34cf 100644
--- a/src/qml/doc/snippets/qml/workerscript/workerscript.qml
+++ b/src/qmlworkerscript/doc/snippets/qml/workerscript/workerscript.qml
diff --git a/src/qmlworkerscript/qquickworkerscript.cpp b/src/qmlworkerscript/qquickworkerscript.cpp
index 8b236697b9..9e4b3e1b46 100644
--- a/src/qmlworkerscript/qquickworkerscript.cpp
+++ b/src/qmlworkerscript/qquickworkerscript.cpp
@@ -533,6 +533,17 @@ void QQuickWorkerScript::setSource(const QUrl &source)
}
/*!
+ \qmlproperty url WorkerScript::ready
+
+ This holds whether the WorkerScript has been initialized and is ready
+ for receiving messages via \tt WorkerScript.sendMessage().
+*/
+bool QQuickWorkerScript::ready() const
+{
+ return m_engine != nullptr;
+}
+
+/*!
\qmlmethod WorkerScript::sendMessage(jsobject message)
Sends the given \a message to a worker script handler in another
@@ -592,6 +603,8 @@ QQuickWorkerScriptEngine *QQuickWorkerScript::engine()
if (m_source.isValid())
m_engine->executeUrl(m_scriptId, m_source);
+ emit readyChanged();
+
return m_engine;
}
return nullptr;
diff --git a/src/qmlworkerscript/qquickworkerscript_p.h b/src/qmlworkerscript/qquickworkerscript_p.h
index 9b5d3587fb..d1f686a78d 100644
--- a/src/qmlworkerscript/qquickworkerscript_p.h
+++ b/src/qmlworkerscript/qquickworkerscript_p.h
@@ -87,6 +87,8 @@ class Q_AUTOTEST_EXPORT QQuickWorkerScript : public QObject, public QQmlParserSt
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(bool ready READ ready NOTIFY readyChanged)
+
QML_NAMED_ELEMENT(WorkerScript);
Q_INTERFACES(QQmlParserStatus)
@@ -97,11 +99,14 @@ public:
QUrl source() const;
void setSource(const QUrl &);
+ bool ready() const;
+
public Q_SLOTS:
void sendMessage(QQmlV4Function*);
Q_SIGNALS:
void sourceChanged();
+ void readyChanged();
void message(const QJSValue &messageObject);
protected:
diff --git a/src/quick/designer/qquickdesignercustomobjectdata.cpp b/src/quick/designer/qquickdesignercustomobjectdata.cpp
index 8989de711e..6b39f5157b 100644
--- a/src/quick/designer/qquickdesignercustomobjectdata.cpp
+++ b/src/quick/designer/qquickdesignercustomobjectdata.cpp
@@ -192,7 +192,7 @@ void QQuickDesignerCustomObjectData::doResetProperty(QQmlContext *context, const
QQmlAbstractBinding *binding = QQmlPropertyPrivate::binding(property);
if (binding && !(hasValidResetBinding(propertyName) && getResetBinding(propertyName) == binding)) {
- binding->setEnabled(false, nullptr);
+ binding->setEnabled(false, {});
}
diff --git a/src/quick/doc/qtquick.qdocconf b/src/quick/doc/qtquick.qdocconf
index 91458527dd..0d46e3408d 100644
--- a/src/quick/doc/qtquick.qdocconf
+++ b/src/quick/doc/qtquick.qdocconf
@@ -38,7 +38,7 @@ qhp.QtQuick.subprojects.examples.selectors = fake:example
tagfile = ../../../doc/qtquick/qtquick.tags
-depends += qtcore qtqml qtqmltest qtgui qtlinguist qtquickcontrols qtquickcontrols1 qtdoc qtquickdialogs qtsensors qtwidgets qmake qtmultimedia qtgraphicaleffects qtsql qtxmlpatterns
+depends += qtcore qtqml qtqmlmodels qtqmltest qtgui qtlinguist qtquickcontrols qtquickcontrols1 qtdoc qtquickdialogs qtsensors qtwidgets qmake qtmultimedia qtgraphicaleffects qtsql qtxmlpatterns
headerdirs += ..\
../../quick \
@@ -70,6 +70,9 @@ sourcedirs += ../../plugins
#exclude certain directories
excludedirs += ../../imports/models \
+ ../../imports/labsmodels \
+ ../../imports/testlib \
+ ../../imports/workerscript \
../../imports/statemachine
excludefiles += ../util/qquickpropertychanges_p.h
diff --git a/src/quick/doc/snippets/cmake-macros/examples.cmake b/src/quick/doc/snippets/cmake-macros/examples.cmake
index 8ca6180f9b..cecc59debc 100644
--- a/src/quick/doc/snippets/cmake-macros/examples.cmake
+++ b/src/quick/doc/snippets/cmake-macros/examples.cmake
@@ -3,4 +3,4 @@ find_package(Qt5 COMPONENTS Quick QmlImportScanner)
add_executable(myapp main.cpp)
target_link_libraries(myapp Qt5::Quick)
qt5_import_qml_plugins(myapp)
-#! [qt5_import_plugins]
+#! [qt5_import_qml_plugins]
diff --git a/src/quick/doc/snippets/qml/listview/ReusableDelegate.qml b/src/quick/doc/snippets/qml/listview/ReusableDelegate.qml
new file mode 100644
index 0000000000..050572d5f2
--- /dev/null
+++ b/src/quick/doc/snippets/qml/listview/ReusableDelegate.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//![0]
+Component {
+ id: listViewDelegate
+ Rectangle {
+ width: 100
+ height: 50
+
+ ListView.onPooled: rotationAnimation.pause()
+ ListView.onReused: rotationAnimation.resume()
+
+ Rectangle {
+ id: rect
+ anchors.centerIn: parent
+ width: 40
+ height: 5
+ color: "green"
+
+ RotationAnimation {
+ id: rotationAnimation
+ target: rect
+ duration: (Math.random() * 2000) + 200
+ from: 0
+ to: 359
+ running: true
+ loops: Animation.Infinite
+ }
+ }
+ }
+}
+//![0]
diff --git a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
index e83aa39734..88003b68d3 100644
--- a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
+++ b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc
@@ -55,7 +55,7 @@ appropriate for the various graphics APIs.
Unlike \c software or \c d3d12, the RHI-based renderer is not an additional
adaptation, and is always built-in. As of Qt 5.14 it can be enabled by setting
the environment variable \c{QSG_RHI} to a non-zero value before starting the
-application, or via \l QQuickWindow::setScenegraphBackend() in combination with
+application, or via \l QQuickWindow::setSceneGraphBackend() in combination with
\l QSGRendererInterface::GraphicsApi. When none of this is done, OpenGL is used
directly like in previous versions.
diff --git a/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc b/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
index f4a1616943..abfff7cc11 100644
--- a/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
+++ b/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
@@ -402,6 +402,43 @@ property MyMenu optionsMenu
For information on performance in QML and Qt Quick,
see \l {Performance Considerations And Suggestions}.
+\section1 Prefer Declarative Bindings Over Imperative Assignments
+
+In QML, it's possible to use imperative JavaScript code to perform tasks
+such as responding to input events, send data over a network, and so on.
+Imperative code has an important place in QML, but it's also important
+to be aware of when not to use it.
+
+For example, consider the following imperative assignment:
+
+\code
+Rectangle {
+ Component.onCompleted: color = "red"
+}
+\endcode
+
+This has the following disadvantages:
+
+\list
+\li It's slow. The color property will first be evaluated with a
+ default-constructed value, and then again with "red" later on.
+\li It delays errors that could be found at build time to run time, slowing
+ down the development process.
+\li It overwrites any declarative binding that was in place. In most cases this
+ is intended, but sometimes it can be unintentional.
+ See \l {Debugging overwriting of bindings} for more information.
+\li It interferes with tooling; Qt Quick Designer, for example, doesn't support
+ JavaScript.
+\endlist
+
+The code can be rewritten to be a declarative binding instead:
+
+\code
+Rectangle {
+ color: "red"
+}
+\endcode
+
\section1 Tools and Utilities
For information on useful tools and utilies that make working with QML and
diff --git a/src/quick/handlers/qquickpointerhandler.cpp b/src/quick/handlers/qquickpointerhandler.cpp
index 884ebd3b86..c498c96454 100644
--- a/src/quick/handlers/qquickpointerhandler.cpp
+++ b/src/quick/handlers/qquickpointerhandler.cpp
@@ -268,8 +268,25 @@ bool QQuickPointerHandler::approveGrabTransition(QQuickEventPoint *point, QObjec
} else if ((d->grabPermissions & CanTakeOverFromItems)) {
QQuickItem * existingItemGrabber = point->grabberItem();
if (existingItemGrabber && !((existingItemGrabber->keepMouseGrab() && point->pointerEvent()->asPointerMouseEvent()) ||
- (existingItemGrabber->keepTouchGrab() && point->pointerEvent()->asPointerTouchEvent())))
+ (existingItemGrabber->keepTouchGrab() && point->pointerEvent()->asPointerTouchEvent()))) {
allowed = true;
+ // If the handler wants to steal the exclusive grab from an Item, the Item can usually veto
+ // by having its keepMouseGrab flag set. But an exception is if that Item is a parent that
+ // normally filters events (such as a Flickable): it needs to be possible for e.g. a
+ // DragHandler to operate on an Item inside a Flickable. Flickable is aggressive about
+ // grabbing on press (for fear of missing updates), but DragHandler uses a passive grab
+ // at first and then expects to be able to steal the grab later on. It cannot respect
+ // Flickable's wishes in that case, because then it would never have a chance.
+ if (existingItemGrabber->keepMouseGrab() &&
+ !(existingItemGrabber->filtersChildMouseEvents() && existingItemGrabber->isAncestorOf(parentItem()))) {
+ QQuickWindowPrivate *winPriv = QQuickWindowPrivate::get(parentItem()->window());
+ if (winPriv->isDeliveringTouchAsMouse() && point->pointId() == winPriv->touchMouseId) {
+ qCDebug(lcPointerHandlerGrab) << this << "wants to grab touchpoint" << point->pointId()
+ << "but declines to steal grab from touch-mouse grabber with keepMouseGrab=true" << existingItemGrabber;
+ allowed = false;
+ }
+ }
+ }
}
}
} else {
diff --git a/src/quick/handlers/qquicktaphandler.cpp b/src/quick/handlers/qquicktaphandler.cpp
index 272ebe6b63..f3674d6fa9 100644
--- a/src/quick/handlers/qquicktaphandler.cpp
+++ b/src/quick/handlers/qquicktaphandler.cpp
@@ -132,17 +132,16 @@ bool QQuickTapHandler::wantsEventPoint(QQuickEventPoint *point)
}
break;
case QQuickEventPoint::Stationary:
- // Never react in any way when the point hasn't moved.
- // In autotests, the point's position may not even be correct, because
- // QTest::touchEvent(window, touchDevice).stationary(1)
- // provides no opportunity to give a position, so it ends up being random.
+ // If the point hasn't moved since last time, the return value should be the same as last time.
+ // If we return false here, QQuickPointerHandler::handlePointerEvent() will call setActive(false).
+ ret = point->pointId() == this->point().id();
break;
}
// If this is the grabber, returning false from this function will cancel the grab,
// so onGrabChanged(this, CancelGrabExclusive, point) and setPressed(false) will be called.
// But when m_gesturePolicy is DragThreshold, we don't get an exclusive grab, but
// we still don't want to be pressed anymore.
- if (!ret && point->pointId() == this->point().id() && point->state() != QQuickEventPoint::Stationary)
+ if (!ret && point->pointId() == this->point().id())
setPressed(false, true, point);
return ret;
}
diff --git a/src/quick/handlers/qquickwheelhandler.cpp b/src/quick/handlers/qquickwheelhandler.cpp
index 90e4fef97e..aef2e8ebfb 100644
--- a/src/quick/handlers/qquickwheelhandler.cpp
+++ b/src/quick/handlers/qquickwheelhandler.cpp
@@ -49,6 +49,7 @@ Q_LOGGING_CATEGORY(lcWheelHandler, "qt.quick.handler.wheel")
/*!
\qmltype WheelHandler
\instantiates QQuickWheelHandler
+ \inherits SinglePointHandler
\inqmlmodule QtQuick
\ingroup qtquick-input-handlers
\brief Handler for the mouse wheel.
@@ -71,7 +72,7 @@ Q_LOGGING_CATEGORY(lcWheelHandler, "qt.quick.handler.wheel")
\snippet pointerHandlers/handlerFlick.qml 0
- Alternatively if \l targetProperty is not set or \l target is null,
+ Alternatively, if \l property is not set or \l target is null,
WheelHandler will not automatically manipulate anything; but the
\l rotation property can be used in a binding to manipulate another
property, or you can implement \c onWheel and handle the wheel event
@@ -79,15 +80,16 @@ Q_LOGGING_CATEGORY(lcWheelHandler, "qt.quick.handler.wheel")
WheelHandler handles only a rotating mouse wheel by default.
Optionally it can handle smooth-scrolling events from touchpad gestures,
- by setting \l acceptedDevices to \c{PointerDevice.Mouse | PointerDevice.TouchPad}.
+ by setting \l {QtQuick::PointerDeviceHandler::}{acceptedDevices} to
+ \c{PointerDevice.Mouse | PointerDevice.TouchPad}.
\note Some non-mouse hardware (such as a touch-sensitive Wacom tablet, or
a Linux laptop touchpad) generates real wheel events from gestures.
WheelHandler will respond to those events as wheel events regardless of the
- setting of the \l acceptedDevices property.
+ setting of the \l {QtQuick::PointerDeviceHandler::}{acceptedDevices}
+ property.
- \sa MouseArea
- \sa Flickable
+ \sa MouseArea, Flickable
*/
QQuickWheelHandler::QQuickWheelHandler(QQuickItem *parent)
@@ -125,13 +127,13 @@ void QQuickWheelHandler::setOrientation(Qt::Orientation orientation)
\qmlproperty bool QtQuick::WheelHandler::invertible
Whether or not to reverse the direction of property change if
- \l QQuickPointerScrollEvent::inverted is true. The default is \c true.
+ QQuickPointerScrollEvent::inverted is true. The default is \c true.
If the operating system has a "natural scrolling" setting that causes
scrolling to be in the same direction as the finger movement, then if this
property is set to \c true, and WheelHandler is directly setting a property
on \l target, the direction of movement will correspond to the system setting.
- If this property is set to \l false, it will invert the \l rotation so that
+ If this property is set to \c false, it will invert the \l rotation so that
the direction of motion is always the same as the direction of finger movement.
*/
bool QQuickWheelHandler::isInvertible() const
diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp
index c150e4efa2..2da01e9151 100644
--- a/src/quick/items/qquickaccessibleattached.cpp
+++ b/src/quick/items/qquickaccessibleattached.cpp
@@ -433,6 +433,19 @@ void QQuickAccessibleAttached::setRole(QAccessible::Role role)
}
}
+bool QQuickAccessibleAttached::wasNameExplicitlySet() const
+{
+ return m_nameExplicitlySet;
+}
+
+// Allows types to attach an accessible name to an item as a convenience,
+// so long as the user hasn't done so themselves.
+void QQuickAccessibleAttached::setNameImplicitly(const QString &name)
+{
+ setName(name);
+ m_nameExplicitlySet = false;
+}
+
QQuickAccessibleAttached *QQuickAccessibleAttached::qmlAttachedProperties(QObject *obj)
{
return new QQuickAccessibleAttached(obj);
diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h
index 678c1361ba..b7254d6686 100644
--- a/src/quick/items/qquickaccessibleattached_p.h
+++ b/src/quick/items/qquickaccessibleattached_p.h
@@ -122,7 +122,10 @@ public:
return QString();
return m_name;
}
+
+ bool wasNameExplicitlySet() const;
void setName(const QString &name) {
+ m_nameExplicitlySet = true;
if (name != m_name) {
m_name = name;
Q_EMIT nameChanged();
@@ -130,6 +133,7 @@ public:
QAccessible::updateAccessibility(&ev);
}
}
+ void setNameImplicitly(const QString &name);
QString description() const { return m_description; }
void setDescription(const QString &description)
@@ -220,6 +224,7 @@ private:
QAccessible::State m_state;
QAccessible::State m_stateExplicitlySet;
QString m_name;
+ bool m_nameExplicitlySet = false;
QString m_description;
static QMetaMethod sigPress;
diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h
index 5acf98d471..338db5d66e 100644
--- a/src/quick/items/qquickevents_p_p.h
+++ b/src/quick/items/qquickevents_p_p.h
@@ -90,7 +90,7 @@ class QQuickKeyEvent : public QObject
public:
QQuickKeyEvent()
- : event(QEvent::None, 0, nullptr)
+ : event(QEvent::None, 0, { })
{}
void reset(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers,
@@ -144,12 +144,11 @@ public:
QQuickMouseEvent()
: _buttons(Qt::NoButton), _modifiers(Qt::NoModifier)
, _wasHeld(false), _isClick(false), _accepted(false)
- , _flags(Qt::MouseEventFlags(nullptr))
{}
void reset(qreal x, qreal y, Qt::MouseButton button, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers, bool isClick = false, bool wasHeld = false,
- Qt::MouseEventFlags flags = nullptr)
+ Qt::MouseEventFlags flags = { })
{
_x = x;
_y = y;
diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp
index d9ec7de611..8ade5b7e37 100644
--- a/src/quick/items/qquickflickable.cpp
+++ b/src/quick/items/qquickflickable.cpp
@@ -316,7 +316,7 @@ void QQuickFlickablePrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometr
{
Q_Q(QQuickFlickable);
if (item == contentItem) {
- Qt::Orientations orient = nullptr;
+ Qt::Orientations orient;
if (change.xChange())
orient |= Qt::Horizontal;
if (change.yChange())
diff --git a/src/quick/items/qquickgenericshadereffect.cpp b/src/quick/items/qquickgenericshadereffect.cpp
index df61ee853d..a3d04f5dd3 100644
--- a/src/quick/items/qquickgenericshadereffect.cpp
+++ b/src/quick/items/qquickgenericshadereffect.cpp
@@ -78,7 +78,6 @@ QQuickGenericShaderEffect::QQuickGenericShaderEffect(QQuickShaderEffect *item, Q
, m_mgr(nullptr)
, m_fragNeedsUpdate(true)
, m_vertNeedsUpdate(true)
- , m_dirty(nullptr)
{
qRegisterMetaType<QSGGuiThreadShaderEffectManager::ShaderInfo::Type>("ShaderInfo::Type");
for (int i = 0; i < NShader; ++i)
@@ -311,7 +310,7 @@ QSGNode *QQuickGenericShaderEffect::handleUpdatePaintNode(QSGNode *oldNode, QQui
m_dirty &= ~QSGShaderEffectNode::DirtyShaderGeometry;
}
- m_dirty = nullptr;
+ m_dirty = {};
for (int i = 0; i < NShader; ++i) {
m_dirtyConstants[i].clear();
m_dirtyTextures[i].clear();
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp
index e69e9cff46..5f6c194bcf 100644
--- a/src/quick/items/qquickgridview.cpp
+++ b/src/quick/items/qquickgridview.cpp
@@ -497,7 +497,7 @@ bool QQuickGridViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal
// We've jumped more than a page. Estimate which items are now
// visible and fill from there.
int count = (fillFrom - (rowPos + rowSize())) / (rowSize()) * columns;
- releaseVisibleItems();
+ releaseVisibleItems(reusableFlag);
modelIndex += count;
if (modelIndex >= model->count())
modelIndex = model->count() - 1;
@@ -576,7 +576,7 @@ void QQuickGridViewPrivate::removeItem(FxViewItem *item)
item->releaseAfterTransition = true;
releasePendingTransition.append(item);
} else {
- releaseItem(item);
+ releaseItem(item, QQmlDelegateModel::NotReusable);
}
}
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 4c20b7e2e1..8454010ee9 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -2074,10 +2074,10 @@ void QQuickItemPrivate::updateSubFocusItem(QQuickItem *scope, bool focus)
in the GPU equal to \c {width x height x 4}. In memory constrained
configurations, large layers should be used with care.
- In the QPainter / QWidget world, it is some times favorable to
+ In the QPainter / QWidget world, it is sometimes favorable to
cache complex content in a pixmap, image or texture. In Qt Quick,
because of the techniques already applied by the \l {Qt Quick
- Scene Graph OpenGL Renderer} {scene graph renderer}, this will in most
+ Scene Graph Default Renderer} {scene graph renderer}, this will in most
cases not be the case. Excessive draw calls are already reduced
because of batching and a cache will in most cases end up blending
more pixels than the original content. The overhead of rendering
@@ -8812,7 +8812,7 @@ QQuickItemPrivate::ExtraData::ExtraData()
effectRefCount(0), hideRefCount(0),
recursiveEffectRefCount(0),
opacityNode(nullptr), clipNode(nullptr), rootNode(nullptr),
- acceptedMouseButtons(nullptr), origin(QQuickItem::Center),
+ origin(QQuickItem::Center),
transparentForPositioner(false)
{
}
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h
index 7c3325fd90..bc0d04c763 100644
--- a/src/quick/items/qquickitem_p.h
+++ b/src/quick/items/qquickitem_p.h
@@ -336,7 +336,7 @@ public:
struct ChangeListener {
using ChangeTypes = QQuickItemPrivate::ChangeTypes;
- ChangeListener(QQuickItemChangeListener *l = nullptr, ChangeTypes t = nullptr)
+ ChangeListener(QQuickItemChangeListener *l = nullptr, ChangeTypes t = { })
: listener(l)
, types(t)
, gTypes(QQuickGeometryChange::All)
@@ -937,7 +937,7 @@ private:
Qt::MouseButtons QQuickItemPrivate::acceptedMouseButtons() const
{
return ((extra.flag() ? Qt::LeftButton : Qt::MouseButton(0)) |
- (extra.isAllocated() ? extra->acceptedMouseButtons : Qt::MouseButtons(nullptr)));
+ (extra.isAllocated() ? extra->acceptedMouseButtons : Qt::MouseButtons{}));
}
QSGContext *QQuickItemPrivate::sceneGraphContext() const
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 661f19509a..2ac5e60912 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -197,6 +197,8 @@ void QQuickItemView::setModel(const QVariant &m)
disconnect(d->model, SIGNAL(initItem(int,QObject*)), this, SLOT(initItem(int,QObject*)));
disconnect(d->model, SIGNAL(createdItem(int,QObject*)), this, SLOT(createdItem(int,QObject*)));
disconnect(d->model, SIGNAL(destroyingItem(QObject*)), this, SLOT(destroyingItem(QObject*)));
+ disconnect(d->model, SIGNAL(itemPooled(int, QObject *)), this, SLOT(onItemPooled(int, QObject *)));
+ disconnect(d->model, SIGNAL(itemReused(int, QObject *)), this, SLOT(onItemReused(int, QObject *)));
}
QQmlInstanceModel *oldModel = d->model;
@@ -232,10 +234,14 @@ void QQuickItemView::setModel(const QVariant &m)
connect(d->model, SIGNAL(createdItem(int,QObject*)), this, SLOT(createdItem(int,QObject*)));
connect(d->model, SIGNAL(initItem(int,QObject*)), this, SLOT(initItem(int,QObject*)));
connect(d->model, SIGNAL(destroyingItem(QObject*)), this, SLOT(destroyingItem(QObject*)));
+ connect(d->model, SIGNAL(itemPooled(int, QObject *)), this, SLOT(onItemPooled(int, QObject *)));
+ connect(d->model, SIGNAL(itemReused(int, QObject *)), this, SLOT(onItemReused(int, QObject *)));
if (isComponentComplete()) {
d->updateSectionCriteria();
d->refill();
- d->currentIndex = -1;
+ /* Setting currentIndex to -2 ensures that we always enter the "currentIndex changed"
+ code path in setCurrentIndex, updating bindings depending on currentIndex.*/
+ d->currentIndex = -2;
setCurrentIndex(d->model->count() > 0 ? 0 : -1);
d->updateViewport();
@@ -252,6 +258,7 @@ void QQuickItemView::setModel(const QVariant &m)
emit countChanged();
}
emit modelChanged();
+ d->moveReason = QQuickItemViewPrivate::Other;
}
QQmlComponent *QQuickItemView::delegate() const
@@ -691,6 +698,28 @@ void QQuickItemView::setHighlightMoveDuration(int duration)
}
}
+bool QQuickItemView::reuseItems() const
+{
+ return bool(d_func()->reusableFlag == QQmlDelegateModel::Reusable);
+}
+
+void QQuickItemView::setReuseItems(bool reuse)
+{
+ Q_D(QQuickItemView);
+ if (reuseItems() == reuse)
+ return;
+
+ d->reusableFlag = reuse ? QQmlDelegateModel::Reusable : QQmlDelegateModel::NotReusable;
+
+ if (!reuse && d->model) {
+ // When we're told to not reuse items, we
+ // immediately, as documented, drain the pool.
+ d->model->drainReusableItemsPool(0);
+ }
+
+ emit reuseItemsChanged();
+}
+
QQuickTransition *QQuickItemView::populateTransition() const
{
Q_D(const QQuickItemView);
@@ -845,7 +874,7 @@ void QQuickItemViewPrivate::positionViewAtIndex(int index, int mode)
setPosition(qMin(itemPos, maxExtent));
// now release the reference to all the old visible items.
for (FxViewItem *item : oldVisible)
- releaseItem(item);
+ releaseItem(item, reusableFlag);
item = visibleItem(idx);
}
if (item) {
@@ -1088,8 +1117,8 @@ qreal QQuickItemViewPrivate::calculatedMaxExtent() const
void QQuickItemViewPrivate::applyDelegateChange()
{
- releaseVisibleItems();
- releaseItem(currentItem);
+ releaseVisibleItems(QQmlDelegateModel::NotReusable);
+ releaseItem(currentItem, QQmlDelegateModel::NotReusable);
currentItem = nullptr;
updateSectionCriteria();
refill();
@@ -1191,7 +1220,7 @@ void QQuickItemView::destroyRemoved()
} else {
if (hasRemoveTransition)
d->runDelayedRemoveTransition = true;
- d->releaseItem(item);
+ d->releaseItem(item, d->reusableFlag);
it = d->visibleItems.erase(it);
}
} else {
@@ -1635,7 +1664,7 @@ void QQuickItemViewPrivate::updateCurrent(int modelIndex)
if (currentItem) {
if (currentItem->attached)
currentItem->attached->setIsCurrentItem(false);
- releaseItem(currentItem);
+ releaseItem(currentItem, reusableFlag);
currentItem = nullptr;
currentIndex = modelIndex;
emit q->currentIndexChanged();
@@ -1672,7 +1701,7 @@ void QQuickItemViewPrivate::updateCurrent(int modelIndex)
if (oldCurrentItem != currentItem
&& (!oldCurrentItem || !currentItem || oldCurrentItem->item != currentItem->item))
emit q->currentItemChanged();
- releaseItem(oldCurrentItem);
+ releaseItem(oldCurrentItem, reusableFlag);
}
void QQuickItemViewPrivate::clear(bool onDestruction)
@@ -1682,17 +1711,17 @@ void QQuickItemViewPrivate::clear(bool onDestruction)
bufferedChanges.reset();
timeline.clear();
- releaseVisibleItems();
+ releaseVisibleItems(QQmlInstanceModel::NotReusable);
visibleIndex = 0;
for (FxViewItem *item : qAsConst(releasePendingTransition)) {
item->releaseAfterTransition = false;
- releaseItem(item);
+ releaseItem(item, QQmlInstanceModel::NotReusable);
}
releasePendingTransition.clear();
auto oldCurrentItem = currentItem;
- releaseItem(currentItem);
+ releaseItem(currentItem, QQmlDelegateModel::NotReusable);
currentItem = nullptr;
if (oldCurrentItem)
emit q->currentItemChanged();
@@ -1751,7 +1780,7 @@ void QQuickItemViewPrivate::refill(qreal from, qreal to)
if (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges()) {
currentChanges.reset();
bufferedChanges.reset();
- releaseVisibleItems();
+ releaseVisibleItems(reusableFlag);
}
int prevCount = itemCount;
@@ -1790,6 +1819,7 @@ void QQuickItemViewPrivate::refill(qreal from, qreal to)
if (prevCount != itemCount)
emit q->countChanged();
} while (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges());
+ storeFirstVisibleItemPosition();
}
void QQuickItemViewPrivate::regenerate(bool orientationChanged)
@@ -1876,6 +1906,7 @@ void QQuickItemViewPrivate::layout()
updateSections();
layoutVisibleItems();
+ storeFirstVisibleItemPosition();
int lastIndexInView = findLastIndexInView();
refill();
@@ -1913,7 +1944,7 @@ void QQuickItemViewPrivate::layout()
continue;
}
if (!success) {
- releaseItem(*it);
+ releaseItem(*it, reusableFlag);
it = releasePendingTransition.erase(it);
continue;
}
@@ -1960,7 +1991,7 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult
prevFirstItemInViewPos = prevFirstItemInView->position();
prevFirstItemInViewIndex = prevFirstItemInView->index;
}
- qreal prevVisibleItemsFirstPos = visibleItems.count() ? visibleItems.constFirst()->position() : 0.0;
+ qreal prevVisibleItemsFirstPos = visibleItems.count() ? firstVisibleItemPosition : 0.0;
totalInsertionResult->visiblePos = prevFirstItemInViewPos;
totalRemovalResult->visiblePos = prevFirstItemInViewPos;
@@ -2006,6 +2037,7 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult
if (!insertions.isEmpty()) {
repositionFirstItem(prevVisibleItemsFirst, prevVisibleItemsFirstPos, prevFirstItemInView, &insertionResult, &removalResult);
layoutVisibleItems(removals.first().index);
+ storeFirstVisibleItemPosition();
}
}
@@ -2026,6 +2058,7 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult
if (i < insertions.count() - 1) {
repositionFirstItem(prevVisibleItemsFirst, prevVisibleItemsFirstPos, prevFirstItemInView, &insertionResult, &removalResult);
layoutVisibleItems(insertions[i].index);
+ storeFirstVisibleItemPosition();
}
itemCount += insertions[i].count;
}
@@ -2056,9 +2089,9 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult
// Whatever removed/moved items remain are no longer visible items.
prepareRemoveTransitions(&currentChanges.removedItems);
- for (QHash<QQmlChangeSet::MoveKey, FxViewItem *>::Iterator it = currentChanges.removedItems.begin();
+ for (auto it = currentChanges.removedItems.begin();
it != currentChanges.removedItems.end(); ++it) {
- releaseItem(it.value());
+ releaseItem(it.value(), reusableFlag);
}
currentChanges.removedItems.clear();
@@ -2067,7 +2100,7 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult
if (currentItem->item && currentItem->attached)
currentItem->attached->setIsCurrentItem(false);
auto oldCurrentItem = currentItem;
- releaseItem(currentItem);
+ releaseItem(currentItem, reusableFlag);
currentItem = nullptr;
if (oldCurrentItem)
emit q->currentItemChanged();
@@ -2148,11 +2181,11 @@ void QQuickItemViewPrivate::removeItem(FxViewItem *item, const QQmlChangeSet::Ch
removeResult->sizeChangesAfterVisiblePos += item->size();
}
if (removal.isMove()) {
- currentChanges.removedItems.insert(removal.moveKey(item->index), item);
+ currentChanges.removedItems.replace(removal.moveKey(item->index), item);
item->transitionNextReposition(transitioner, QQuickItemViewTransitioner::MoveTransition, true);
} else {
// track item so it is released later
- currentChanges.removedItems.insertMulti(QQmlChangeSet::MoveKey(), item);
+ currentChanges.removedItems.insert(QQmlChangeSet::MoveKey(), item);
}
if (!removeResult->changedFirstItem && item == *visibleItems.constBegin())
removeResult->changedFirstItem = true;
@@ -2223,15 +2256,14 @@ void QQuickItemViewPrivate::prepareVisibleItemTransitions()
visibleItems[i]->prepareTransition(transitioner, viewBounds);
}
-void QQuickItemViewPrivate::prepareRemoveTransitions(QHash<QQmlChangeSet::MoveKey, FxViewItem *> *removedItems)
+void QQuickItemViewPrivate::prepareRemoveTransitions(QMultiHash<QQmlChangeSet::MoveKey, FxViewItem *> *removedItems)
{
if (!transitioner)
return;
if (transitioner->canTransition(QQuickItemViewTransitioner::RemoveTransition, true)
|| transitioner->canTransition(QQuickItemViewTransitioner::RemoveTransition, false)) {
- for (QHash<QQmlChangeSet::MoveKey, FxViewItem *>::Iterator it = removedItems->begin();
- it != removedItems->end(); ) {
+ for (auto it = removedItems->begin(); it != removedItems->end(); ) {
bool isRemove = it.key().moveId < 0;
if (isRemove) {
FxViewItem *item = *it;
@@ -2274,7 +2306,7 @@ void QQuickItemViewPrivate::viewItemTransitionFinished(QQuickItemViewTransitiona
{
for (int i=0; i<releasePendingTransition.count(); i++) {
if (releasePendingTransition.at(i)->transitionableItem == item) {
- releaseItem(releasePendingTransition.takeAt(i));
+ releaseItem(releasePendingTransition.takeAt(i), reusableFlag);
return;
}
}
@@ -2380,7 +2412,23 @@ void QQuickItemView::destroyingItem(QObject *object)
}
}
-bool QQuickItemViewPrivate::releaseItem(FxViewItem *item)
+void QQuickItemView::onItemPooled(int modelIndex, QObject *object)
+{
+ Q_UNUSED(modelIndex);
+
+ if (auto *attached = d_func()->getAttachedObject(object))
+ emit attached->pooled();
+}
+
+void QQuickItemView::onItemReused(int modelIndex, QObject *object)
+{
+ Q_UNUSED(modelIndex);
+
+ if (auto *attached = d_func()->getAttachedObject(object))
+ emit attached->reused();
+}
+
+bool QQuickItemViewPrivate::releaseItem(FxViewItem *item, QQmlInstanceModel::ReusableFlag reusableFlag)
{
Q_Q(QQuickItemView);
if (!item)
@@ -2391,13 +2439,19 @@ bool QQuickItemViewPrivate::releaseItem(FxViewItem *item)
QQmlInstanceModel::ReleaseFlags flags = {};
if (model && item->item) {
- flags = model->release(item->item);
+ flags = model->release(item->item, reusableFlag);
if (!flags) {
// item was not destroyed, and we no longer reference it.
- QQuickItemPrivate::get(item->item)->setCulled(true);
+ if (item->item->parentItem() == contentItem) {
+ // Only cull the item if its parent item is still our contentItem.
+ // One case where this can happen is moving an item out of one ObjectModel and into another.
+ QQuickItemPrivate::get(item->item)->setCulled(true);
+ }
unrequestedItems.insert(item->item, model->indexOf(item->item, q));
} else if (flags & QQmlInstanceModel::Destroyed) {
item->item->setParentItem(nullptr);
+ } else if (flags & QQmlInstanceModel::Pooled) {
+ item->setVisible(false);
}
}
delete item;
diff --git a/src/quick/items/qquickitemview_p.h b/src/quick/items/qquickitemview_p.h
index 6bc00411f0..521580d292 100644
--- a/src/quick/items/qquickitemview_p.h
+++ b/src/quick/items/qquickitemview_p.h
@@ -110,6 +110,8 @@ class Q_QUICK_PRIVATE_EXPORT QQuickItemView : public QQuickFlickable
Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd NOTIFY preferredHighlightEndChanged RESET resetPreferredHighlightEnd)
Q_PROPERTY(int highlightMoveDuration READ highlightMoveDuration WRITE setHighlightMoveDuration NOTIFY highlightMoveDurationChanged)
+ Q_PROPERTY(bool reuseItems READ reuseItems WRITE setReuseItems NOTIFY reuseItemsChanged REVISION 15)
+
QML_NAMED_ELEMENT(ItemView)
QML_UNCREATABLE("ItemView is an abstract base class.")
QML_ADDED_IN_MINOR_VERSION(1)
@@ -226,6 +228,9 @@ public:
int highlightMoveDuration() const;
virtual void setHighlightMoveDuration(int);
+ bool reuseItems() const;
+ void setReuseItems(bool reuse);
+
enum PositionMode { Beginning, Center, End, Visible, Contain, SnapPosition };
Q_ENUM(PositionMode)
@@ -281,6 +286,8 @@ Q_SIGNALS:
void preferredHighlightEndChanged();
void highlightMoveDurationChanged();
+ Q_REVISION(15) void reuseItemsChanged();
+
protected:
void updatePolish() override;
void componentComplete() override;
@@ -296,6 +303,8 @@ protected Q_SLOTS:
virtual void initItem(int index, QObject *item);
void modelUpdated(const QQmlChangeSet &changeSet, bool reset);
void destroyingItem(QObject *item);
+ void onItemPooled(int modelIndex, QObject *object);
+ void onItemReused(int modelIndex, QObject *object);
void animStopped();
void trackedPositionChanged();
@@ -399,6 +408,9 @@ Q_SIGNALS:
void prevSectionChanged();
void nextSectionChanged();
+ void pooled();
+ void reused();
+
public:
QPointer<QQuickItemView> m_view;
bool m_isCurrent : 1;
diff --git a/src/quick/items/qquickitemview_p_p.h b/src/quick/items/qquickitemview_p_p.h
index 6442fee27d..48f47a356b 100644
--- a/src/quick/items/qquickitemview_p_p.h
+++ b/src/quick/items/qquickitemview_p_p.h
@@ -92,7 +92,7 @@ public:
int itemCount;
int newCurrentIndex;
QQmlChangeSet pendingChanges;
- QHash<QQmlChangeSet::MoveKey, FxViewItem *> removedItems;
+ QMultiHash<QQmlChangeSet::MoveKey, FxViewItem *> removedItems;
bool active : 1;
bool currentChanged : 1;
@@ -174,7 +174,7 @@ public:
void mirrorChange() override;
FxViewItem *createItem(int modelIndex,QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested);
- virtual bool releaseItem(FxViewItem *item);
+ virtual bool releaseItem(FxViewItem *item, QQmlInstanceModel::ReusableFlag reusableFlag);
QQuickItem *createHighlightItem() const;
QQuickItem *createComponentItem(QQmlComponent *component, qreal zValue, bool createDefault = false) const;
@@ -203,7 +203,7 @@ public:
void createTransitioner();
void prepareVisibleItemTransitions();
- void prepareRemoveTransitions(QHash<QQmlChangeSet::MoveKey, FxViewItem *> *removedItems);
+ void prepareRemoveTransitions(QMultiHash<QQmlChangeSet::MoveKey, FxViewItem *> *removedItems);
bool prepareNonVisibleItemTransition(FxViewItem *item, const QRectF &viewBounds);
void viewItemTransitionFinished(QQuickItemViewTransitionableItem *item) override;
@@ -238,15 +238,17 @@ public:
q->polish();
}
- void releaseVisibleItems() {
+ void releaseVisibleItems(QQmlInstanceModel::ReusableFlag reusableFlag) {
// make a copy and clear the visibleItems first to avoid destroyed
// items being accessed during the loop (QTBUG-61294)
const QList<FxViewItem *> oldVisible = visibleItems;
visibleItems.clear();
for (FxViewItem *item : oldVisible)
- releaseItem(item);
+ releaseItem(item, reusableFlag);
}
+ virtual QQuickItemViewAttached *getAttachedObject(const QObject *) const { return nullptr; }
+
QPointer<QQmlInstanceModel> model;
QVariant modelVariant;
int itemCount;
@@ -260,6 +262,12 @@ public:
MovementReason moveReason;
QList<FxViewItem *> visibleItems;
+ qreal firstVisibleItemPosition = 0;
+ void storeFirstVisibleItemPosition() {
+ if (!visibleItems.isEmpty()) {
+ firstVisibleItemPosition = visibleItems.constFirst()->position();
+ }
+ }
int visibleIndex;
int currentIndex;
FxViewItem *currentItem;
@@ -282,6 +290,11 @@ public:
QQmlComponent *footerComponent;
FxViewItem *footer;
+ // Reusing delegate items cannot be on by default for backwards compatibility.
+ // Reusing an item will e.g mean that Component.onCompleted will only be called for an
+ // item when it's created and not when it's reused, which will break legacy applications.
+ QQmlInstanceModel::ReusableFlag reusableFlag = QQmlInstanceModel::NotReusable;
+
struct MovedItem {
FxViewItem *item;
QQmlChangeSet::MoveKey moveKey;
diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp
index 23925871e5..1615c9ecea 100644
--- a/src/quick/items/qquicklistview.cpp
+++ b/src/quick/items/qquicklistview.cpp
@@ -92,7 +92,7 @@ public:
FxViewItem *newViewItem(int index, QQuickItem *item) override;
void initializeViewItem(FxViewItem *item) override;
- bool releaseItem(FxViewItem *item) override;
+ bool releaseItem(FxViewItem *item, QQmlInstanceModel::ReusableFlag reusableFlag) override;
void repositionItemAt(FxViewItem *item, int index, qreal sizeBuffer) override;
void repositionPackageItemAt(QQuickItem *item, int index) override;
void resetFirstItemPosition(qreal pos = 0.0) override;
@@ -139,6 +139,8 @@ public:
bool flick(QQuickItemViewPrivate::AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize,
QQuickTimeLineCallback::Callback fixupCallback, qreal velocity) override;
+ QQuickItemViewAttached *getAttachedObject(const QObject *object) const override;
+
QQuickListView::Orientation orient;
qreal visiblePos;
qreal averageSize;
@@ -634,15 +636,15 @@ void QQuickListViewPrivate::initializeViewItem(FxViewItem *item)
}
}
-bool QQuickListViewPrivate::releaseItem(FxViewItem *item)
+bool QQuickListViewPrivate::releaseItem(FxViewItem *item, QQmlInstanceModel::ReusableFlag reusableFlag)
{
if (!item || !model)
- return QQuickItemViewPrivate::releaseItem(item);
+ return QQuickItemViewPrivate::releaseItem(item, reusableFlag);
QPointer<QQuickItem> it = item->item;
QQuickListViewAttached *att = static_cast<QQuickListViewAttached*>(item->attached);
- bool released = QQuickItemViewPrivate::releaseItem(item);
+ bool released = QQuickItemViewPrivate::releaseItem(item, reusableFlag);
if (released && it && att && att->m_sectionItem) {
// We hold no more references to this item
int i = 0;
@@ -682,7 +684,7 @@ bool QQuickListViewPrivate::addVisibleItems(qreal fillFrom, qreal fillTo, qreal
int newModelIdx = qBound(0, modelIndex + count, model->count());
count = newModelIdx - modelIndex;
if (count) {
- releaseVisibleItems();
+ releaseVisibleItems(reusableFlag);
modelIndex = newModelIdx;
visibleIndex = modelIndex;
visiblePos = itemEnd + count * (averageSize + spacing);
@@ -737,7 +739,7 @@ void QQuickListViewPrivate::removeItem(FxViewItem *item)
releasePendingTransition.append(item);
} else {
qCDebug(lcItemViewDelegateLifecycle) << "\treleasing stationary item" << item->index << (QObject *)(item->item);
- releaseItem(item);
+ releaseItem(item, reusableFlag);
}
}
@@ -808,6 +810,7 @@ void QQuickListViewPrivate::layoutVisibleItems(int fromModelIndex)
FxViewItem *firstItem = *visibleItems.constBegin();
bool fixedCurrent = currentItem && firstItem->item == currentItem->item;
+ firstVisibleItemPosition = firstItem->position();
qreal sum = firstItem->size();
qreal pos = firstItem->position() + firstItem->size() + spacing;
firstItem->setVisible(firstItem->endPosition() >= from && firstItem->position() <= to);
@@ -1771,6 +1774,12 @@ void QQuickListViewPrivate::setSectionHelper(QQmlContext *context, QQuickItem *s
sectionItem->setProperty("section", section);
}
+QQuickItemViewAttached *QQuickListViewPrivate::getAttachedObject(const QObject *object) const
+{
+ QObject *attachedObject = qmlAttachedPropertiesObject<QQuickListView>(object);
+ return static_cast<QQuickItemViewAttached *>(attachedObject);
+}
+
//----------------------------------------------------------------------------
/*!
@@ -1919,6 +1928,39 @@ void QQuickListViewPrivate::setSectionHelper(QQmlContext *context, QQuickItem *s
of type \l [QML] {real}, so it is possible to set fractional
values like \c 0.1.
+ \section1 Reusing items
+
+ Since 5.15, ListView can be configured to recycle items instead of instantiating
+ from the \l delegate whenever new rows are flicked into view. This approach improves
+ performance, depending on the complexity of the delegate. Reusing
+ items is off by default (for backwards compatibility reasons), but can be switched
+ on by setting the \l reuseItems property to \c true.
+
+ When an item is flicked out, it moves to the \e{reuse pool}, which is an
+ internal cache of unused items. When this happens, the \l ListView::pooled
+ signal is emitted to inform the item about it. Likewise, when the item is
+ moved back from the pool, the \l ListView::reused signal is emitted.
+
+ Any item properties that come from the model are updated when the
+ item is reused. This includes \c index and \c row, but also
+ any model roles.
+
+ \note Avoid storing any state inside a delegate. If you do, reset it
+ manually on receiving the \l ListView::reused signal.
+
+ If an item has timers or animations, consider pausing them on receiving
+ the \l ListView::pooled signal. That way you avoid using the CPU resources
+ for items that are not visible. Likewise, if an item has resources that
+ cannot be reused, they could be freed up.
+
+ \note While an item is in the pool, it might still be alive and respond
+ to connected signals and bindings.
+
+ The following example shows a delegate that animates a spinning rectangle. When
+ it is pooled, the animation is temporarily paused:
+
+ \snippet qml/listview/reusabledelegate.qml 0
+
\sa {QML Data Models}, GridView, PathView, {Qt Quick Examples - Views}
*/
QQuickListView::QQuickListView(QQuickItem *parent)
@@ -2085,6 +2127,20 @@ QQuickListView::~QQuickListView()
*/
/*!
+ \qmlproperty bool QtQuick::ListView::reuseItems
+
+ This property enables you to reuse items that are instantiated
+ from the \l delegate. If set to \c false, any currently
+ pooled items are destroyed.
+
+ This property is \c false by default.
+
+ \since 5.15
+
+ \sa {Reusing items}, ListView::pooled, ListView::reused
+*/
+
+/*!
\qmlproperty Component QtQuick::ListView::highlight
This property holds the component to use as the highlight.
@@ -2095,7 +2151,7 @@ QQuickListView::~QQuickListView()
highlight item is \c 0.
\sa highlightItem, highlightFollowsCurrentItem,
- {Qt Quick Examples - Views#Highlight}{ListView highlight example},
+ {Qt Quick Examples - Views#Using Highlight}{ListView Highlight Example},
{Stacking Order in ListView}
*/
@@ -3185,6 +3241,13 @@ void QQuickListView::keyPressEvent(QKeyEvent *event)
void QQuickListView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
{
Q_D(QQuickListView);
+
+ if (d->model) {
+ // When the view changes size, we force the pool to
+ // shrink by releasing all pooled items.
+ d->model->drainReusableItemsPool(0);
+ }
+
if (d->isRightToLeft()) {
// maintain position relative to the right edge
qreal dx = newGeometry.width() - oldGeometry.width();
@@ -3592,6 +3655,23 @@ QQuickListViewAttached *QQuickListView::qmlAttachedProperties(QObject *obj)
return new QQuickListViewAttached(obj);
}
+bool QQuickListView::contains(const QPointF &point) const
+{
+ bool ret = QQuickItemView::contains(point);
+ // QTBUG-74046: if a mouse press "falls through" a floating header or footer, don't allow dragging the list from there
+ if (ret) {
+ if (auto header = headerItem()) {
+ if (headerPositioning() != QQuickListView::InlineHeader && header->contains(mapToItem(header, point)))
+ ret = false;
+ }
+ if (auto footer = footerItem()) {
+ if (footerPositioning() != QQuickListView::InlineFooter && footer->contains(mapToItem(footer, point)))
+ ret = false;
+ }
+ }
+ return ret;
+}
+
QT_END_NAMESPACE
#include "moc_qquicklistview_p.cpp"
diff --git a/src/quick/items/qquicklistview_p.h b/src/quick/items/qquicklistview_p.h
index 1c72a10190..be21b93155 100644
--- a/src/quick/items/qquicklistview_p.h
+++ b/src/quick/items/qquicklistview_p.h
@@ -179,6 +179,8 @@ public:
static QQuickListViewAttached *qmlAttachedProperties(QObject *);
+ bool contains(const QPointF &point) const override;
+
public Q_SLOTS:
void incrementCurrentIndex();
void decrementCurrentIndex();
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index ddf34798d7..57d55172e3 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -62,7 +62,7 @@ Q_DECLARE_LOGGING_CATEGORY(DBG_HOVER_TRACE)
QQuickMouseAreaPrivate::QQuickMouseAreaPrivate()
: enabled(true), scrollGestureEnabled(true), hovered(false), longPress(false),
moved(false), stealMouse(false), doubleClick(false), preventStealing(false),
- propagateComposedEvents(false), overThreshold(false), pressed(nullptr),
+ propagateComposedEvents(false), overThreshold(false),
pressAndHoldInterval(-1)
#if QT_CONFIG(quick_draganddrop)
, drag(nullptr)
@@ -942,6 +942,12 @@ void QQuickMouseArea::mouseUngrabEvent()
ungrabMouse();
}
+void QQuickMouseArea::touchUngrabEvent()
+{
+ // allow a Pointer Handler to steal the grab from MouseArea
+ ungrabMouse();
+}
+
bool QQuickMouseArea::sendMouseEvent(QMouseEvent *event)
{
Q_D(QQuickMouseArea);
diff --git a/src/quick/items/qquickmousearea_p.h b/src/quick/items/qquickmousearea_p.h
index 3d4d113215..806cc41369 100644
--- a/src/quick/items/qquickmousearea_p.h
+++ b/src/quick/items/qquickmousearea_p.h
@@ -170,6 +170,7 @@ protected:
void mouseDoubleClickEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void mouseUngrabEvent() override;
+ void touchUngrabEvent() override;
void hoverEnterEvent(QHoverEvent *event) override;
void hoverMoveEvent(QHoverEvent *event) override;
void hoverLeaveEvent(QHoverEvent *event) override;
diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp
index b02e58fae4..9a371207ce 100644
--- a/src/quick/items/qquickmultipointtoucharea.cpp
+++ b/src/quick/items/qquickmultipointtoucharea.cpp
@@ -42,6 +42,7 @@
#include <private/qsgadaptationlayer_p.h>
#include <private/qevent_p.h>
#include <private/qquickitem_p.h>
+#include <private/qquickwindow_p.h>
#include <private/qguiapplication_p.h>
#include <QEvent>
#include <QMouseEvent>
@@ -448,6 +449,7 @@ QQuickMultiPointTouchArea::QQuickMultiPointTouchArea(QQuickItem *parent)
: QQuickItem(parent),
_minimumTouchPoints(0),
_maximumTouchPoints(INT_MAX),
+ _touchMouseDevice(nullptr),
_stealMouse(false),
_mouseEnabled(true)
{
@@ -586,10 +588,10 @@ void QQuickMultiPointTouchArea::updateTouchData(QEvent *event)
bool ended = false;
bool moved = false;
bool started = false;
- bool isMouseEvent = false;
clearTouchLists();
QList<QTouchEvent::TouchPoint> touchPoints;
+ QQuickWindowPrivate *windowPriv = QQuickWindowPrivate::get(window());
switch (event->type()) {
case QEvent::TouchBegin:
@@ -598,6 +600,9 @@ void QQuickMultiPointTouchArea::updateTouchData(QEvent *event)
touchPoints = static_cast<QTouchEvent*>(event)->touchPoints();
break;
case QEvent::MouseButtonPress:
+ _mouseQpaTouchPoint = QTouchEvent::TouchPoint(windowPriv->touchMouseId);
+ _touchMouseDevice = windowPriv->touchMouseDevice->qTouchDevice();
+ Q_FALLTHROUGH();
case QEvent::MouseMove:
case QEvent::MouseButtonRelease: {
QMouseEvent *me = static_cast<QMouseEvent*>(event);
@@ -617,7 +622,6 @@ void QQuickMultiPointTouchArea::updateTouchData(QEvent *event)
_mouseQpaTouchPoint.setState(Qt::TouchPointPressed);
}
touchPoints << _mouseQpaTouchPoint;
- isMouseEvent = true;
break;
}
default:
@@ -625,11 +629,6 @@ void QQuickMultiPointTouchArea::updateTouchData(QEvent *event)
break;
}
- if (!isMouseEvent && _mouseTouchPoint) {
- QQuickWindow *c = window();
- if (c && c->mouseGrabberItem() == this)
- touchPoints << _mouseQpaTouchPoint;
- }
int numTouchPoints = touchPoints.count();
//always remove released touches, and make sure we handle all releases before adds.
for (const QTouchEvent::TouchPoint &p : qAsConst(touchPoints)) {
@@ -756,7 +755,7 @@ void QQuickMultiPointTouchArea::addTouchPoint(const QMouseEvent *e)
dtp = new QQuickTouchPoint(false);
updateTouchPoint(dtp, e);
dtp->setPressed(true);
- _touchPoints.insert(-1, dtp);
+ _touchPoints.insert(_touchMouseDevice && _mouseQpaTouchPoint.id() > 0 ? _mouseQpaTouchPoint.id() : -1, dtp);
_pressedTouchPoints.append(dtp);
_mouseTouchPoint = dtp;
}
@@ -839,8 +838,7 @@ void QQuickMultiPointTouchArea::mousePressEvent(QMouseEvent *event)
setKeepMouseGrab(false);
event->setAccepted(true);
_mousePos = event->localPos();
-
- if (event->source() != Qt::MouseEventNotSynthesized)
+ if (event->source() != Qt::MouseEventNotSynthesized && event->source() != Qt::MouseEventSynthesizedByQt)
return;
if (_touchPoints.count() >= _minimumTouchPoints - 1 && _touchPoints.count() < _maximumTouchPoints) {
@@ -855,7 +853,7 @@ void QQuickMultiPointTouchArea::mouseMoveEvent(QMouseEvent *event)
return;
}
- if (event->source() != Qt::MouseEventNotSynthesized)
+ if (event->source() != Qt::MouseEventNotSynthesized && event->source() != Qt::MouseEventSynthesizedByQt)
return;
_movedTouchPoints.clear();
@@ -870,7 +868,7 @@ void QQuickMultiPointTouchArea::mouseReleaseEvent(QMouseEvent *event)
return;
}
- if (event->source() != Qt::MouseEventNotSynthesized)
+ if (event->source() != Qt::MouseEventNotSynthesized && event->source() != Qt::MouseEventSynthesizedByQt)
return;
if (_mouseTouchPoint) {
@@ -880,18 +878,16 @@ void QQuickMultiPointTouchArea::mouseReleaseEvent(QMouseEvent *event)
_mouseTouchPoint = nullptr;
}
- QQuickWindow *c = window();
- if (c && c->mouseGrabberItem() == this)
- ungrabMouse();
setKeepMouseGrab(false);
}
-void QQuickMultiPointTouchArea::ungrab()
+void QQuickMultiPointTouchArea::ungrab(bool normalRelease)
{
_stealMouse = false;
setKeepMouseGrab(false);
setKeepTouchGrab(false);
- ungrabTouchPoints();
+ if (!normalRelease)
+ ungrabTouchPoints();
if (_touchPoints.count()) {
for (QObject *obj : qAsConst(_touchPoints))
@@ -969,13 +965,25 @@ bool QQuickMultiPointTouchArea::childMouseEventFilter(QQuickItem *receiver, QEve
if (!isEnabled() || !isVisible())
return QQuickItem::childMouseEventFilter(receiver, event);
switch (event->type()) {
- case QEvent::MouseButtonPress:
+ case QEvent::MouseButtonPress: {
+ QQuickWindowPrivate *windowPriv = QQuickWindowPrivate::get(window());
+ // If we already got a chance to filter the touchpoint that generated this synth-mouse-press,
+ // and chose not to filter it, ignore it now, too.
+ if (static_cast<QMouseEvent *>(event)->source() == Qt::MouseEventSynthesizedByQt &&
+ _lastFilterableTouchPointIds.contains(windowPriv->touchMouseId))
+ return false;
+ } Q_FALLTHROUGH();
case QEvent::MouseMove:
case QEvent::MouseButtonRelease:
return sendMouseEvent(static_cast<QMouseEvent *>(event));
- break;
case QEvent::TouchBegin:
+ _lastFilterableTouchPointIds.clear();
+ Q_FALLTHROUGH();
case QEvent::TouchUpdate:
+ for (auto tp : static_cast<QTouchEvent*>(event)->touchPoints()) {
+ if (tp.state() == Qt::TouchPointPressed)
+ _lastFilterableTouchPointIds << tp.id();
+ }
if (!shouldFilter(event))
return false;
updateTouchData(event);
@@ -984,7 +992,7 @@ bool QQuickMultiPointTouchArea::childMouseEventFilter(QQuickItem *receiver, QEve
if (!shouldFilter(event))
return false;
updateTouchData(event);
- ungrab();
+ ungrab(true);
}
break;
default:
diff --git a/src/quick/items/qquickmultipointtoucharea_p.h b/src/quick/items/qquickmultipointtoucharea_p.h
index 7506be10a1..42b42a45c5 100644
--- a/src/quick/items/qquickmultipointtoucharea_p.h
+++ b/src/quick/items/qquickmultipointtoucharea_p.h
@@ -289,7 +289,7 @@ protected:
#endif
private:
- void ungrab();
+ void ungrab(bool normalRelease = false);
QMap<int,QQuickTouchPoint*> _touchPrototypes; //TouchPoints defined in QML
QMap<int,QObject*> _touchPoints; //All current touch points
QList<QObject*> _releasedTouchPoints;
@@ -297,8 +297,10 @@ private:
QList<QObject*> _movedTouchPoints;
int _minimumTouchPoints;
int _maximumTouchPoints;
+ QVector<int> _lastFilterableTouchPointIds;
QPointer<QQuickTouchPoint> _mouseTouchPoint; // exists when mouse button is down and _mouseEnabled is true; null otherwise
QTouchEvent::TouchPoint _mouseQpaTouchPoint; // synthetic QPA touch point to hold state and position of the mouse
+ const QTouchDevice *_touchMouseDevice;
QPointF _mousePos;
bool _stealMouse;
bool _mouseEnabled;
diff --git a/src/quick/items/qquickpainteditem.cpp b/src/quick/items/qquickpainteditem.cpp
index cee73ac2e8..df5ec0c3f2 100644
--- a/src/quick/items/qquickpainteditem.cpp
+++ b/src/quick/items/qquickpainteditem.cpp
@@ -133,7 +133,6 @@ QQuickPaintedItemPrivate::QQuickPaintedItemPrivate()
, contentsScale(1.0)
, fillColor(Qt::transparent)
, renderTarget(QQuickPaintedItem::Image)
- , performanceHints(nullptr)
, opaquePainting(false)
, antialiasing(false)
, mipmap(false)
diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp
index 6976665134..7ebe174a9e 100644
--- a/src/quick/items/qquickpathview.cpp
+++ b/src/quick/items/qquickpathview.cpp
@@ -1922,9 +1922,10 @@ bool QQuickPathView::childMouseEventFilter(QQuickItem *i, QEvent *e)
void QQuickPathView::mouseUngrabEvent()
{
Q_D(QQuickPathView);
- if (d->stealMouse) {
+ if (d->stealMouse ||
+ (!d->flicking && d->snapMode != NoSnap && !qFuzzyCompare(qRound(d->offset), d->offset))) {
// if our mouse grab has been removed (probably by a Flickable),
- // fix our state
+ // or if we should snap but haven't done it, fix our state
d->stealMouse = false;
setKeepMouseGrab(false);
d->timer.invalidate();
diff --git a/src/quick/items/qquickscreen.cpp b/src/quick/items/qquickscreen.cpp
index b17e505f4f..ed2d7eda3e 100644
--- a/src/quick/items/qquickscreen.cpp
+++ b/src/quick/items/qquickscreen.cpp
@@ -424,9 +424,6 @@ QScreen *QQuickScreenInfo::wrappedScreen() const
QQuickScreenAttached::QQuickScreenAttached(QObject* attachee)
: QQuickScreenInfo(attachee)
- , m_window(nullptr)
- , m_updateMask(nullptr)
- , m_updateMaskSet(false)
{
m_attachee = qobject_cast<QQuickItem*>(attachee);
diff --git a/src/quick/items/qquickscreen_p.h b/src/quick/items/qquickscreen_p.h
index 61cbdf7387..b4266d78c7 100644
--- a/src/quick/items/qquickscreen_p.h
+++ b/src/quick/items/qquickscreen_p.h
@@ -152,10 +152,10 @@ protected Q_SLOTS:
void screenChanged(QScreen*);
private:
- QQuickWindow* m_window;
+ QQuickWindow* m_window = nullptr;
QQuickItem* m_attachee;
Qt::ScreenOrientations m_updateMask;
- bool m_updateMaskSet;
+ bool m_updateMaskSet = false;
};
class Q_QUICK_PRIVATE_EXPORT QQuickScreen : public QObject
diff --git a/src/quick/items/qquickstateoperations.cpp b/src/quick/items/qquickstateoperations.cpp
index 07767d377d..ddaa1979b6 100644
--- a/src/quick/items/qquickstateoperations.cpp
+++ b/src/quick/items/qquickstateoperations.cpp
@@ -600,11 +600,6 @@ class QQuickAnchorSetPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QQuickAnchorSet)
public:
- QQuickAnchorSetPrivate()
- : usedAnchors(nullptr), resetAnchors(nullptr)
- {
- }
-
QQuickAnchors::Anchors usedAnchors;
QQuickAnchors::Anchors resetAnchors;
diff --git a/src/quick/items/qquicktableview.cpp b/src/quick/items/qquicktableview.cpp
index 295c6898bc..4018ce33a5 100644
--- a/src/quick/items/qquicktableview.cpp
+++ b/src/quick/items/qquicktableview.cpp
@@ -628,6 +628,12 @@ void QQuickTableViewPrivate::updateContentWidth()
return;
}
+ if (loadedItems.isEmpty()) {
+ QBoolBlocker fixupGuard(inUpdateContentSize, true);
+ q->QQuickFlickable::setContentWidth(0);
+ return;
+ }
+
const int nextColumn = nextVisibleEdgeIndexAroundLoadedTable(Qt::RightEdge);
const int columnsRemaining = nextColumn == kEdgeIndexAtEnd ? 0 : tableSize.width() - nextColumn;
const qreal remainingColumnWidths = columnsRemaining * averageEdgeSize.width();
@@ -655,6 +661,12 @@ void QQuickTableViewPrivate::updateContentHeight()
return;
}
+ if (loadedItems.isEmpty()) {
+ QBoolBlocker fixupGuard(inUpdateContentSize, true);
+ q->QQuickFlickable::setContentHeight(0);
+ return;
+ }
+
const int nextRow = nextVisibleEdgeIndexAroundLoadedTable(Qt::BottomEdge);
const int rowsRemaining = nextRow == kEdgeIndexAtEnd ? 0 : tableSize.height() - nextRow;
const qreal remainingRowHeights = rowsRemaining * averageEdgeSize.height();
@@ -871,17 +883,13 @@ void QQuickTableViewPrivate::syncLoadedTableRectFromLoadedTable()
loadedTableInnerRect = QRectF(topLeftRect.bottomRight(), bottomRightRect.topLeft());
}
-void QQuickTableViewPrivate::forceLayout()
+QQuickTableViewPrivate::RebuildOptions QQuickTableViewPrivate::checkForVisibilityChanges()
{
- if (loadedItems.isEmpty())
- return;
-
- clearEdgeSizeCache();
- RebuildOptions rebuildOptions = RebuildOption::LayoutOnly;
-
// Go through all columns from first to last, find the columns that used
// to be hidden and not loaded, and check if they should become visible
// (and vice versa). If there is a change, we need to rebuild.
+ RebuildOptions rebuildOptions = RebuildOption::None;
+
for (int column = leftColumn(); column <= rightColumn(); ++column) {
const bool wasVisibleFromBefore = loadedColumns.contains(column);
const bool isVisibleNow = !qFuzzyIsNull(getColumnWidth(column));
@@ -916,6 +924,28 @@ void QQuickTableViewPrivate::forceLayout()
break;
}
+ return rebuildOptions;
+}
+
+void QQuickTableViewPrivate::forceLayout()
+{
+ if (loadedItems.isEmpty())
+ return;
+
+ clearEdgeSizeCache();
+ RebuildOptions rebuildOptions = RebuildOption::None;
+
+ const QSize actualTableSize = calculateTableSize();
+ if (tableSize != actualTableSize) {
+ // This can happen if the app is calling forceLayout while
+ // the model is updated, but before we're notified about it.
+ rebuildOptions = RebuildOption::All;
+ } else {
+ rebuildOptions = checkForVisibilityChanges();
+ if (!rebuildOptions)
+ rebuildOptions = RebuildOption::LayoutOnly;
+ }
+
scheduleRebuildTable(rebuildOptions);
auto rootView = rootSyncView();
@@ -1036,21 +1066,20 @@ void QQuickTableViewPrivate::releaseLoadedItems(QQmlTableInstanceModel::Reusable
void QQuickTableViewPrivate::releaseItem(FxTableItem *fxTableItem, QQmlTableInstanceModel::ReusableFlag reusableFlag)
{
Q_Q(QQuickTableView);
+ // Note that fxTableItem->item might already have been destroyed, in case
+ // the item is owned by the QML context rather than the model (e.g ObjectModel etc).
auto item = fxTableItem->item;
- Q_TABLEVIEW_ASSERT(item, fxTableItem->index);
if (fxTableItem->ownItem) {
+ Q_TABLEVIEW_ASSERT(item, fxTableItem->index);
delete item;
- } else {
+ } else if (item) {
// Only QQmlTableInstanceModel supports reusing items
auto releaseFlag = tableModel ?
tableModel->release(item, reusableFlag) :
model->release(item);
- if (releaseFlag != QQmlInstanceModel::Destroyed) {
- // When items are not destroyed, it typically means that the
- // item is reused, or that the model is an ObjectModel. If
- // so, we just hide the item instead.
+ if (releaseFlag == QQmlInstanceModel::Pooled) {
fxTableItem->setVisible(false);
// If the item (or a descendant) has focus, remove it, so
@@ -1183,19 +1212,14 @@ qreal QQuickTableViewPrivate::sizeHintForRow(int row)
return rowHeight;
}
-void QQuickTableViewPrivate::calculateTableSize()
+void QQuickTableViewPrivate::updateTableSize()
{
// tableSize is the same as row and column count, and will always
// be the same as the number of rows and columns in the model.
Q_Q(QQuickTableView);
- QSize prevTableSize = tableSize;
- if (tableModel)
- tableSize = QSize(tableModel->columns(), tableModel->rows());
- else if (model)
- tableSize = QSize(1, model->count());
- else
- tableSize = QSize(0, 0);
+ const QSize prevTableSize = tableSize;
+ tableSize = calculateTableSize();
if (prevTableSize.width() != tableSize.width())
emit q->columnsChanged();
@@ -1203,6 +1227,16 @@ void QQuickTableViewPrivate::calculateTableSize()
emit q->rowsChanged();
}
+QSize QQuickTableViewPrivate::calculateTableSize()
+{
+ if (tableModel)
+ return QSize(tableModel->columns(), tableModel->rows());
+ else if (model)
+ return QSize(1, model->count());
+
+ return QSize(0, 0);
+}
+
qreal QQuickTableViewPrivate::getColumnLayoutWidth(int column)
{
// Return the column width specified by the application, or go
@@ -1229,9 +1263,9 @@ qreal QQuickTableViewPrivate::getColumnLayoutWidth(int column)
if (qIsNaN(columnWidth) || columnWidth <= 0) {
if (!layoutWarningIssued) {
layoutWarningIssued = true;
- qmlWarning(q_func()) << "the delegate's implicitHeight needs to be greater than zero";
+ qmlWarning(q_func()) << "the delegate's implicitWidth needs to be greater than zero";
}
- columnWidth = kDefaultRowHeight;
+ columnWidth = kDefaultColumnWidth;
}
return columnWidth;
@@ -1589,6 +1623,8 @@ void QQuickTableViewPrivate::processRebuildTable()
if (rebuildState == RebuildState::VerifyTable) {
if (loadedItems.isEmpty()) {
qCDebug(lcTableViewDelegateLifecycle()) << "no items loaded!";
+ updateContentWidth();
+ updateContentHeight();
rebuildState = RebuildState::Done;
} else if (!moveToNextRebuildState()) {
return;
@@ -1755,16 +1791,18 @@ void QQuickTableViewPrivate::calculateTopLeft(QPoint &topLeftCell, QPointF &topL
void QQuickTableViewPrivate::beginRebuildTable()
{
- calculateTableSize();
+ updateTableSize();
QPoint topLeft;
QPointF topLeftPos;
calculateTopLeft(topLeft, topLeftPos);
- if (rebuildOptions & RebuildOption::All)
- releaseLoadedItems(QQmlTableInstanceModel::NotReusable);
- else if (rebuildOptions & RebuildOption::ViewportOnly)
- releaseLoadedItems(reusableFlag);
+ if (!loadedItems.isEmpty()) {
+ if (rebuildOptions & RebuildOption::All)
+ releaseLoadedItems(QQmlTableInstanceModel::NotReusable);
+ else if (rebuildOptions & RebuildOption::ViewportOnly)
+ releaseLoadedItems(reusableFlag);
+ }
if (rebuildOptions & RebuildOption::All) {
origin = QPointF(0, 0);
@@ -2196,13 +2234,15 @@ void QQuickTableViewPrivate::syncRebuildOptions()
void QQuickTableViewPrivate::syncDelegate()
{
- if (tableModel && assignedDelegate == tableModel->delegate())
+ if (!tableModel) {
+ // Only the tableModel uses the delegate assigned to a
+ // TableView. DelegateModel has it's own delegate, and
+ // ObjectModel etc. doesn't use one.
return;
+ }
- if (!tableModel)
- createWrapperModel();
-
- tableModel->setDelegate(assignedDelegate);
+ if (assignedDelegate != tableModel->delegate())
+ tableModel->setDelegate(assignedDelegate);
}
void QQuickTableViewPrivate::syncModel()
@@ -2210,8 +2250,10 @@ void QQuickTableViewPrivate::syncModel()
if (modelVariant == assignedModel)
return;
- if (model)
+ if (model) {
disconnectFromModel();
+ releaseLoadedItems(QQmlTableInstanceModel::NotReusable);
+ }
modelVariant = assignedModel;
QVariant effectiveModelVariant = modelVariant;
@@ -2291,6 +2333,7 @@ void QQuickTableViewPrivate::syncSyncView()
void QQuickTableViewPrivate::connectToModel()
{
+ Q_Q(QQuickTableView);
Q_TABLEVIEW_ASSERT(model, "");
QObjectPrivate::connect(model, &QQmlInstanceModel::createdItem, this, &QQuickTableViewPrivate::itemCreatedCallback);
@@ -2300,6 +2343,8 @@ void QQuickTableViewPrivate::connectToModel()
const auto tm = tableModel.data();
QObjectPrivate::connect(tm, &QQmlTableInstanceModel::itemPooled, this, &QQuickTableViewPrivate::itemPooledCallback);
QObjectPrivate::connect(tm, &QQmlTableInstanceModel::itemReused, this, &QQuickTableViewPrivate::itemReusedCallback);
+ // Connect atYEndChanged to a function that fetches data if more is available
+ QObjectPrivate::connect(q, &QQuickTableView::atYEndChanged, this, &QQuickTableViewPrivate::fetchMoreData);
}
if (auto const aim = model->abstractItemModel()) {
@@ -2323,6 +2368,7 @@ void QQuickTableViewPrivate::connectToModel()
void QQuickTableViewPrivate::disconnectFromModel()
{
+ Q_Q(QQuickTableView);
Q_TABLEVIEW_ASSERT(model, "");
QObjectPrivate::disconnect(model, &QQmlInstanceModel::createdItem, this, &QQuickTableViewPrivate::itemCreatedCallback);
@@ -2332,6 +2378,7 @@ void QQuickTableViewPrivate::disconnectFromModel()
const auto tm = tableModel.data();
QObjectPrivate::disconnect(tm, &QQmlTableInstanceModel::itemPooled, this, &QQuickTableViewPrivate::itemPooledCallback);
QObjectPrivate::disconnect(tm, &QQmlTableInstanceModel::itemReused, this, &QQuickTableViewPrivate::itemReusedCallback);
+ QObjectPrivate::disconnect(q, &QQuickTableView::atYEndChanged, this, &QQuickTableViewPrivate::fetchMoreData);
}
if (auto const aim = model->abstractItemModel()) {
@@ -2413,6 +2460,14 @@ void QQuickTableViewPrivate::layoutChangedCallback(const QList<QPersistentModelI
scheduleRebuildTable(RebuildOption::ViewportOnly);
}
+void QQuickTableViewPrivate::fetchMoreData()
+{
+ if (tableModel && tableModel->canFetchMore()) {
+ tableModel->fetchMore();
+ scheduleRebuildTable(RebuildOption::ViewportOnly);
+ }
+}
+
void QQuickTableViewPrivate::modelResetCallback()
{
scheduleRebuildTable(RebuildOption::All);
@@ -2678,6 +2733,23 @@ void QQuickTableView::setContentHeight(qreal height)
QQuickFlickable::setContentHeight(height);
}
+/*!
+ \qmlproperty TableView QtQuick::TableView::syncView
+
+ If this property of a TableView is set to another TableView, both the
+ tables will synchronize with regard to flicking, column widths/row heights,
+ and spacing according to \l syncDirection.
+
+ If \l syncDirection contains \l Qt.Horizontal, current tableView's column
+ widths, column spacing, and horizontal flicking movement synchronizes with
+ syncView's.
+
+ If \l syncDirection contains \l Qt.Vertical, current tableView's row
+ heights, row spacing, and vertical flicking movement synchronizes with
+ syncView's.
+
+ \sa syncDirection
+*/
QQuickTableView *QQuickTableView::syncView() const
{
return d_func()->assignedSyncView;
@@ -2695,6 +2767,24 @@ void QQuickTableView::setSyncView(QQuickTableView *view)
emit syncViewChanged();
}
+/*!
+ \qmlproperty Qt::Orientations QtQuick::TableView::syncDirection
+
+ If the \l syncView is set on a TableView, this property controls
+ synchronization of flicking direction(s) for both tables. The default is \c
+ {Qt.Horizontal | Qt.Vertical}, which means that if you flick either table
+ in either direction, the other table is flicked the same amount in the
+ same direction.
+
+ This property and \l syncView can be used to make two tableViews
+ synchronize with each other smoothly in flicking regardless of the different
+ overshoot/undershoot, velocity, acceleration/deceleration or rebound
+ animation, and so on.
+
+ A typical use case is to make several headers flick along with the table.
+
+ \sa syncView, headerView
+*/
Qt::Orientations QQuickTableView::syncDirection() const
{
return d_func()->assignedSyncDirection;
diff --git a/src/quick/items/qquicktableview_p_p.h b/src/quick/items/qquicktableview_p_p.h
index b66ac66dec..ec043f5e7e 100644
--- a/src/quick/items/qquicktableview_p_p.h
+++ b/src/quick/items/qquicktableview_p_p.h
@@ -322,7 +322,8 @@ public:
qreal sizeHintForColumn(int column);
qreal sizeHintForRow(int row);
- void calculateTableSize();
+ QSize calculateTableSize();
+ void updateTableSize();
inline bool isColumnHidden(int column);
inline bool isRowHidden(int row);
@@ -351,6 +352,7 @@ public:
void updateContentWidth();
void updateContentHeight();
void updateAverageEdgeSize();
+ RebuildOptions checkForVisibilityChanges();
void forceLayout();
void updateExtents();
@@ -424,6 +426,8 @@ public:
void setLocalViewportY(qreal contentY);
void syncViewportPosRecursive();
+ void fetchMoreData();
+
void _q_componentFinalized();
void registerCallbackWhenBindingsAreEvaluated();
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index a83b9beaa5..eda2029783 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1140,7 +1140,10 @@ QString QQuickTextInput::inputMask() const
void QQuickTextInput::setInputMask(const QString &im)
{
Q_D(QQuickTextInput);
- if (d->inputMask() == im)
+ QString canonicalInputMask = im;
+ if (im.lastIndexOf(QLatin1Char(';')) == -1)
+ canonicalInputMask.append(QLatin1String("; "));
+ if (d->inputMask() == canonicalInputMask)
return;
d->setInputMask(im);
@@ -3954,7 +3957,7 @@ bool QQuickTextInputPrivate::isValidInput(QChar key, QChar mask) const
return true;
break;
case 'X':
- if (key.isPrint())
+ if (key.isPrint() && key != m_blank)
return true;
break;
case 'x':
diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp
index 9998dc3605..84488dcaca 100644
--- a/src/quick/items/qquickview.cpp
+++ b/src/quick/items/qquickview.cpp
@@ -240,13 +240,12 @@ void QQuickView::setSource(const QUrl& url)
}
/*!
- Sets the initial properties with which the QML component gets initialized after
- calling \l QQuickView::setSource.
+ Sets the initial properties \a initialProperties with which the QML
+ component gets initialized after calling \l QQuickView::setSource().
+ \note You can only use this function to initialize top-level properties.
- Note that you can only use this function to initialize toplevel properties.
-
- \sa QQmlComponent::createWithInitialProperties
+ \sa QQmlComponent::createWithInitialProperties()
\since 5.14
*/
void QQuickView::setInitialProperties(const QVariantMap &initialProperties)
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 9b45750a3b..3dd7862c72 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -527,7 +527,7 @@ void QQuickWindowPrivate::renderSceneGraph(const QSize &size, const QSize &surfa
renderer->setDeviceRect(rect);
renderer->setViewportRect(rect);
const bool flipY = rhi ? !rhi->isYUpInNDC() : false;
- QSGAbstractRenderer::MatrixTransformFlags matrixFlags = 0;
+ QSGAbstractRenderer::MatrixTransformFlags matrixFlags;
if (flipY)
matrixFlags |= QSGAbstractRenderer::MatrixTransformFlipY;
renderer->setProjectionMatrixToRect(QRectF(QPoint(0, 0), logicalSize), matrixFlags);
@@ -1768,6 +1768,8 @@ bool QQuickWindow::event(QEvent *e)
if (e->type() == QEvent::Type(QQuickWindowPrivate::FullUpdateRequest))
update();
+ else if (e->type() == QEvent::Type(QQuickWindowPrivate::TriggerContextCreationFailure))
+ d->windowManager->handleContextCreationFailure(this);
return QWindow::event(e);
}
@@ -3254,10 +3256,9 @@ bool QQuickWindowPrivate::isRenderable() const
void QQuickWindowPrivate::contextCreationFailureMessage(const QSurfaceFormat &format,
QString *translatedMessage,
- QString *untranslatedMessage,
- bool isEs)
+ QString *untranslatedMessage)
{
- const QString contextType = QLatin1String(isEs ? "EGL" : "OpenGL");
+ const QString contextType = QLatin1String("OpenGL");
QString formatStr;
QDebug(&formatStr) << format;
#if defined(Q_OS_WIN32)
@@ -3282,6 +3283,16 @@ void QQuickWindowPrivate::contextCreationFailureMessage(const QSurfaceFormat &fo
#endif // !Q_OS_WIN32
}
+void QQuickWindowPrivate::rhiCreationFailureMessage(const QString &backendName,
+ QString *translatedMessage,
+ QString *untranslatedMessage)
+{
+ const char msg[] = QT_TRANSLATE_NOOP("QQuickWindow",
+ "Failed to initialize graphics backend for %1.");
+ *translatedMessage = QQuickWindow::tr(msg).arg(backendName);
+ *untranslatedMessage = QString::fromLatin1(msg).arg(backendName);
+}
+
#if QT_DEPRECATED_SINCE(5, 8)
// ### Qt6: remove
@@ -4444,7 +4455,7 @@ bool QQuickWindow::clearBeforeRendering() const
QSGTexture *QQuickWindow::createTextureFromImage(const QImage &image) const
{
- return createTextureFromImage(image, nullptr);
+ return createTextureFromImage(image, {});
}
@@ -4603,7 +4614,7 @@ QSGTexture *QQuickWindow::createTextureFromId(uint id, const QSize &size, Create
\a nativeLayout is only used for APIs like Vulkan. When applicable, it must
specify the current image layout, such as, a VkImageLayout value.
- \sa sceneGraphInitialized(), QSGTextures
+ \sa sceneGraphInitialized(), QSGTexture
\since 5.14
*/
diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h
index af7d65dac5..ef10ba3fe8 100644
--- a/src/quick/items/qquickwindow_p.h
+++ b/src/quick/items/qquickwindow_p.h
@@ -112,7 +112,8 @@ public:
Q_DECLARE_PUBLIC(QQuickWindow)
enum CustomEvents {
- FullUpdateRequest = QEvent::User + 1
+ FullUpdateRequest = QEvent::User + 1,
+ TriggerContextCreationFailure = QEvent::User + 2
};
static inline QQuickWindowPrivate *get(QQuickWindow *c) { return c->d_func(); }
@@ -206,8 +207,8 @@ public:
};
Q_DECLARE_FLAGS(FocusOptions, FocusOption)
- void setFocusInScope(QQuickItem *scope, QQuickItem *item, Qt::FocusReason reason, FocusOptions = nullptr);
- void clearFocusInScope(QQuickItem *scope, QQuickItem *item, Qt::FocusReason reason, FocusOptions = nullptr);
+ void setFocusInScope(QQuickItem *scope, QQuickItem *item, Qt::FocusReason reason, FocusOptions = { });
+ void clearFocusInScope(QQuickItem *scope, QQuickItem *item, Qt::FocusReason reason, FocusOptions = { });
static void notifyFocusChangesRecur(QQuickItem **item, int remaining);
void clearFocusObject() override;
@@ -300,8 +301,10 @@ public:
static void contextCreationFailureMessage(const QSurfaceFormat &format,
QString *translatedMessage,
- QString *untranslatedMessage,
- bool isEs);
+ QString *untranslatedMessage);
+ static void rhiCreationFailureMessage(const QString &backendName,
+ QString *translatedMessage,
+ QString *untranslatedMessage);
static void emitBeforeRenderPassRecording(void *ud);
static void emitAfterRenderPassRecording(void *ud);
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp
index 7b5ee66df6..f1d0e28fc8 100644
--- a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp
+++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp
@@ -206,12 +206,12 @@ QSGRendererInterface::ShaderType QSGSoftwareContext::shaderType() const
QSGRendererInterface::ShaderCompilationTypes QSGSoftwareContext::shaderCompilationType() const
{
- return nullptr;
+ return {};
}
QSGRendererInterface::ShaderSourceTypes QSGSoftwareContext::shaderSourceType() const
{
- return nullptr;
+ return {};
}
void *QSGSoftwareContext::getResource(QQuickWindow *window, Resource resource) const
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp
index da5d39db20..214f7d790b 100644
--- a/src/quick/scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp
+++ b/src/quick/scenegraph/adaptations/software/qsgsoftwareinternalimagenode.cpp
@@ -465,7 +465,7 @@ void QSGSoftwareInternalImageNode::paint(QPainter *painter)
m_targetRect.right() - m_innerTargetRect.right(), m_targetRect.bottom() - m_innerTargetRect.bottom());
QSGSoftwareHelpers::QTileRules tilerules(getTileRule(m_subSourceRect.width()), getTileRule(m_subSourceRect.height()));
QSGSoftwareHelpers::qDrawBorderPixmap(painter, m_targetRect.toRect(), margins, pm, QRect(0, 0, pm.width(), pm.height()),
- margins, tilerules, QSGSoftwareHelpers::QDrawBorderPixmap::DrawingHints(nullptr));
+ margins, tilerules, QSGSoftwareHelpers::QDrawBorderPixmap::DrawingHints{});
return;
}
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes.cpp
index 141d8f3c6d..a10a94125c 100644
--- a/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes.cpp
+++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes.cpp
@@ -205,7 +205,7 @@ void QSGSoftwareNinePatchNode::paint(QPainter *painter)
painter->drawPixmap(m_bounds, m_pixmap, QRectF(0, 0, m_pixmap.width(), m_pixmap.height()));
else
QSGSoftwareHelpers::qDrawBorderPixmap(painter, m_bounds.toRect(), m_margins, m_pixmap, QRect(0, 0, m_pixmap.width(), m_pixmap.height()),
- m_margins, Qt::StretchTile, QSGSoftwareHelpers::QDrawBorderPixmap::DrawingHints(nullptr));
+ m_margins, Qt::StretchTile, QSGSoftwareHelpers::QDrawBorderPixmap::DrawingHints{});
}
QRectF QSGSoftwareNinePatchNode::bounds() const
diff --git a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture.cpp b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture.cpp
index 1a8bddaa6e..65abb2a1af 100644
--- a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture.cpp
+++ b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture.cpp
@@ -296,7 +296,7 @@ void QSGCompressedTexturePrivate::updateRhiTexture(QRhi *rhi, QRhiResourceUpdate
return;
}
- QRhiTexture::Flags texFlags = 0;
+ QRhiTexture::Flags texFlags;
if (fmt.second)
texFlags |= QRhiTexture::sRGB;
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
index 45b00d43c4..9ccf483622 100644
--- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
@@ -546,7 +546,7 @@ void Updater::visitNode(Node *n)
m_added = count;
m_force_update = force;
- n->dirtyState = nullptr;
+ n->dirtyState = {};
}
void Updater::visitClipNode(Node *n)
@@ -2627,7 +2627,7 @@ QRhiGraphicsPipeline *Renderer::buildStencilPipeline(const Batch *batch, bool fi
QRhiGraphicsPipeline *ps = m_rhi->newGraphicsPipeline();
ps->setFlags(QRhiGraphicsPipeline::UsesStencilRef);
QRhiGraphicsPipeline::TargetBlend blend;
- blend.colorWrite = 0;
+ blend.colorWrite = {};
ps->setTargetBlends({ blend });
ps->setSampleCount(renderTarget()->sampleCount());
ps->setStencilTest(true);
@@ -3257,7 +3257,7 @@ bool Renderer::ensurePipelineState(Element *e, const ShaderManager::Shader *sms)
ps->setShaderResourceBindings(e->srb);
ps->setRenderPassDescriptor(renderPassDescriptor());
- QRhiGraphicsPipeline::Flags flags = 0;
+ QRhiGraphicsPipeline::Flags flags;
if (needsBlendConstant(m_gstate.srcColor) || needsBlendConstant(m_gstate.dstColor))
flags |= QRhiGraphicsPipeline::UsesBlendConstants;
if (m_gstate.usesScissor)
diff --git a/src/quick/scenegraph/coreapi/qsgmaterial.cpp b/src/quick/scenegraph/coreapi/qsgmaterial.cpp
index c8ae26311b..087c3c4cbf 100644
--- a/src/quick/scenegraph/coreapi/qsgmaterial.cpp
+++ b/src/quick/scenegraph/coreapi/qsgmaterial.cpp
@@ -153,7 +153,6 @@ static void qt_print_material_count()
*/
QSGMaterial::QSGMaterial()
- : m_flags(nullptr)
{
Q_UNUSED(m_reserved);
#ifndef QT_NO_DEBUG
diff --git a/src/quick/scenegraph/coreapi/qsgmaterialrhishader.cpp b/src/quick/scenegraph/coreapi/qsgmaterialrhishader.cpp
index 117d477f9a..c5cbd0c979 100644
--- a/src/quick/scenegraph/coreapi/qsgmaterialrhishader.cpp
+++ b/src/quick/scenegraph/coreapi/qsgmaterialrhishader.cpp
@@ -97,14 +97,14 @@ static inline QRhiShaderResourceBinding::StageFlags toSrbStage(QShader::Stage st
Q_UNREACHABLE();
break;
}
- return 0;
+ return { };
}
void QSGMaterialRhiShaderPrivate::prepare(QShader::Variant vertexShaderVariant)
{
ubufBinding = -1;
ubufSize = 0;
- ubufStages = 0;
+ ubufStages = { };
memset(combinedImageSamplerBindings, 0, sizeof(combinedImageSamplerBindings));
vertexShader = fragmentShader = nullptr;
masterUniformData.clear();
@@ -319,7 +319,7 @@ bool QSGMaterialRhiShader::updateUniformData(RenderState &state,
each variable in the material's shaders'
\l{QShaderDescription::combinedImageSamplers()}.
- When \c{*texture} is null, it must be set to a QSGTexture pointer before
+ When *\a{texture} is null, it must be set to a QSGTexture pointer before
returning. When non-null, it is up to the material to decide if a new
\c{QSGTexture *} is stored to it, or if it updates some parameters on the
already known QSGTexture. The ownership of the QSGTexture is not
diff --git a/src/quick/scenegraph/coreapi/qsgnode.cpp b/src/quick/scenegraph/coreapi/qsgnode.cpp
index 7d9b74bc2b..a35629d874 100644
--- a/src/quick/scenegraph/coreapi/qsgnode.cpp
+++ b/src/quick/scenegraph/coreapi/qsgnode.cpp
@@ -245,7 +245,6 @@ static void qt_print_node_count()
*/
QSGNode::QSGNode()
: m_nodeFlags(OwnedByParent)
- , m_dirtyState(nullptr)
{
init();
}
@@ -264,7 +263,6 @@ QSGNode::QSGNode(NodeType type)
, m_previousSibling(nullptr)
, m_subtreeRenderableCount(type == GeometryNodeType || type == RenderNodeType ? 1 : 0)
, m_nodeFlags(OwnedByParent)
- , m_dirtyState(nullptr)
{
init();
}
@@ -283,7 +281,6 @@ QSGNode::QSGNode(QSGNodePrivate &dd, NodeType type)
, m_previousSibling(nullptr)
, m_subtreeRenderableCount(type == GeometryNodeType || type == RenderNodeType ? 1 : 0)
, m_nodeFlags(OwnedByParent)
- , m_dirtyState(nullptr)
, d_ptr(&dd)
{
init();
diff --git a/src/quick/scenegraph/coreapi/qsgnode.h b/src/quick/scenegraph/coreapi/qsgnode.h
index cb677de030..5a7faed5e0 100644
--- a/src/quick/scenegraph/coreapi/qsgnode.h
+++ b/src/quick/scenegraph/coreapi/qsgnode.h
@@ -146,7 +146,7 @@ public:
QT_DEPRECATED void clearDirty() { }
void markDirty(DirtyState bits);
- QT_DEPRECATED DirtyState dirtyState() const { return nullptr; }
+ QT_DEPRECATED DirtyState dirtyState() const { return { }; }
virtual bool isSubtreeBlocked() const;
diff --git a/src/quick/scenegraph/coreapi/qsgopenglvisualizer.cpp b/src/quick/scenegraph/coreapi/qsgopenglvisualizer.cpp
index 6c2ff0b176..9282b6c308 100644
--- a/src/quick/scenegraph/coreapi/qsgopenglvisualizer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgopenglvisualizer.cpp
@@ -202,7 +202,7 @@ void OpenGLVisualizer::visualizeChanges(Node *n)
// This is because many changes don't propegate their dirty state to the
// parent so the node updater will not unset these states. They are
// not used for anything so, unsetting it should have no side effects.
- n->dirtyState = nullptr;
+ n->dirtyState = {};
}
SHADOWNODE_TRAVERSE(n) {
diff --git a/src/quick/scenegraph/coreapi/qsgrendernode.cpp b/src/quick/scenegraph/coreapi/qsgrendernode.cpp
index 2892f2f966..63878954bf 100644
--- a/src/quick/scenegraph/coreapi/qsgrendernode.cpp
+++ b/src/quick/scenegraph/coreapi/qsgrendernode.cpp
@@ -131,7 +131,7 @@ QSGRenderNodePrivate::QSGRenderNodePrivate()
*/
QSGRenderNode::StateFlags QSGRenderNode::changedStates() const
{
- return nullptr;
+ return {};
}
/*!
@@ -311,7 +311,7 @@ void QSGRenderNode::releaseResources()
*/
QSGRenderNode::RenderingFlags QSGRenderNode::flags() const
{
- return nullptr;
+ return {};
}
/*!
diff --git a/src/quick/scenegraph/coreapi/qsgrhivisualizer.cpp b/src/quick/scenegraph/coreapi/qsgrhivisualizer.cpp
index 38d4c4440f..a0131a3f67 100644
--- a/src/quick/scenegraph/coreapi/qsgrhivisualizer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgrhivisualizer.cpp
@@ -400,7 +400,7 @@ void RhiVisualizer::ChangeVis::gather(Node *n)
// This is because many changes don't propegate their dirty state to the
// parent so the node updater will not unset these states. They are
// not used for anything so, unsetting it should have no side effects.
- n->dirtyState = nullptr;
+ n->dirtyState = { };
}
SHADOWNODE_TRAVERSE(n) {
diff --git a/src/quick/scenegraph/coreapi/qsgtexture.cpp b/src/quick/scenegraph/coreapi/qsgtexture.cpp
index edcee96bdb..58b42e4094 100644
--- a/src/quick/scenegraph/coreapi/qsgtexture.cpp
+++ b/src/quick/scenegraph/coreapi/qsgtexture.cpp
@@ -395,6 +395,9 @@ QSGTexture::~QSGTexture()
Binding a texture may also include uploading the texture data from
a previously set QImage.
+ \warning This function should only be called when running with the
+ direct OpenGL rendering path.
+
\warning This function can only be called from the rendering thread.
*/
@@ -701,8 +704,8 @@ void QSGTexture::updateBindOptions(bool force) // legacy (GL-only)
data (for example, because there was no setImage() since the last call to
this function), the function does nothing.
- Materials involving textures are expected to call this function from their
- updateSampledImage() implementation, typically without any conditions.
+ Materials involving \a rhi textures are expected to call this function from
+ their updateSampledImage() implementation, typically without any conditions.
\note This function is only used when running the graphics API independent
rendering path of the scene graph.
diff --git a/src/quick/scenegraph/qsgcontextplugin.cpp b/src/quick/scenegraph/qsgcontextplugin.cpp
index 66add51c55..7dfb8488ae 100644
--- a/src/quick/scenegraph/qsgcontextplugin.cpp
+++ b/src/quick/scenegraph/qsgcontextplugin.cpp
@@ -87,7 +87,6 @@ struct QSGAdaptationBackendData
};
QSGAdaptationBackendData::QSGAdaptationBackendData()
- : flags(nullptr)
{
// Fill in the table with the built-in adaptations.
builtIns.append(new QSGSoftwareAdaptation);
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp
index f609055677..fb460f28d6 100644
--- a/src/quick/scenegraph/qsgrenderloop.cpp
+++ b/src/quick/scenegraph/qsgrenderloop.cpp
@@ -195,8 +195,16 @@ public:
bool eventFilter(QObject *watched, QEvent *event) override;
struct WindowData {
+ WindowData()
+ : updatePending(false),
+ grabOnly(false),
+ rhiDeviceLost(false),
+ rhiDoomed(false)
+ { }
bool updatePending : 1;
bool grabOnly : 1;
+ bool rhiDeviceLost : 1;
+ bool rhiDoomed : 1;
};
QHash<QQuickWindow *, WindowData> m_windows;
@@ -316,15 +324,19 @@ void QSGRenderLoop::setInstance(QSGRenderLoop *instance)
s_instance = instance;
}
-void QSGRenderLoop::handleContextCreationFailure(QQuickWindow *window,
- bool isEs)
+void QSGRenderLoop::handleContextCreationFailure(QQuickWindow *window)
{
QString translatedMessage;
QString untranslatedMessage;
- QQuickWindowPrivate::contextCreationFailureMessage(window->requestedFormat(),
+ if (QSGRhiSupport::instance()->isRhiEnabled()) {
+ QQuickWindowPrivate::rhiCreationFailureMessage(QSGRhiSupport::instance()->rhiBackendName(),
&translatedMessage,
- &untranslatedMessage,
- isEs);
+ &untranslatedMessage);
+ } else {
+ QQuickWindowPrivate::contextCreationFailureMessage(window->requestedFormat(),
+ &translatedMessage,
+ &untranslatedMessage);
+ }
// If there is a slot connected to the error signal, emit it and leave it to
// the application to do something with the message. If nothing is connected,
// show a message on our own and terminate.
@@ -362,10 +374,7 @@ QSGGuiThreadRenderLoop::~QSGGuiThreadRenderLoop()
void QSGGuiThreadRenderLoop::show(QQuickWindow *window)
{
- WindowData data;
- data.updatePending = false;
- data.grabOnly = false;
- m_windows[window] = data;
+ m_windows[window] = WindowData();
maybeUpdate(window);
}
@@ -451,8 +460,10 @@ void QSGGuiThreadRenderLoop::handleDeviceLoss()
rc->invalidate();
- for (auto it = m_windows.constBegin(), itEnd = m_windows.constEnd(); it != itEnd; ++it)
+ for (auto it = m_windows.begin(), itEnd = m_windows.end(); it != itEnd; ++it) {
releaseSwapchain(it.key());
+ it->rhiDeviceLost = true;
+ }
delete rhi;
rhi = nullptr;
@@ -508,6 +519,13 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
const bool enableRhi = rhiSupport->isRhiEnabled();
if (enableRhi && !rhi) {
+ // This block below handles both the initial QRhi initialization and
+ // also the subsequent reinitialization attempts after a device lost
+ // (reset) situation.
+
+ if (data.rhiDoomed) // no repeated attempts if the initial attempt failed
+ return;
+
if (!offscreenSurface)
offscreenSurface = rhiSupport->maybeCreateOffscreenSurface(window);
@@ -517,6 +535,8 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
if (rhiSupport->isProfilingRequested())
QSGRhiProfileConnection::instance()->initialize(rhi);
+ data.rhiDeviceLost = false;
+
current = true;
rhi->makeThreadLocalNativeContextCurrent();
@@ -533,7 +553,11 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
rcParams.maybeSurface = window;
cd->context->initialize(&rcParams);
} else {
- handleContextCreationFailure(window, false);
+ if (!data.rhiDeviceLost) {
+ data.rhiDoomed = true;
+ handleContextCreationFailure(window);
+ }
+ // otherwise no error, will retry on a subsequent rendering attempt
}
} else if (!enableRhi && !gl) {
gl = new QOpenGLContext();
@@ -542,10 +566,9 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
if (qt_gl_global_share_context())
gl->setShareContext(qt_gl_global_share_context());
if (!gl->create()) {
- const bool isEs = gl->isOpenGLES();
delete gl;
gl = nullptr;
- handleContextCreationFailure(window, isEs);
+ handleContextCreationFailure(window);
} else {
if (!offscreenSurface) {
offscreenSurface = new QOffscreenSurface;
@@ -619,7 +642,7 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
i++;
}
- // Check for context loss.
+ // Check for context loss. (legacy GL only)
if (!current && !rhi && !gl->isValid()) {
for (auto it = m_windows.constBegin() ; it != m_windows.constEnd(); it++) {
QQuickWindowPrivate *windowPrivate = QQuickWindowPrivate::get(it.key());
@@ -747,7 +770,7 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
const bool needsPresent = alsoSwap && window->isVisible();
if (cd->swapchain) {
- QRhi::EndFrameFlags flags = 0;
+ QRhi::EndFrameFlags flags;
if (!needsPresent)
flags |= QRhi::SkipPresent;
QRhi::FrameOpResult frameResult = rhi->endFrame(cd->swapchain, flags);
diff --git a/src/quick/scenegraph/qsgrenderloop_p.h b/src/quick/scenegraph/qsgrenderloop_p.h
index 02d0b84de1..9fd0ab02f5 100644
--- a/src/quick/scenegraph/qsgrenderloop_p.h
+++ b/src/quick/scenegraph/qsgrenderloop_p.h
@@ -112,12 +112,11 @@ public:
static void cleanup();
+ void handleContextCreationFailure(QQuickWindow *window);
+
Q_SIGNALS:
void timeToIncubate();
-protected:
- void handleContextCreationFailure(QQuickWindow *window, bool isEs);
-
private:
static QSGRenderLoop *s_instance;
diff --git a/src/quick/scenegraph/qsgrhilayer.cpp b/src/quick/scenegraph/qsgrhilayer.cpp
index 757410eded..952279a3ff 100644
--- a/src/quick/scenegraph/qsgrhilayer.cpp
+++ b/src/quick/scenegraph/qsgrhilayer.cpp
@@ -388,7 +388,7 @@ void QSGRhiLayer::grab()
m_mirrorHorizontal ? -m_rect.width() : m_rect.width(),
m_mirrorVertical ? m_rect.height() : -m_rect.height());
}
- QSGAbstractRenderer::MatrixTransformFlags matrixFlags = 0;
+ QSGAbstractRenderer::MatrixTransformFlags matrixFlags;
if (!m_rhi->isYUpInNDC())
matrixFlags |= QSGAbstractRenderer::MatrixTransformFlipY;
m_renderer->setProjectionMatrixToRect(mirrored, matrixFlags);
diff --git a/src/quick/scenegraph/qsgrhisupport.cpp b/src/quick/scenegraph/qsgrhisupport.cpp
index 12c6742342..afcfa53e83 100644
--- a/src/quick/scenegraph/qsgrhisupport.cpp
+++ b/src/quick/scenegraph/qsgrhisupport.cpp
@@ -159,7 +159,7 @@ void QSGRhiSupport::applySettings()
} else {
#if defined(Q_OS_WIN)
m_rhiBackend = QRhi::D3D11;
-#elif defined(Q_OS_DARWIN)
+#elif defined(Q_OS_MACOS) || defined(Q_OS_IOS)
m_rhiBackend = QRhi::Metal;
#else
m_rhiBackend = QRhi::OpenGLES2;
@@ -185,29 +185,10 @@ void QSGRhiSupport::applySettings()
if (m_killDeviceFrameCount > 0 && m_rhiBackend == QRhi::D3D11)
qDebug("Graphics device will be reset every %d frames", m_killDeviceFrameCount);
- const char *backendName = "unknown";
- switch (m_rhiBackend) {
- case QRhi::Null:
- backendName = "Null";
- break;
- case QRhi::Vulkan:
- backendName = "Vulkan";
- break;
- case QRhi::OpenGLES2:
- backendName = "OpenGL";
- break;
- case QRhi::D3D11:
- backendName = "D3D11";
- break;
- case QRhi::Metal:
- backendName = "Metal";
- break;
- default:
- break;
- }
+ const QString backendName = rhiBackendName();
qCDebug(QSG_LOG_INFO,
"Using QRhi with backend %s\n graphics API debug/validation layers: %d\n QRhi profiling and debug markers: %d",
- backendName, m_debugLayer, m_profile);
+ qPrintable(backendName), m_debugLayer, m_profile);
if (m_preferSoftwareRenderer)
qCDebug(QSG_LOG_INFO, "Prioritizing software renderers");
}
@@ -247,6 +228,27 @@ QSGRhiSupport *QSGRhiSupport::instance()
return inst;
}
+QString QSGRhiSupport::rhiBackendName() const
+{
+ if (m_enableRhi) {
+ switch (m_rhiBackend) {
+ case QRhi::Null:
+ return QLatin1String("Null");
+ case QRhi::Vulkan:
+ return QLatin1String("Vulkan");
+ case QRhi::OpenGLES2:
+ return QLatin1String("OpenGL");
+ case QRhi::D3D11:
+ return QLatin1String("D3D11");
+ case QRhi::Metal:
+ return QLatin1String("Metal");
+ default:
+ return QLatin1String("Unknown");
+ }
+ }
+ return QLatin1String("Unknown (RHI not enabled)");
+}
+
QSGRendererInterface::GraphicsApi QSGRhiSupport::graphicsApi() const
{
if (!m_enableRhi)
@@ -350,7 +352,7 @@ static const void *qsgrhi_d3d11_rifResource(QSGRendererInterface::Resource res,
}
#endif
-#ifdef Q_OS_DARWIN
+#if defined(Q_OS_MACOS) || defined(Q_OS_IOS)
static const void *qsgrhi_mtl_rifResource(QSGRendererInterface::Resource res, const QRhiNativeHandles *nat,
const QRhiNativeHandles *cbNat)
{
@@ -408,7 +410,7 @@ const void *QSGRhiSupport::rifResource(QSGRendererInterface::Resource res, const
case QRhi::D3D11:
return qsgrhi_d3d11_rifResource(res, nat);
#endif
-#ifdef Q_OS_DARWIN
+#if defined(Q_OS_MACOS) || defined(Q_OS_IOS)
case QRhi::Metal:
{
QRhiCommandBuffer *cb = rc->currentFrameCommandBuffer();
@@ -465,7 +467,7 @@ QRhi *QSGRhiSupport::createRhi(QWindow *window, QOffscreenSurface *offscreenSurf
{
QRhi *rhi = nullptr;
- QRhi::Flags flags = 0;
+ QRhi::Flags flags;
if (isProfilingRequested())
flags |= QRhi::EnableProfiling | QRhi::EnableDebugMarkers;
if (isSoftwareRendererRequested())
@@ -507,7 +509,7 @@ QRhi *QSGRhiSupport::createRhi(QWindow *window, QOffscreenSurface *offscreenSurf
rhi = QRhi::create(backend, &rhiParams, flags);
}
#endif
-#ifdef Q_OS_DARWIN
+#if defined(Q_OS_MACOS) || defined(Q_OS_IOS)
if (backend == QRhi::Metal) {
QRhiMetalInitParams rhiParams;
rhi = QRhi::create(backend, &rhiParams, flags);
diff --git a/src/quick/scenegraph/qsgrhisupport_p.h b/src/quick/scenegraph/qsgrhisupport_p.h
index d008ecd0af..0a95a09ad2 100644
--- a/src/quick/scenegraph/qsgrhisupport_p.h
+++ b/src/quick/scenegraph/qsgrhisupport_p.h
@@ -70,7 +70,7 @@
#include <QtGui/private/qrhid3d11_p.h>
#endif
-#ifdef Q_OS_DARWIN
+#if defined(Q_OS_MACOS) || defined(Q_OS_IOS)
#include <QtGui/private/qrhimetal_p.h>
#endif
@@ -109,6 +109,7 @@ public:
bool isRhiEnabled() const { return m_enableRhi; }
QRhi::Implementation rhiBackend() const { return m_rhiBackend; }
+ QString rhiBackendName() const;
QSGRendererInterface::GraphicsApi graphicsApi() const;
bool isDebugLayerRequested() const { return m_debugLayer; }
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index dc1f97de54..a213c6efd4 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -368,6 +368,9 @@ public:
QSize windowSize;
float dpr = 1;
int rhiSampleCount = 1;
+ bool rhiDeviceLost = false;
+ bool rhiDoomed = false;
+ bool guiNotifiedAboutRhiFailure = false;
// Local event queue stuff...
bool stopEventProcessing;
@@ -622,13 +625,15 @@ void QSGRenderThread::sync(bool inExpose, bool inGrab)
sgrc->initialize(&rcParams);
}
}
- } else {
+ } else if (rhi) {
// With the rhi making the (OpenGL) context current serves only one
// purpose: to enable external OpenGL rendering connected to one of
// the QQuickWindow signals (beforeSynchronizing, beforeRendering,
// etc.) to function like it did on the direct OpenGL path. For our
// own rendering this call would not be necessary.
rhi->makeThreadLocalNativeContextCurrent();
+ } else {
+ current = false;
}
if (current) {
QQuickWindowPrivate *d = QQuickWindowPrivate::get(window);
@@ -669,6 +674,7 @@ void QSGRenderThread::handleDeviceLoss()
QQuickWindowPrivate::get(window)->cleanupNodesOnShutdown();
sgrc->invalidate();
wm->releaseSwapchain(window);
+ rhiDeviceLost = true;
delete rhi;
rhi = nullptr;
}
@@ -693,8 +699,9 @@ void QSGRenderThread::syncAndRender(QImage *grabImage)
const bool repaintRequested = (pendingUpdate & RepaintRequest) || d->customRenderStage || grabImage;
const bool syncRequested = (pendingUpdate & SyncRequest) || grabImage;
const bool exposeRequested = (pendingUpdate & ExposeRequest) == ExposeRequest;
- pendingUpdate = 0;
const bool grabRequested = grabImage != nullptr;
+ if (!grabRequested)
+ pendingUpdate = 0;
QQuickWindowPrivate *cd = QQuickWindowPrivate::get(window);
// Begin the frame before syncing -> sync is where we may invoke
@@ -770,30 +777,40 @@ void QSGRenderThread::syncAndRender(QImage *grabImage)
Q_QUICK_SG_PROFILE_RECORD(QQuickProfiler::SceneGraphRenderLoopFrame,
QQuickProfiler::SceneGraphRenderLoopSync);
- if (!syncResultedInChanges && !repaintRequested && sgrc->isValid() && !grabImage) {
- if (gl || !rhi->isRecordingFrame()) {
- qCDebug(QSG_LOG_RENDERLOOP, QSG_RT_PAD, "- no changes, render aborted");
- int waitTime = vsyncDelta - (int) waitTimer.elapsed();
- if (waitTime > 0)
- msleep(waitTime);
- return;
- }
+ if (!syncResultedInChanges
+ && !repaintRequested
+ && !(pendingUpdate & RepaintRequest) // may have been set in sync()
+ && sgrc->isValid()
+ && !grabRequested
+ && (gl || (rhi && !rhi->isRecordingFrame())))
+ {
+ qCDebug(QSG_LOG_RENDERLOOP, QSG_RT_PAD, "- no changes, render aborted");
+ int waitTime = vsyncDelta - (int) waitTimer.elapsed();
+ if (waitTime > 0)
+ msleep(waitTime);
+ return;
}
qCDebug(QSG_LOG_RENDERLOOP, QSG_RT_PAD, "- rendering started");
+ // RepaintRequest may have been set in pendingUpdate in an
+ // updatePaintNode() invoked from sync(). We are about to do a repaint
+ // right now, so reset the flag. (bits other than RepaintRequest cannot
+ // be set in pendingUpdate at this point)
+ if (!grabRequested)
+ pendingUpdate = 0;
- if (animatorDriver->isRunning() && !grabImage) {
+ if (animatorDriver->isRunning() && !grabRequested) {
d->animationController->lock();
animatorDriver->advance();
d->animationController->unlock();
}
bool current = true;
- if (d->renderer && windowSize.width() > 0 && windowSize.height() > 0) {
+ if (d->renderer && windowSize.width() > 0 && windowSize.height() > 0 && (gl || rhi)) {
if (gl)
current = gl->makeCurrent(window);
- else if (rhi)
+ else
rhi->makeThreadLocalNativeContextCurrent();
} else {
current = false;
@@ -818,14 +835,14 @@ void QSGRenderThread::syncAndRender(QImage *grabImage)
// blocking in a real frame. The legacy GL path never gets here with
// grabs as it rather invokes sync/render directly without going
// through syncAndRender().
- if (grabImage) {
+ if (grabRequested) {
Q_ASSERT(rhi && !gl && cd->swapchain);
*grabImage = QSGRhiSupport::instance()->grabAndBlockInCurrentFrame(rhi, cd->swapchain);
}
if (cd->swapchain) {
- QRhi::EndFrameFlags flags = 0;
- if (grabImage)
+ QRhi::EndFrameFlags flags;
+ if (grabRequested)
flags |= QRhi::SkipPresent;
QRhi::FrameOpResult frameResult = rhi->endFrame(cd->swapchain, flags);
if (frameResult != QRhi::FrameOpSuccess) {
@@ -841,7 +858,7 @@ void QSGRenderThread::syncAndRender(QImage *grabImage)
gl->swapBuffers(window);
}
- if (!grabImage)
+ if (!grabRequested)
d->fireFrameSwapped();
} else {
@@ -912,14 +929,21 @@ void QSGRenderThread::processEventsAndWaitForMore()
void QSGRenderThread::ensureRhi()
{
if (!rhi) {
+ if (rhiDoomed) // no repeated attempts if the initial attempt failed
+ return;
QSGRhiSupport *rhiSupport = QSGRhiSupport::instance();
rhi = rhiSupport->createRhi(window, offscreenSurface);
if (rhi) {
+ rhiDeviceLost = false;
rhiSampleCount = rhiSupport->chooseSampleCountForWindowWithRhi(window, rhi);
if (rhiSupport->isProfilingRequested())
QSGRhiProfileConnection::instance()->initialize(rhi); // ### this breaks down with multiple windows
} else {
- qWarning("Failed to create QRhi on the render thread; scenegraph is not functional");
+ if (!rhiDeviceLost) {
+ rhiDoomed = true;
+ qWarning("Failed to create QRhi on the render thread; scenegraph is not functional");
+ }
+ // otherwise no error, will retry on a subsequent rendering attempt
return;
}
}
@@ -975,9 +999,24 @@ void QSGRenderThread::run()
if (window) {
if (enableRhi) {
+
ensureRhi();
- if (rhi)
- syncAndRender();
+
+ // We absolutely have to syncAndRender() here, even when QRhi
+ // failed to initialize otherwise the gui thread will be left
+ // in a blocked state. It is up to syncAndRender() to
+ // gracefully skip all graphics stuff when rhi is null.
+
+ syncAndRender();
+
+ // Now we can do something about rhi init failures. (reinit
+ // failure after device reset does not count)
+ if (rhiDoomed && !guiNotifiedAboutRhiFailure) {
+ guiNotifiedAboutRhiFailure = true;
+ QEvent *e = new QEvent(QEvent::Type(QQuickWindowPrivate::TriggerContextCreationFailure));
+ QCoreApplication::postEvent(window, e);
+ }
+
} else {
if (!sgrc->openglContext() && windowSize.width() > 0 && windowSize.height() > 0 && gl->makeCurrent(window)) {
QSGDefaultRenderContext::InitParams rcParams;
@@ -1282,10 +1321,9 @@ void QSGThreadedRenderLoop::handleExposure(QQuickWindow *window)
w->thread->gl->setFormat(w->window->requestedFormat());
w->thread->gl->setScreen(w->window->screen());
if (!w->thread->gl->create()) {
- const bool isEs = w->thread->gl->isOpenGLES();
delete w->thread->gl;
w->thread->gl = nullptr;
- handleContextCreationFailure(w->window, isEs);
+ handleContextCreationFailure(w->window);
return;
}
diff --git a/src/quick/scenegraph/qsgwindowsrenderloop.cpp b/src/quick/scenegraph/qsgwindowsrenderloop.cpp
index 5b48b86568..b1c9b71c05 100644
--- a/src/quick/scenegraph/qsgwindowsrenderloop.cpp
+++ b/src/quick/scenegraph/qsgwindowsrenderloop.cpp
@@ -180,10 +180,9 @@ void QSGWindowsRenderLoop::show(QQuickWindow *window)
m_gl->setShareContext(qt_gl_global_share_context());
bool created = m_gl->create();
if (!created) {
- const bool isEs = m_gl->isOpenGLES();
delete m_gl;
m_gl = nullptr;
- handleContextCreationFailure(window, isEs);
+ handleContextCreationFailure(window);
return;
}
diff --git a/src/quick/scenegraph/shaders/outlinedtext.vert b/src/quick/scenegraph/shaders/outlinedtext.vert
index ced8afd034..9df832de3c 100644
--- a/src/quick/scenegraph/shaders/outlinedtext.vert
+++ b/src/quick/scenegraph/shaders/outlinedtext.vert
@@ -1,6 +1,7 @@
uniform highp mat4 matrix;
uniform highp vec2 textureScale;
uniform highp vec2 shift;
+uniform highp float dpr;
attribute highp vec4 vCoord;
attribute highp vec2 tCoord;
@@ -18,5 +19,6 @@ void main()
sCoordDown = (tCoord - vec2(0.0, 1.0)) * textureScale;
sCoordLeft = (tCoord - vec2(-1.0, 0.0)) * textureScale;
sCoordRight = (tCoord - vec2(1.0, 0.0)) * textureScale;
- gl_Position = matrix * vCoord;
+ vec3 dprSnapPos = floor(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
} \ No newline at end of file
diff --git a/src/quick/scenegraph/shaders/outlinedtext_core.vert b/src/quick/scenegraph/shaders/outlinedtext_core.vert
index 4aa13101fd..ae945b013a 100644
--- a/src/quick/scenegraph/shaders/outlinedtext_core.vert
+++ b/src/quick/scenegraph/shaders/outlinedtext_core.vert
@@ -12,6 +12,7 @@ out vec2 sCoordRight;
uniform mat4 matrix;
uniform vec2 textureScale;
uniform vec2 shift;
+uniform float dpr;
void main()
{
@@ -20,5 +21,6 @@ void main()
sCoordDown = (tCoord - vec2(0.0, 1.0)) * textureScale;
sCoordLeft = (tCoord - vec2(-1.0, 0.0)) * textureScale;
sCoordRight = (tCoord - vec2(1.0, 0.0)) * textureScale;
- gl_Position = matrix * vCoord;
+ vec3 dprSnapPos = round(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
} \ No newline at end of file
diff --git a/src/quick/scenegraph/shaders/styledtext.vert b/src/quick/scenegraph/shaders/styledtext.vert
index 7001bbc262..29c9902609 100644
--- a/src/quick/scenegraph/shaders/styledtext.vert
+++ b/src/quick/scenegraph/shaders/styledtext.vert
@@ -13,5 +13,6 @@ void main()
{
sampleCoord = tCoord * textureScale;
shiftedSampleCoord = (tCoord - shift) * textureScale;
- gl_Position = matrix * floor(vCoord * dpr + 0.5) / dpr;
+ vec3 dprSnapPos = floor(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders/styledtext_core.vert b/src/quick/scenegraph/shaders/styledtext_core.vert
index c522877bb3..7e313eb797 100644
--- a/src/quick/scenegraph/shaders/styledtext_core.vert
+++ b/src/quick/scenegraph/shaders/styledtext_core.vert
@@ -15,5 +15,6 @@ void main()
{
sampleCoord = tCoord * textureScale;
shiftedSampleCoord = (tCoord - shift) * textureScale;
- gl_Position = matrix * round(vCoord * dpr) / dpr;
+ vec3 dprSnapPos = round(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders/textmask.vert b/src/quick/scenegraph/shaders/textmask.vert
index 4c678270d0..1692159d2c 100644
--- a/src/quick/scenegraph/shaders/textmask.vert
+++ b/src/quick/scenegraph/shaders/textmask.vert
@@ -10,5 +10,6 @@ varying highp vec2 sampleCoord;
void main()
{
sampleCoord = tCoord * textureScale;
- gl_Position = matrix * floor(vCoord * dpr + 0.5) / dpr;
+ vec3 dprSnapPos = floor(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders/textmask_core.vert b/src/quick/scenegraph/shaders/textmask_core.vert
index f996040f70..5c510a2d23 100644
--- a/src/quick/scenegraph/shaders/textmask_core.vert
+++ b/src/quick/scenegraph/shaders/textmask_core.vert
@@ -12,5 +12,6 @@ uniform float dpr;
void main()
{
sampleCoord = tCoord * textureScale;
- gl_Position = matrix * round(vCoord * dpr) / dpr;
+ vec3 dprSnapPos = round(vCoord.xyz * dpr + 0.5) / dpr;
+ gl_Position = matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb b/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
index b16da4d76a..c49cf9a6d8 100644
--- a/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb b/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
index 1a12a35b49..f5b3cf91e5 100644
--- a/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb b/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
index 2d0d23d813..3e0731802d 100644
--- a/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb b/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
index 65d9af4736..51cfa99402 100644
--- a/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
index 5753794649..aecf6ef18d 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
index 6026960d68..e62ec89964 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
index 451ccbac5b..c6e5d2d102 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
index 41ebc12abf..bf6e902f5a 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
index 0c37ccb6ed..398b6adaa2 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
index b92235eec3..e243f3300a 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
index 28ba15e3de..504d586915 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
index 2877ab92db..f020de9f8c 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
index 2e6085aa39..0c80f6dbc4 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
index a528c667fd..7bc588b806 100644
--- a/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
index e83de529e6..7ad211c5cf 100644
--- a/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
index 81c51321bb..3d31b99fca 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
index 6bf01658a1..82b4a63b65 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
index 4a9ac900a6..ab27f73163 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
index 76c2459edf..9fae9961c7 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
index 7bfa7ccd4a..53c8c3ef48 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
index 8f8304fb49..f7ab8301f3 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb b/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
index 0b4554568b..a30e7868c7 100644
--- a/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb b/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
index 2872af0200..8a62c79ba4 100644
--- a/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
index 5ab92fecca..bec0a086af 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext.vert b/src/quick/scenegraph/shaders_ng/outlinedtext.vert
index c683a4273c..023f9dfdc2 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext.vert
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext.vert
@@ -28,5 +28,6 @@ void main()
sCoordDown = (tCoord - vec2(0.0, 1.0)) * ubuf.textureScale;
sCoordLeft = (tCoord - vec2(-1.0, 0.0)) * ubuf.textureScale;
sCoordRight = (tCoord - vec2(1.0, 0.0)) * ubuf.textureScale;
- gl_Position = ubuf.matrix * vCoord;
+ vec3 dprSnapPos = floor(vCoord.xyz * ubuf.dpr + 0.5) / ubuf.dpr;
+ gl_Position = ubuf.matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
index 6aee048faa..3f9464dd7c 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
index 6e6b1ab6c2..7f08bcee9e 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb b/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
index 4b08ee2ce4..dc3b174553 100644
--- a/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb b/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
index 4a8c646a21..06e1e3704a 100644
--- a/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
index f99cdf1176..2ad3229e4a 100644
--- a/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
index 59c4104a2c..7d3a742650 100644
--- a/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb b/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
index ffaecbb56c..d5b738cc38 100644
--- a/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb b/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
index b7715d4dd5..50be6d62e0 100644
--- a/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/sprite.frag.qsb b/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
index 45d5bc14ee..f6a7913054 100644
--- a/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/sprite.vert.qsb b/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
index b55f881734..c11191feef 100644
--- a/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb b/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
index 6ae7a51f7a..0fcd1d3f80 100644
--- a/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb b/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
index ce2ed3c5b3..6381f6c8d9 100644
--- a/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb b/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
index 66ebc5f827..ff7eceba83 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext.vert b/src/quick/scenegraph/shaders_ng/styledtext.vert
index 10565107c6..beadf07c79 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext.vert
+++ b/src/quick/scenegraph/shaders_ng/styledtext.vert
@@ -22,5 +22,6 @@ void main()
{
sampleCoord = tCoord * ubuf.textureScale;
shiftedSampleCoord = (tCoord - ubuf.shift) * ubuf.textureScale;
- gl_Position = ubuf.matrix * floor((vCoord * ubuf.dpr) + 0.5) / ubuf.dpr;
+ vec3 dprSnapPos = floor(vCoord.xyz * ubuf.dpr + 0.5) / ubuf.dpr;
+ gl_Position = ubuf.matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb b/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
index 9a27ed0eb8..26f791be7f 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
index 9dd4137072..5e023b086b 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/textmask.frag.qsb b/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
index b16da4d76a..4cc598c5f8 100644
--- a/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/textmask.vert b/src/quick/scenegraph/shaders_ng/textmask.vert
index d7d3bf892e..9d80d5dadb 100644
--- a/src/quick/scenegraph/shaders_ng/textmask.vert
+++ b/src/quick/scenegraph/shaders_ng/textmask.vert
@@ -17,5 +17,6 @@ out gl_PerVertex { vec4 gl_Position; };
void main()
{
sampleCoord = tCoord * ubuf.textureScale;
- gl_Position = ubuf.matrix * floor((vCoord * ubuf.dpr) + 0.5) / ubuf.dpr;
+ vec3 dprSnapPos = floor(vCoord.xyz * ubuf.dpr + 0.5) / ubuf.dpr;
+ gl_Position = ubuf.matrix * vec4(dprSnapPos, vCoord.w);
}
diff --git a/src/quick/scenegraph/shaders_ng/textmask.vert.qsb b/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
index ae196ed0ad..03be2e457d 100644
--- a/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/texture.frag.qsb b/src/quick/scenegraph/shaders_ng/texture.frag.qsb
index 3f4aa3713c..55e8c23335 100644
--- a/src/quick/scenegraph/shaders_ng/texture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/texture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/texture.vert.qsb b/src/quick/scenegraph/shaders_ng/texture.vert.qsb
index bf0bc7d9fa..7ce3600447 100644
--- a/src/quick/scenegraph/shaders_ng/texture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/texture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
index 93965a55dd..2ad3229e4a 100644
--- a/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
index 98abe4ef6f..1bea18c036 100644
--- a/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/visualization.frag.qsb b/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
index eadad927dc..6b1a6a6c74 100644
--- a/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/visualization.vert.qsb b/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
index 7ba27cb4b5..5f64c84705 100644
--- a/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/util/qsgplaintexture.cpp b/src/quick/scenegraph/util/qsgplaintexture.cpp
index fdebe03494..0361a941db 100644
--- a/src/quick/scenegraph/util/qsgplaintexture.cpp
+++ b/src/quick/scenegraph/util/qsgplaintexture.cpp
@@ -281,7 +281,7 @@ void QSGPlainTexture::setTextureFromNativeObject(QRhi *rhi, QQuickWindow::Native
{
Q_UNUSED(type);
- QRhiTexture::Flags flags = 0;
+ QRhiTexture::Flags flags;
if (mipmap)
flags |= QRhiTexture::MipMapped | QRhiTexture::UsedWithGenerateMips;
@@ -421,7 +421,7 @@ void QSGPlainTexturePrivate::updateRhiTexture(QRhi *rhi, QRhiResourceUpdateBatch
}
if (!q->m_texture) {
- QRhiTexture::Flags f = 0;
+ QRhiTexture::Flags f;
if (hasMipMaps)
f |= QRhiTexture::MipMapped | QRhiTexture::UsedWithGenerateMips;
diff --git a/src/quick/scenegraph/util/qsgrhinativetextureimporter.cpp b/src/quick/scenegraph/util/qsgrhinativetextureimporter.cpp
index 7a7c19f587..85a88326ca 100644
--- a/src/quick/scenegraph/util/qsgrhinativetextureimporter.cpp
+++ b/src/quick/scenegraph/util/qsgrhinativetextureimporter.cpp
@@ -48,7 +48,7 @@ void QSGRhiNativeTextureImporter::buildWrapper(QRhi *rhi, QRhiTexture *t,
#if !QT_CONFIG(vulkan)
Q_UNUSED(nativeLayout);
#endif
-#if !QT_CONFIG(opengl) && !QT_CONFIG(vulkan) && !defined(Q_OS_WIN) && !defined(Q_OS_DARWIN)
+#if !QT_CONFIG(opengl) && !QT_CONFIG(vulkan) && !defined(Q_OS_WIN) && !defined(Q_OS_MACOS) && !defined(Q_OS_IOS)
Q_UNUSED(nativeObjectPtr);
#endif
@@ -83,7 +83,7 @@ void QSGRhiNativeTextureImporter::buildWrapper(QRhi *rhi, QRhiTexture *t,
break;
case QRhi::Metal:
{
-#ifdef Q_OS_DARWIN
+#if defined(Q_OS_MACOS) || defined(Q_OS_IOS)
QRhiMetalTextureNativeHandles h;
h.texture = *reinterpret_cast<void * const *>(nativeObjectPtr);
t->buildFrom(&h);
diff --git a/src/quick/util/qquickbehavior.cpp b/src/quick/util/qquickbehavior.cpp
index ae5c481e2f..eee8562a2a 100644
--- a/src/quick/util/qquickbehavior.cpp
+++ b/src/quick/util/qquickbehavior.cpp
@@ -196,7 +196,7 @@ void QQuickBehavior::write(const QVariant &value)
bool bypass = !d->enabled || !d->finalized || QQmlEnginePrivate::designerMode();
if (!bypass)
qmlExecuteDeferred(this);
- if (!d->animation || bypass) {
+ if (QQmlData::wasDeleted(d->animation) || bypass) {
if (d->animationInstance)
d->animationInstance->stop();
QQmlPropertyPrivate::write(d->property, value, QQmlPropertyData::BypassInterceptor | QQmlPropertyData::DontRemoveBinding);
diff --git a/src/quick/util/qquickpath.cpp b/src/quick/util/qquickpath.cpp
index 61319c388c..24b22f00c1 100644
--- a/src/quick/util/qquickpath.cpp
+++ b/src/quick/util/qquickpath.cpp
@@ -918,7 +918,7 @@ QPointF QQuickPath::backwardsPointAt(const QPainterPath &path, const qreal &path
When curves are present, the percentage argument is mapped to the \c t
parameter of the Bezier equations.
- \sa QPainterPath::pointAt
+ \sa QPainterPath::pointAtPercent()
\since QtQuick 2.14
*/
@@ -2370,8 +2370,8 @@ void QQuickPathPercent::setValue(qreal value)
The example below creates a triangular path consisting of four vertices
on the edge of the containing Shape's bounding box.
- Through the containing shape's \l scale property, the path will be
- rescaled together with its containing shape.
+ Through the containing shape's \l {QtQuick::Path::}{scale} property,
+ the path will be rescaled together with its containing shape.
\qml
PathPolyline {
@@ -2488,7 +2488,7 @@ void QQuickPathPolyline::addToPath(QPainterPath &path, const QQuickPathData &/*d
The example below creates a high voltage symbol by adding each path
of the symbol to the list of paths.
The coordinates of the vertices are normalized, and through the containing shape's
- \l scale property, the path will be rescaled together with its containing shape.
+ \l {QtQuick::Path::}{scale} property, the path will be rescaled together with its containing shape.
\qml
PathMultiline {
diff --git a/src/quickshapes/qquickshape_p_p.h b/src/quickshapes/qquickshape_p_p.h
index bfeb0d2f9f..e9b89d2ab3 100644
--- a/src/quickshapes/qquickshape_p_p.h
+++ b/src/quickshapes/qquickshape_p_p.h
@@ -89,7 +89,7 @@ public:
virtual void beginSync(int totalCount) = 0;
virtual void endSync(bool async) = 0;
virtual void setAsyncCallback(void (*)(void *), void *) { }
- virtual Flags flags() const { return 0; }
+ virtual Flags flags() const { return {}; }
virtual void setPath(int index, const QQuickPath *path) = 0;
virtual void setStrokeColor(int index, const QColor &color) = 0;
virtual void setStrokeWidth(int index, qreal w) = 0;
diff --git a/src/quickshapes/qquickshapegenericrenderer.cpp b/src/quickshapes/qquickshapegenericrenderer.cpp
index 06cc442fc7..e0df739987 100644
--- a/src/quickshapes/qquickshapegenericrenderer.cpp
+++ b/src/quickshapes/qquickshapegenericrenderer.cpp
@@ -470,14 +470,14 @@ void QQuickShapeGenericRenderer::triangulateStroke(const QPainterPath &path,
stroker.setInvScale(inverseScale);
if (pen.style() == Qt::SolidLine) {
- stroker.process(vp, pen, clip, nullptr);
+ stroker.process(vp, pen, clip, {});
} else {
QDashedStrokeProcessor dashStroker;
dashStroker.setInvScale(inverseScale);
- dashStroker.process(vp, pen, clip, nullptr);
+ dashStroker.process(vp, pen, clip, {});
QVectorPath dashStroke(dashStroker.points(), dashStroker.elementCount(),
dashStroker.elementTypes(), 0);
- stroker.process(dashStroke, pen, clip, nullptr);
+ stroker.process(dashStroke, pen, clip, {});
}
if (!stroker.vertexCount()) {
diff --git a/src/quickshapes/qquickshapesoftwarerenderer.cpp b/src/quickshapes/qquickshapesoftwarerenderer.cpp
index 0f5c3604b5..d6a9d85643 100644
--- a/src/quickshapes/qquickshapesoftwarerenderer.cpp
+++ b/src/quickshapes/qquickshapesoftwarerenderer.cpp
@@ -266,7 +266,7 @@ void QQuickShapeSoftwareRenderNode::render(const RenderState *state)
QSGRenderNode::StateFlags QQuickShapeSoftwareRenderNode::changedStates() const
{
- return nullptr;
+ return {};
}
QSGRenderNode::RenderingFlags QQuickShapeSoftwareRenderNode::flags() const
diff --git a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb
index 9aa59ca651..cee844fab4 100644
--- a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
index 7f5985ef64..50508e242a 100644
--- a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/lineargradient.frag.qsb b/src/quickshapes/shaders_ng/lineargradient.frag.qsb
index 470de007b5..d25d5e7a79 100644
--- a/src/quickshapes/shaders_ng/lineargradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/lineargradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/lineargradient.vert.qsb b/src/quickshapes/shaders_ng/lineargradient.vert.qsb
index 8d054efbb4..c48646b036 100644
--- a/src/quickshapes/shaders_ng/lineargradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/lineargradient.vert.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/radialgradient.frag.qsb b/src/quickshapes/shaders_ng/radialgradient.frag.qsb
index 166eb2f92d..207e4d3429 100644
--- a/src/quickshapes/shaders_ng/radialgradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/radialgradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/radialgradient.vert.qsb b/src/quickshapes/shaders_ng/radialgradient.vert.qsb
index 293e23947a..dadbfd60d6 100644
--- a/src/quickshapes/shaders_ng/radialgradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/radialgradient.vert.qsb
Binary files differ
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index 3854a8bd0b..8ecfbf65dd 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -525,7 +525,7 @@ QImage QQuickWidgetPrivate::grabFramebuffer()
*/
QQuickWidget::QQuickWidget(QWidget *parent)
-: QWidget(*(new QQuickWidgetPrivate), parent, nullptr)
+ : QWidget(*(new QQuickWidgetPrivate), parent, {})
{
setMouseTracking(true);
setFocusPolicy(Qt::StrongFocus);
@@ -553,7 +553,7 @@ QQuickWidget::QQuickWidget(const QUrl &source, QWidget *parent)
\sa Status, status(), errors()
*/
QQuickWidget::QQuickWidget(QQmlEngine* engine, QWidget *parent)
- : QWidget(*(new QQuickWidgetPrivate), parent, nullptr)
+ : QWidget(*(new QQuickWidgetPrivate), parent, {})
{
setMouseTracking(true);
setFocusPolicy(Qt::StrongFocus);
@@ -848,13 +848,13 @@ QSize QQuickWidgetPrivate::rootObjectSize() const
return rootObjectSize;
}
-void QQuickWidgetPrivate::handleContextCreationFailure(const QSurfaceFormat &format, bool isEs)
+void QQuickWidgetPrivate::handleContextCreationFailure(const QSurfaceFormat &format)
{
Q_Q(QQuickWidget);
QString translatedMessage;
QString untranslatedMessage;
- QQuickWindowPrivate::contextCreationFailureMessage(format, &translatedMessage, &untranslatedMessage, isEs);
+ QQuickWindowPrivate::contextCreationFailureMessage(format, &translatedMessage, &untranslatedMessage);
static const QMetaMethod errorSignal = QMetaMethod::fromSignal(&QQuickWidget::sceneGraphError);
const bool signalConnected = q->isSignalConnected(errorSignal);
@@ -896,10 +896,9 @@ void QQuickWidgetPrivate::createContext()
context->setScreen(shareContext->screen());
}
if (!context->create()) {
- const bool isEs = context->isOpenGLES();
delete context;
context = nullptr;
- handleContextCreationFailure(offscreenWindow->requestedFormat(), isEs);
+ handleContextCreationFailure(offscreenWindow->requestedFormat());
return;
}
diff --git a/src/quickwidgets/qquickwidget_p.h b/src/quickwidgets/qquickwidget_p.h
index f4f9db7772..881f7f9220 100644
--- a/src/quickwidgets/qquickwidget_p.h
+++ b/src/quickwidgets/qquickwidget_p.h
@@ -97,7 +97,7 @@ public:
void renderSceneGraph();
void createContext();
void destroyContext();
- void handleContextCreationFailure(const QSurfaceFormat &format, bool isEs);
+ void handleContextCreationFailure(const QSurfaceFormat &format);
#if QT_CONFIG(opengl)
GLuint textureId() const override;
diff --git a/tests/auto/qml/ecmascripttests/TestExpectations b/tests/auto/qml/ecmascripttests/TestExpectations
index 4c04afe886..6b743ba433 100644
--- a/tests/auto/qml/ecmascripttests/TestExpectations
+++ b/tests/auto/qml/ecmascripttests/TestExpectations
@@ -249,15 +249,6 @@ built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js fails
built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional.js fails
built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js fails
built-ins/String/prototype/toLowerCase/special_casing_conditional.js fails
-built-ins/TypedArray/from/arylk-get-length-error.js fails
-built-ins/TypedArray/from/arylk-to-length-error.js fails
-built-ins/TypedArray/from/iter-access-error.js fails
-built-ins/TypedArray/from/iter-invoke-error.js fails
-built-ins/TypedArray/from/iter-next-error.js fails
-built-ins/TypedArray/from/iter-next-value-error.js fails
-built-ins/TypedArray/from/length.js fails
-built-ins/TypedArray/from/name.js fails
-built-ins/TypedArray/from/prop-desc.js fails
built-ins/TypedArray/prototype/constructor.js fails
built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js fails
built-ins/TypedArray/prototype/slice/bit-precision.js fails
@@ -293,29 +284,6 @@ built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-not-cto
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-prototype-throws.js fails
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-species-throws.js fails
built-ins/TypedArrays/ctors/typedarray-arg/same-ctor-buffer-ctor-value-not-obj-throws.js fails
-built-ins/TypedArrays/from/arylk-get-length-error.js fails
-built-ins/TypedArrays/from/arylk-to-length-error.js fails
-built-ins/TypedArrays/from/custom-ctor-returns-other-instance.js fails
-built-ins/TypedArrays/from/custom-ctor.js fails
-built-ins/TypedArrays/from/iter-access-error.js fails
-built-ins/TypedArrays/from/iter-invoke-error.js fails
-built-ins/TypedArrays/from/iter-next-error.js fails
-built-ins/TypedArrays/from/iter-next-value-error.js fails
-built-ins/TypedArrays/from/mapfn-abrupt-completion.js fails
-built-ins/TypedArrays/from/mapfn-arguments.js fails
-built-ins/TypedArrays/from/mapfn-this-with-thisarg.js fails
-built-ins/TypedArrays/from/mapfn-this-without-thisarg-non-strict.js sloppyFails
-built-ins/TypedArrays/from/mapfn-this-without-thisarg-strict.js strictFails
-built-ins/TypedArrays/from/nan-conversion.js fails
-built-ins/TypedArrays/from/new-instance-empty.js fails
-built-ins/TypedArrays/from/new-instance-from-ordinary-object.js fails
-built-ins/TypedArrays/from/new-instance-from-sparse-array.js fails
-built-ins/TypedArrays/from/new-instance-from-zero.js fails
-built-ins/TypedArrays/from/new-instance-using-custom-ctor.js fails
-built-ins/TypedArrays/from/new-instance-with-mapfn.js fails
-built-ins/TypedArrays/from/new-instance-without-mapfn.js fails
-built-ins/TypedArrays/from/property-abrupt-completion.js fails
-built-ins/TypedArrays/from/set-value-abrupt-completion.js fails
built-ins/TypedArrays/internals/Get/key-is-not-integer.js fails
built-ins/TypedArrays/internals/Get/key-is-not-minus-zero.js fails
built-ins/TypedArrays/internals/Get/key-is-out-of-bounds.js fails
diff --git a/tests/auto/qml/ecmascripttests/qjstest/main.cpp b/tests/auto/qml/ecmascripttests/qjstest/main.cpp
index 4a3541d892..38736b083d 100644
--- a/tests/auto/qml/ecmascripttests/qjstest/main.cpp
+++ b/tests/auto/qml/ecmascripttests/qjstest/main.cpp
@@ -92,6 +92,7 @@ int main(int argc, char **argv)
int flags = 0;
if (parser.isSet(verbose))
+
flags |= Test262Runner::Verbose;
if (parser.isSet(parallel))
flags |= Test262Runner::Parallel;
diff --git a/tests/auto/qml/ecmascripttests/test262 b/tests/auto/qml/ecmascripttests/test262
-Subproject 6b0c42c63c2492bd0a7a96d3179d122b5f71793
+Subproject db73deb3bdede559bb7639bf3d0a07a32a17c6d
diff --git a/tests/auto/qml/qmllint/data/UnmatchedSignalHandler.qml b/tests/auto/qml/qmllint/data/AutomatchedSignalHandler.qml
index 064444e182..064444e182 100644
--- a/tests/auto/qml/qmllint/data/UnmatchedSignalHandler.qml
+++ b/tests/auto/qml/qmllint/data/AutomatchedSignalHandler.qml
diff --git a/tests/auto/qml/qmllint/tst_qmllint.cpp b/tests/auto/qml/qmllint/tst_qmllint.cpp
index e3c297fa0f..4328f7fe80 100644
--- a/tests/auto/qml/qmllint/tst_qmllint.cpp
+++ b/tests/auto/qml/qmllint/tst_qmllint.cpp
@@ -128,10 +128,10 @@ void TestQmllint::dirtyQmlCode_data()
<< QStringLiteral("failure1.js")
<< QStringLiteral("failure1.js:4 : Expected token `;'")
<< QString();
- QTest::newRow("UnmatchedSignalHandler")
- << QStringLiteral("UnmatchedSignalHandler.qml")
- << QString("Warning: no matching signal found for handler \"onClicked\" at 12:13")
- << QStringLiteral("onMouseXChanged");
+ QTest::newRow("AutomatchedSignalHandler")
+ << QStringLiteral("AutomatchedSignalHandler.qml")
+ << QString("Warning: unqualified access at 12:36")
+ << QStringLiteral("no matching signal found");
}
void TestQmllint::dirtyQmlCode()
diff --git a/tests/auto/qml/qqmldirparser/tst_qqmldirparser.cpp b/tests/auto/qml/qqmldirparser/tst_qqmldirparser.cpp
index 1e690e38dd..bc4ba9437c 100644
--- a/tests/auto/qml/qqmldirparser/tst_qqmldirparser.cpp
+++ b/tests/auto/qml/qqmldirparser/tst_qqmldirparser.cpp
@@ -375,6 +375,9 @@ void tst_qqmldirparser::parse()
QCOMPARE(toStringList(p.dependencies()), dependencies);
QCOMPARE(p.designerSupported(), designerSupported);
+
+ p.clear();
+ QVERIFY(p.typeNamespace().isEmpty());
}
QTEST_MAIN(tst_qqmldirparser)
diff --git a/tests/auto/qml/qqmlecmascript/data/hugeStack.qml b/tests/auto/qml/qqmlecmascript/data/hugeStack.qml
new file mode 100644
index 0000000000..5465bcaf18
--- /dev/null
+++ b/tests/auto/qml/qqmlecmascript/data/hugeStack.qml
@@ -0,0 +1,33065 @@
+import QtQml 2.14
+
+QtObject {
+ property var longList : [
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo"),
+ Qt.resolvedUrl("foo")
+ ]
+}
diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
index a002658fee..29086cc687 100644
--- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -379,6 +379,7 @@ private slots:
void singletonTypeWrapperLookup();
void getThisObject();
void semicolonAfterProperty();
+ void hugeStack();
private:
// static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter);
@@ -9200,6 +9201,18 @@ void tst_qqmlecmascript::semicolonAfterProperty()
QVERIFY(!test.isNull());
}
+void tst_qqmlecmascript::hugeStack()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFileUrl("hugeStack.qml"));
+ QVERIFY(component.isReady());
+ QScopedPointer<QObject> test(component.create());
+ QVERIFY(!test.isNull());
+
+ QVariant huge = test->property("longList");
+ QCOMPARE(qvariant_cast<QJSValue>(huge).property(QLatin1String("length")).toInt(), 33059);
+}
+
QTEST_MAIN(tst_qqmlecmascript)
#include "tst_qqmlecmascript.moc"
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.errors.txt b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.errors.txt
new file mode 100644
index 0000000000..d4f3eb3ecf
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.errors.txt
@@ -0,0 +1 @@
+6:29:Left-hand side may not contain || or &&
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.qml b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.qml
new file mode 100644
index 0000000000..ce6aa9a532
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_And.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Component {
+ Component.onCompleted: {
+ // Should cause an error since having either || or && on any side of the coalescing operator is banned by the specification
+ var bad_lhs_and = 3 && 4 ?? 0;
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.errors.txt b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.errors.txt
new file mode 100644
index 0000000000..f2f1719acd
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.errors.txt
@@ -0,0 +1 @@
+6:28:Left-hand side may not contain || or &&
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.qml b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.qml
new file mode 100644
index 0000000000..8864524d0d
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_LHS_Or.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Component {
+ Component.onCompleted: {
+ // Should cause an error since having either || or && on any side of the coalescing operator is banned by the specification
+ var bad_lhs_or = 3 || 4 ?? 0;
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.errors.txt b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.errors.txt
new file mode 100644
index 0000000000..0ff61be687
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.errors.txt
@@ -0,0 +1 @@
+6:34:Right-hand side may not contain || or &&
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.qml b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.qml
new file mode 100644
index 0000000000..97898f055a
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_And.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Component {
+ Component.onCompleted: {
+ // Should cause an error since having either || or && on any side of the coalescing operator is banned by the specification
+ var bad_rhs_and = 0 ?? 3 && 4;
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.errors.txt b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.errors.txt
new file mode 100644
index 0000000000..4b2784ac0a
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.errors.txt
@@ -0,0 +1 @@
+6:33:Right-hand side may not contain || or &&
diff --git a/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.qml b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.qml
new file mode 100644
index 0000000000..f172755e91
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/nullishCoalescing_RHS_Or.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Component {
+ Component.onCompleted: {
+ // Should cause an error since having either || or && on any side of the coalescing operator is banned by the specification
+ var bad_rhs_or = 0 ?? 3 || 4;
+ }
+}
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index 7fff982cde..c36e707ff8 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -477,6 +477,11 @@ void tst_qqmllanguage::errors_data()
QTest::newRow("finalOverride") << "finalOverride.qml" << "finalOverride.errors.txt" << false;
QTest::newRow("customParserIdNotAllowed") << "customParserIdNotAllowed.qml" << "customParserIdNotAllowed.errors.txt" << false;
+ QTest::newRow("nullishCoalescing_LHS_Or") << "nullishCoalescing_LHS_Or.qml" << "nullishCoalescing_LHS_Or.errors.txt" << false;
+ QTest::newRow("nullishCoalescing_LHS_And") << "nullishCoalescing_LHS_And.qml" << "nullishCoalescing_LHS_And.errors.txt" << false;
+ QTest::newRow("nullishCoalescing_RHS_Or") << "nullishCoalescing_RHS_Or.qml" << "nullishCoalescing_RHS_Or.errors.txt" << false;
+ QTest::newRow("nullishCoalescing_RHS_And") << "nullishCoalescing_RHS_And.qml" << "nullishCoalescing_RHS_And.errors.txt" << false;
+
QTest::newRow("invalidGroupedProperty.1") << "invalidGroupedProperty.1.qml" << "invalidGroupedProperty.1.errors.txt" << false;
QTest::newRow("invalidGroupedProperty.2") << "invalidGroupedProperty.2.qml" << "invalidGroupedProperty.2.errors.txt" << false;
QTest::newRow("invalidGroupedProperty.3") << "invalidGroupedProperty.3.qml" << "invalidGroupedProperty.3.errors.txt" << false;
diff --git a/tests/auto/qml/qqmllocale/tst_qqmllocale.cpp b/tests/auto/qml/qqmllocale/tst_qqmllocale.cpp
index a90749208c..c846ee32df 100644
--- a/tests/auto/qml/qqmllocale/tst_qqmllocale.cpp
+++ b/tests/auto/qml/qqmllocale/tst_qqmllocale.cpp
@@ -102,6 +102,7 @@ private slots:
void numberFromLocaleString_data();
void numberFromLocaleString();
void numberConstToLocaleString();
+ void numberOptions();
void stringLocaleCompare_data();
void stringLocaleCompare();
@@ -1157,6 +1158,35 @@ void tst_qqmllocale::numberConstToLocaleString()
QCOMPARE(obj->property("const2").toString(), l.toString(1234., 'f', 2));
}
+void tst_qqmllocale::numberOptions()
+{
+ QQmlEngine engine;
+ QQmlComponent comp(&engine);
+ comp.setData(R"(
+ import QtQml 2.15
+ QtObject {
+ id: root
+ property string formatted
+ property bool caughtException: false
+ Component.onCompleted: () => {
+ const myLocale = Qt.locale("de_DE")
+ myLocale.numberOptions = Locale.OmitGroupSeparator | Locale.RejectTrailingZeroesAfterDot
+ root.formatted = Number(10000).toLocaleString(myLocale, 'f', 4)
+ try {
+ Number.fromLocaleString(myLocale, "1,10");
+ } catch (e) {console.warn(e); root.caughtException = true}
+ }
+ }
+ )", QUrl("testdata"));
+ QTest::ignoreMessage(QtMsgType::QtWarningMsg, "Error: Locale: Number.fromLocaleString(): Invalid format");
+ QScopedPointer<QObject> root {comp.create()};
+ qDebug() << comp.errorString();
+ QVERIFY(root);
+ QCOMPARE(root->property("formatted").toString(), QLatin1String("10000,0000"));
+ QCOMPARE(root->property("caughtException").toBool(), true);
+
+}
+
void tst_qqmllocale::stringLocaleCompare_data()
{
QTest::addColumn<QString>("string1");
diff --git a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp
index 9d8818d01e..76b56bd303 100644
--- a/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp
+++ b/tests/auto/qml/qqmlparser/tst_qqmlparser.cpp
@@ -62,6 +62,9 @@ private slots:
void typeAnnotations();
void disallowedTypeAnnotations_data();
void disallowedTypeAnnotations();
+ void semicolonPartOfExpressionStatement();
+ void typeAssertion_data();
+ void typeAssertion();
private:
QStringList excludedDirs;
@@ -141,6 +144,30 @@ struct TypeAnnotationObserver: public AST::Visitor
}
};
+struct ExpressionStatementObserver: public AST::Visitor
+{
+ int expressionsSeen = 0;
+ bool endsWithSemicolon = true;
+
+ void operator()(AST::Node *node)
+ {
+ AST::Node::accept(node, this);
+ }
+
+ virtual bool visit(AST::ExpressionStatement *statement)
+ {
+ ++expressionsSeen;
+ endsWithSemicolon = endsWithSemicolon
+ && (statement->lastSourceLocation().end() == statement->semicolonToken.end());
+ return true;
+ }
+
+ void throwRecursionDepthError() final
+ {
+ QFAIL("Maximum statement or expression depth exceeded");
+ }
+};
+
}
tst_qqmlparser::tst_qqmlparser()
@@ -438,6 +465,62 @@ void tst_qqmlparser::disallowedTypeAnnotations()
QVERIFY2(parser.errorMessage().startsWith("Type annotations are not permitted "), qPrintable(parser.errorMessage()));
}
+void tst_qqmlparser::semicolonPartOfExpressionStatement()
+{
+ QQmlJS::Engine engine;
+ QQmlJS::Lexer lexer(&engine);
+ lexer.setCode(QLatin1String("A { property int x: 1+1; property int y: 2+2 \n"
+ "tt: {'a': 5, 'b': 6}; ff: {'c': 'rrr'}}"), 1);
+ QQmlJS::Parser parser(&engine);
+ QVERIFY(parser.parse());
+
+ check::ExpressionStatementObserver observer;
+ observer(parser.rootNode());
+
+ QCOMPARE(observer.expressionsSeen, 4);
+ QVERIFY(observer.endsWithSemicolon);
+}
+
+void tst_qqmlparser::typeAssertion_data()
+{
+ QTest::addColumn<QString>("expression");
+ QTest::addRow("as A")
+ << QString::fromLatin1("A { onStuff: (b as A).happen() }");
+ QTest::addRow("as double paren")
+ << QString::fromLatin1("A { onStuff: console.log((12 as double)); }");
+ QTest::addRow("as double noparen")
+ << QString::fromLatin1("A { onStuff: console.log(12 as double); }");
+ QTest::addRow("property as double")
+ << QString::fromLatin1("A { prop: (12 as double); }");
+ QTest::addRow("property noparen as double")
+ << QString::fromLatin1("A { prop: 12 as double; }");
+
+ // rabbits cannot be discerned from types on a syntactical level.
+ // We could detect this on a semantical level, once we implement type assertions there.
+
+ QTest::addRow("as rabbit")
+ << QString::fromLatin1("A { onStuff: (b as rabbit).happen() }");
+ QTest::addRow("as rabbit paren")
+ << QString::fromLatin1("A { onStuff: console.log((12 as rabbit)); }");
+ QTest::addRow("as rabbit noparen")
+ << QString::fromLatin1("A { onStuff: console.log(12 as rabbit); }");
+ QTest::addRow("property as rabbit")
+ << QString::fromLatin1("A { prop: (12 as rabbit); }");
+ QTest::addRow("property noparen as rabbit")
+ << QString::fromLatin1("A { prop: 12 as rabbit; }");
+}
+
+void tst_qqmlparser::typeAssertion()
+{
+ QFETCH(QString, expression);
+
+ QQmlJS::Engine engine;
+ QQmlJS::Lexer lexer(&engine);
+ lexer.setCode(expression, 1);
+ QQmlJS::Parser parser(&engine);
+ QVERIFY(parser.parse());
+}
+
QTEST_MAIN(tst_qqmlparser)
#include "tst_qqmlparser.moc"
diff --git a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp
index d529600723..9ec3e9557b 100644
--- a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp
+++ b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp
@@ -58,6 +58,7 @@ private slots:
void qmlSingletonWithinModule();
void multiSingletonModule();
void implicitComponentModule();
+ void customDiskCachePath();
void qrcRootPathUrl();
void implicitImport();
void compositeSingletonCycle();
@@ -533,6 +534,35 @@ void tst_QQMLTypeLoader::implicitComponentModule()
checkCleanCacheLoad(QLatin1String("implicitComponentModule"));
}
+void tst_QQMLTypeLoader::customDiskCachePath()
+{
+#if QT_CONFIG(process)
+ const char *skipKey = "QT_TST_QQMLTYPELOADER_SKIP_MISMATCH";
+ if (qEnvironmentVariableIsSet(skipKey)) {
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFileUrl("Base.qml"));
+ QCOMPARE(component.status(), QQmlComponent::Ready);
+ QScopedPointer<QObject> obj(component.create());
+ QVERIFY(!obj.isNull());
+ return;
+ }
+
+ QTemporaryDir dir;
+ QProcess child;
+ child.setProgram(QCoreApplication::applicationFilePath());
+ child.setArguments(QStringList(QLatin1String("customDiskCachePath")));
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert(QLatin1String(skipKey), QLatin1String("1"));
+ env.insert(QLatin1String("QML_DISK_CACHE_PATH"), dir.path());
+ child.setProcessEnvironment(env);
+ child.start();
+ QVERIFY(child.waitForFinished());
+ QCOMPARE(child.exitCode(), 0);
+ QDir cacheDir(dir.path());
+ QVERIFY(!cacheDir.isEmpty());
+#endif
+}
+
void tst_QQMLTypeLoader::qrcRootPathUrl()
{
QQmlEngine engine;
diff --git a/tests/auto/qml/qquickworkerscript/data/BaseWorker.qml b/tests/auto/qml/qquickworkerscript/data/BaseWorker.qml
index 0ac56d9b66..59af114379 100644
--- a/tests/auto/qml/qquickworkerscript/data/BaseWorker.qml
+++ b/tests/auto/qml/qquickworkerscript/data/BaseWorker.qml
@@ -4,8 +4,10 @@ WorkerScript {
id: worker
property variant response
+ property bool readyChangedCalled : false
signal done()
+ signal ready()
function testSend(value) {
worker.sendMessage(value)
@@ -20,5 +22,7 @@ WorkerScript {
worker.response = messageObject
worker.done()
}
+
+ onReadyChanged: worker.readyChangedCalled = true
}
diff --git a/tests/auto/qml/qquickworkerscript/tst_qquickworkerscript.cpp b/tests/auto/qml/qquickworkerscript/tst_qquickworkerscript.cpp
index bea9978f0b..122e14a633 100644
--- a/tests/auto/qml/qquickworkerscript/tst_qquickworkerscript.cpp
+++ b/tests/auto/qml/qquickworkerscript/tst_qquickworkerscript.cpp
@@ -47,6 +47,7 @@ public:
tst_QQuickWorkerScript() {}
private slots:
void source();
+ void ready();
void messaging();
void messaging_data();
void messaging_sendQObjectList();
@@ -104,6 +105,22 @@ void tst_QQuickWorkerScript::source()
qApp->processEvents();
}
+void tst_QQuickWorkerScript::ready()
+{
+ QQmlComponent component(&m_engine, testFileUrl("worker.qml"));
+ QScopedPointer<QQuickWorkerScript>worker(qobject_cast<QQuickWorkerScript*>(component.create()));
+ QVERIFY(worker != nullptr);
+
+ const QMetaObject *mo = worker->metaObject();
+
+ QTRY_VERIFY(worker->ready());
+
+ QVariant readyChangedCalled = mo->property(mo->indexOfProperty("readyChangedCalled")).read(worker.data()).value<QVariant>();
+
+ QVERIFY(!readyChangedCalled.isNull());
+ QVERIFY(readyChangedCalled.toBool());
+}
+
void tst_QQuickWorkerScript::messaging()
{
QFETCH(QVariant, value);
diff --git a/tests/auto/qmltest/events/tst_drag.qml b/tests/auto/qmltest/events/tst_drag.qml
index ae77247a41..5c5b885e6c 100644
--- a/tests/auto/qmltest/events/tst_drag.qml
+++ b/tests/auto/qmltest/events/tst_drag.qml
@@ -113,6 +113,52 @@ Rectangle{
}
}
+ Component {
+ id: nestedFlickableComponent
+
+ Flickable {
+ objectName: "outerFlickable"
+ width: parent.width
+ height: parent.height
+ contentWidth: 400
+ contentHeight: 400
+
+ property alias innerFlickable: innerFlickable
+
+ Flickable {
+ id: innerFlickable
+ objectName: "innerFlickable"
+ width: parent.width
+ height: parent.height
+ contentWidth: 400
+ contentHeight: 400
+
+ Rectangle {
+ width: 400
+ height: 400
+ gradient: Gradient {
+ GradientStop { position: 0; color: "salmon" }
+ GradientStop { position: 0; color: "navajowhite" }
+ }
+ }
+ }
+ }
+ }
+
+ Component {
+ id: signalSpyComponent
+ SignalSpy {}
+ }
+
+ Component {
+ id: mouseAreaComponent
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ }
+ }
+
TestCase {
name:"mouserelease"
when:windowShown
@@ -163,5 +209,121 @@ Rectangle{
compare(spyX.count, 0)
compare(spyY.count, 1)
}
+
+ function test_dragAxis_data() {
+ return [
+ { tag: "horizontal" },
+ { tag: "vertical" }
+ ]
+ }
+
+ // mouseDrag() should not drag along an axis if the distance passed in for
+ // that axis was 0. Doing so can interfere with tests for an item that e.g.
+ // handles horizontal flicks which is within e.g. a Flickable that handles
+ // vertical flicks.
+ function test_dragAxis(data) {
+ let horizontal = data.tag === "horizontal"
+
+ let outerFlickable = createTemporaryObject(nestedFlickableComponent, root)
+ verify(outerFlickable)
+ // We want the outer flickable to use the opposite flick direction of the inner one,
+ // as the inner one has the direction that we're interested in testing.
+ outerFlickable.flickableDirection = horizontal ? Flickable.VerticalFlick : Flickable.HorizontalFlick
+
+ let innerFlickable = outerFlickable.innerFlickable
+ verify(innerFlickable)
+ let horizontalFlickable = null
+ let verticalFlickable = null
+ if (horizontal) {
+ innerFlickable.flickableDirection = Flickable.HorizontalFlick
+ horizontalFlickable = innerFlickable
+ verticalFlickable = outerFlickable
+ } else {
+ innerFlickable.flickableDirection = Flickable.VerticalFlick
+ horizontalFlickable = outerFlickable
+ verticalFlickable = innerFlickable
+ }
+
+ let movingHorizontallySpy = createTemporaryObject(signalSpyComponent, root,
+ { target: horizontalFlickable, signalName: "movingHorizontallyChanged" })
+ verify(movingHorizontallySpy)
+ verify(movingHorizontallySpy.valid)
+
+ let movingVerticallySpy = createTemporaryObject(signalSpyComponent, root,
+ { target: verticalFlickable, signalName: "movingVerticallyChanged" })
+ verify(movingVerticallySpy)
+ verify(movingVerticallySpy.valid)
+
+ let flickingHorizontallySpy = createTemporaryObject(signalSpyComponent, root,
+ { target: horizontalFlickable, signalName: "flickingHorizontallyChanged" })
+ verify(flickingHorizontallySpy)
+ verify(flickingHorizontallySpy.valid)
+
+ let flickingVerticallySpy = createTemporaryObject(signalSpyComponent, root,
+ { target: verticalFlickable, signalName: "flickingVerticallyChanged" })
+ verify(flickingVerticallySpy)
+ verify(flickingVerticallySpy.valid)
+
+ let contentXSpy = createTemporaryObject(signalSpyComponent, root,
+ { target: horizontalFlickable, signalName: "contentXChanged" })
+ verify(contentXSpy)
+ verify(contentXSpy.valid)
+
+ let contentYSpy = createTemporaryObject(signalSpyComponent, root,
+ { target: verticalFlickable, signalName: "contentYChanged" })
+ verify(contentYSpy)
+ verify(contentYSpy.valid)
+
+ // Dragging only horizontally should not result in movement on the Y axis, and vice versa.
+ let horizontalDragDistance = horizontal ? innerFlickable.width - 10 : 0
+ let verticalDragDistance = horizontal ? 0 : innerFlickable.height - 10
+ mouseDrag(innerFlickable, 10, 10, horizontalDragDistance, verticalDragDistance)
+
+ // Wait for it to stop moving.
+ if (horizontal) {
+ tryCompare(horizontalFlickable, "movingHorizontally", false)
+ tryCompare(horizontalFlickable, "flickingHorizontally", false)
+ } else {
+ tryCompare(verticalFlickable, "movingVertically", false)
+ tryCompare(verticalFlickable, "flickingVertically", false)
+ }
+
+ // 2 because it should change to true then false.
+ compare(movingHorizontallySpy.count, horizontal ? 2 : 0)
+ compare(movingVerticallySpy.count, horizontal ? 0 : 2)
+ compare(flickingHorizontallySpy.count, horizontal ? 2 : 0)
+ compare(flickingVerticallySpy.count, horizontal ? 0 : 2)
+
+ if (horizontal)
+ verify(contentXSpy.count > 0)
+ else
+ compare(contentXSpy.count, 0)
+
+ if (horizontal)
+ compare(contentYSpy.count, 0)
+ else
+ verify(contentYSpy.count > 0)
+ }
+
+ function test_negativeDragDistance_data() {
+ return [
+ { tag: "horizontal", startX: 100, startY: 100, xDistance: -90, yDistance: 0 },
+ { tag: "vertical", startX: 100, startY: 100, xDistance: 0, yDistance: -90 }
+ ]
+ }
+
+ // Tests that dragging to the left or top actually results in intermediate mouse moves.
+ function test_negativeDragDistance(data) {
+ let mouseArea = createTemporaryObject(mouseAreaComponent, root)
+ verify(mouseArea)
+
+ let positionSpy = signalSpyComponent.createObject(mouseArea,
+ { target: mouseArea, signalName: "positionChanged" })
+ verify(positionSpy)
+ verify(positionSpy.valid)
+
+ mouseDrag(mouseArea, data.startX, data.startY, data.xDistance, data.yDistance)
+ verify(positionSpy.count > 2, "Expected more than 2 mouse position changes, but only got " + positionSpy.count)
+ }
}
}
diff --git a/tests/auto/quick/nodes/tst_nodestest.cpp b/tests/auto/quick/nodes/tst_nodestest.cpp
index bd5e6c6383..249ecd5aa5 100644
--- a/tests/auto/quick/nodes/tst_nodestest.cpp
+++ b/tests/auto/quick/nodes/tst_nodestest.cpp
@@ -121,9 +121,6 @@ class DummyRenderer : public QSGBatchRenderer::Renderer
public:
DummyRenderer(QSGRootNode *root, QSGDefaultRenderContext *renderContext)
: QSGBatchRenderer::Renderer(renderContext)
- , changedNode(nullptr)
- , changedState(nullptr)
- , renderCount(0)
{
setRootNode(root);
}
@@ -139,11 +136,11 @@ public:
QSGBatchRenderer::Renderer::nodeChanged(node, state);
}
- QSGNode *changedNode;
+ QSGNode *changedNode = nullptr;
QSGNode::DirtyState changedState;
- int renderCount;
- int renderingOrder;
+ int renderCount = 0;
+ int renderingOrder = 0;
static int globalRendereringOrder;
};
diff --git a/tests/auto/quick/pointerhandlers/mousearea_interop/data/dragTakeOverFromSibling.qml b/tests/auto/quick/pointerhandlers/mousearea_interop/data/dragTakeOverFromSibling.qml
new file mode 100644
index 0000000000..48b1dc86f0
--- /dev/null
+++ b/tests/auto/quick/pointerhandlers/mousearea_interop/data/dragTakeOverFromSibling.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+
+Item {
+ width: 640
+ height: 480
+
+ Rectangle {
+ width: 200
+ height: 200
+ color: mouseArea.pressed ? "red" : "blue"
+ opacity: 0.6
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ }
+ }
+ Rectangle {
+ y: 100
+ z: -1
+ width: 200
+ height: 200
+ color: dragHandler.active ? "orange" : "green"
+ opacity: 0.6
+
+ DragHandler {
+ id: dragHandler
+ }
+ }
+}
diff --git a/tests/auto/quick/pointerhandlers/mousearea_interop/mousearea_interop.pro b/tests/auto/quick/pointerhandlers/mousearea_interop/mousearea_interop.pro
new file mode 100644
index 0000000000..0bf0ec86a9
--- /dev/null
+++ b/tests/auto/quick/pointerhandlers/mousearea_interop/mousearea_interop.pro
@@ -0,0 +1,15 @@
+CONFIG += testcase
+
+TARGET = tst_mousearea_interop
+QT += core-private gui-private qml-private quick-private testlib
+
+macos:CONFIG -= app_bundle
+
+SOURCES += tst_mousearea_interop.cpp
+
+include (../../../shared/util.pri)
+include (../../shared/util.pri)
+
+TESTDATA = data/*
+
+OTHER_FILES += data/dragTakeOverFromSibling.qml
diff --git a/tests/auto/quick/pointerhandlers/mousearea_interop/tst_mousearea_interop.cpp b/tests/auto/quick/pointerhandlers/mousearea_interop/tst_mousearea_interop.cpp
new file mode 100644
index 0000000000..794562fea0
--- /dev/null
+++ b/tests/auto/quick/pointerhandlers/mousearea_interop/tst_mousearea_interop.cpp
@@ -0,0 +1,178 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQml module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#include <QtQml/qqmlengine.h>
+#include <QtQml/qqmlproperty.h>
+#include <QtQuick/private/qquickdraghandler_p.h>
+#include <QtQuick/private/qquickmousearea_p.h>
+#include <QtQuick/qquickitem.h>
+#include <QtQuick/qquickview.h>
+
+#include "../../../shared/util.h"
+#include "../../shared/viewtestutil.h"
+
+Q_LOGGING_CATEGORY(lcPointerTests, "qt.quick.pointer.tests")
+
+class tst_MouseAreaInterop : public QQmlDataTest
+{
+ Q_OBJECT
+public:
+ tst_MouseAreaInterop()
+ : touchDevice(QTest::createTouchDevice())
+ , touchPointerDevice(QQuickPointerDevice::touchDevice(touchDevice))
+ {}
+
+private slots:
+ void dragHandlerInSiblingStealingGrabFromMouseAreaViaMouse();
+ void dragHandlerInSiblingStealingGrabFromMouseAreaViaTouch_data();
+ void dragHandlerInSiblingStealingGrabFromMouseAreaViaTouch();
+
+private:
+ void createView(QScopedPointer<QQuickView> &window, const char *fileName);
+ QTouchDevice *touchDevice;
+ QQuickPointerDevice *touchPointerDevice;
+};
+
+void tst_MouseAreaInterop::createView(QScopedPointer<QQuickView> &window, const char *fileName)
+{
+ window.reset(new QQuickView);
+ window->setSource(testFileUrl(fileName));
+ QTRY_COMPARE(window->status(), QQuickView::Ready);
+ QQuickViewTestUtil::centerOnScreen(window.data());
+ QQuickViewTestUtil::moveMouseAway(window.data());
+
+ window->show();
+ QVERIFY(QTest::qWaitForWindowActive(window.data()));
+ QVERIFY(window->rootObject() != nullptr);
+}
+
+void tst_MouseAreaInterop::dragHandlerInSiblingStealingGrabFromMouseAreaViaMouse()
+{
+ const int dragThreshold = QGuiApplication::styleHints()->startDragDistance();
+ QScopedPointer<QQuickView> windowPtr;
+ createView(windowPtr, "dragTakeOverFromSibling.qml");
+ QQuickView * window = windowPtr.data();
+ auto pointerEvent = QQuickWindowPrivate::get(window)->pointerEventInstance(QQuickPointerDevice::genericMouseDevice());
+
+ QPointer<QQuickPointerHandler> handler = window->rootObject()->findChild<QQuickPointerHandler*>();
+ QVERIFY(handler);
+ QQuickMouseArea *ma = window->rootObject()->findChild<QQuickMouseArea*>();
+ QVERIFY(ma);
+
+ QPoint p1(150, 150);
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, p1);
+ QCOMPARE(window->mouseGrabberItem(), ma);
+ QCOMPARE(ma->pressed(), true);
+
+ // Start dragging
+ // DragHandler keeps monitoring, due to its passive grab,
+ // and eventually steals the exclusive grab from MA
+ int dragStoleGrab = 0;
+ for (int i = 0; i < 4; ++i) {
+ p1 += QPoint(dragThreshold / 2, 0);
+ QTest::mouseMove(window, p1);
+ if (!dragStoleGrab && pointerEvent->point(0)->exclusiveGrabber() == handler)
+ dragStoleGrab = i;
+ }
+ if (dragStoleGrab)
+ qCDebug(lcPointerTests, "DragHandler stole the grab after %d events", dragStoleGrab);
+ QVERIFY(dragStoleGrab > 1);
+ QCOMPARE(handler->active(), true);
+ QCOMPARE(ma->pressed(), false);
+
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, p1);
+ QCOMPARE(handler->active(), false);
+}
+
+void tst_MouseAreaInterop::dragHandlerInSiblingStealingGrabFromMouseAreaViaTouch_data()
+{
+ QTest::addColumn<bool>("preventStealing");
+
+ QTest::newRow("allow stealing") << false;
+ QTest::newRow("prevent stealing") << true;
+}
+
+void tst_MouseAreaInterop::dragHandlerInSiblingStealingGrabFromMouseAreaViaTouch() // QTBUG-77624 and QTBUG-79163
+{
+ QFETCH(bool, preventStealing);
+
+ const int dragThreshold = QGuiApplication::styleHints()->startDragDistance();
+ QScopedPointer<QQuickView> windowPtr;
+ createView(windowPtr, "dragTakeOverFromSibling.qml");
+ QQuickView * window = windowPtr.data();
+ auto pointerEvent = QQuickWindowPrivate::get(window)->pointerEventInstance(touchPointerDevice);
+
+ QPointer<QQuickPointerHandler> handler = window->rootObject()->findChild<QQuickPointerHandler*>();
+ QVERIFY(handler);
+ QQuickMouseArea *ma = window->rootObject()->findChild<QQuickMouseArea*>();
+ QVERIFY(ma);
+ ma->setPreventStealing(preventStealing);
+
+ QPoint p1(150, 150);
+ QTest::QTouchEventSequence touch = QTest::touchEvent(window, touchDevice);
+
+ touch.press(1, p1).commit();
+ QQuickTouchUtils::flush(window);
+ QTRY_VERIFY(pointerEvent->point(0)->passiveGrabbers().contains(handler));
+ QCOMPARE(pointerEvent->point(0)->grabberItem(), ma);
+ QCOMPARE(window->mouseGrabberItem(), ma);
+ QCOMPARE(ma->pressed(), true);
+
+ // Start dragging
+ // DragHandler keeps monitoring, due to its passive grab,
+ // and eventually steals the exclusive grab from MA if MA allows it
+ int dragStoleGrab = 0;
+ for (int i = 0; i < 4; ++i) {
+ p1 += QPoint(dragThreshold / 2, 0);
+ touch.move(1, p1).commit();
+ QQuickTouchUtils::flush(window);
+ if (!dragStoleGrab && pointerEvent->point(0)->exclusiveGrabber() == handler)
+ dragStoleGrab = i;
+ }
+ if (dragStoleGrab)
+ qCDebug(lcPointerTests, "DragHandler stole the grab after %d events", dragStoleGrab);
+ if (preventStealing) {
+ QCOMPARE(dragStoleGrab, 0);
+ QCOMPARE(handler->active(), false);
+ QCOMPARE(ma->pressed(), true);
+ } else {
+ QVERIFY(dragStoleGrab > 1);
+ QCOMPARE(handler->active(), true);
+ QCOMPARE(ma->pressed(), false);
+ }
+
+ touch.release(1, p1).commit();
+ QQuickTouchUtils::flush(window);
+ QCOMPARE(handler->active(), false);
+}
+
+QTEST_MAIN(tst_MouseAreaInterop)
+
+#include "tst_mousearea_interop.moc"
diff --git a/tests/auto/quick/pointerhandlers/multipointtoucharea_interop/tst_multipointtoucharea_interop.cpp b/tests/auto/quick/pointerhandlers/multipointtoucharea_interop/tst_multipointtoucharea_interop.cpp
index 35fed99e8b..4a7a132be2 100644
--- a/tests/auto/quick/pointerhandlers/multipointtoucharea_interop/tst_multipointtoucharea_interop.cpp
+++ b/tests/auto/quick/pointerhandlers/multipointtoucharea_interop/tst_multipointtoucharea_interop.cpp
@@ -295,10 +295,10 @@ void tst_MptaInterop::unloadHandlerWithPassiveGrab()
QVERIFY(mpta);
QPoint point(90, 90);
- QTest::mousePress(window, Qt::LeftButton, 0, point);
+ QTest::mousePress(window, Qt::LeftButton, {}, point);
QCOMPARE(window->mouseGrabberItem(), mpta);
QTRY_VERIFY(handler.isNull()); // it got unloaded
- QTest::mouseRelease(window, Qt::LeftButton, 0, point); // QTBUG-73819: don't crash
+ QTest::mouseRelease(window, Qt::LeftButton, {}, point); // QTBUG-73819: don't crash
}
void tst_MptaInterop::dragHandlerInParentStealingGrabFromItem() // QTBUG-75025
diff --git a/tests/auto/quick/pointerhandlers/pointerhandlers.pro b/tests/auto/quick/pointerhandlers/pointerhandlers.pro
index 4d6311bdb2..7db28b6583 100644
--- a/tests/auto/quick/pointerhandlers/pointerhandlers.pro
+++ b/tests/auto/quick/pointerhandlers/pointerhandlers.pro
@@ -3,6 +3,7 @@ TEMPLATE = subdirs
qtConfig(private_tests) {
SUBDIRS += \
flickableinterop \
+ mousearea_interop \
multipointtoucharea_interop \
qquickdraghandler \
qquickhoverhandler \
diff --git a/tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml b/tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml
index 042b730799..800c25c77d 100644
--- a/tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml
+++ b/tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml
@@ -31,6 +31,7 @@ import QtQuick 2.12
Rectangle {
id: root
property alias label: label.text
+ property alias active: tap.active
property alias pressed: tap.pressed
property bool checked: false
property alias gesturePolicy: tap.gesturePolicy
diff --git a/tests/auto/quick/pointerhandlers/qquicktaphandler/tst_qquicktaphandler.cpp b/tests/auto/quick/pointerhandlers/qquicktaphandler/tst_qquicktaphandler.cpp
index e77ea97518..419afed3ac 100644
--- a/tests/auto/quick/pointerhandlers/qquicktaphandler/tst_qquicktaphandler.cpp
+++ b/tests/auto/quick/pointerhandlers/qquicktaphandler/tst_qquicktaphandler.cpp
@@ -600,10 +600,32 @@ void tst_TapHandler::buttonsMultiTouch()
touchSeq.stationary(1).press(2, p2, window).commit();
QQuickTouchUtils::flush(window);
QTRY_VERIFY(buttonWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("active").toBool());
QPoint p3 = buttonReleaseWithinBounds->mapToScene(QPointF(20, 20)).toPoint();
touchSeq.stationary(1).stationary(2).press(3, p3, window).commit();
QQuickTouchUtils::flush(window);
QTRY_VERIFY(buttonReleaseWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonReleaseWithinBounds->property("active").toBool());
+ QVERIFY(buttonWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("active").toBool());
+ QVERIFY(buttonDragThreshold->property("pressed").toBool());
+
+ // combinations of small touchpoint movements and stationary points should not cause state changes
+ p1 += QPoint(2, 0);
+ p2 += QPoint(3, 0);
+ touchSeq.move(1, p1).move(2, p2).stationary(3).commit();
+ QVERIFY(buttonDragThreshold->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("active").toBool());
+ QVERIFY(buttonReleaseWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonReleaseWithinBounds->property("active").toBool());
+ p3 += QPoint(4, 0);
+ touchSeq.stationary(1).stationary(2).move(3, p3).commit();
+ QVERIFY(buttonDragThreshold->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonWithinBounds->property("active").toBool());
+ QVERIFY(buttonReleaseWithinBounds->property("pressed").toBool());
+ QVERIFY(buttonReleaseWithinBounds->property("active").toBool());
// can release top button and press again: others stay pressed the whole time
touchSeq.stationary(2).stationary(3).release(1, p1, window).commit();
diff --git a/tests/auto/quick/qquickaccessible/tst_qquickaccessible.cpp b/tests/auto/quick/qquickaccessible/tst_qquickaccessible.cpp
index d1f6d67aa1..061d5f8a1a 100644
--- a/tests/auto/quick/qquickaccessible/tst_qquickaccessible.cpp
+++ b/tests/auto/quick/qquickaccessible/tst_qquickaccessible.cpp
@@ -185,7 +185,8 @@ void tst_QQuickAccessible::quickAttachedProperties()
QObject *object = component.create();
QVERIFY(object != nullptr);
- QObject *attachedObject = QQuickAccessibleAttached::attachedProperties(object);
+ const auto attachedObject = qobject_cast<QQuickAccessibleAttached*>(
+ QQuickAccessibleAttached::attachedProperties(object));
QVERIFY(attachedObject);
if (attachedObject) {
QVariant p = attachedObject->property("role");
@@ -195,6 +196,7 @@ void tst_QQuickAccessible::quickAttachedProperties()
QCOMPARE(p.isNull(), true);
p = attachedObject->property("description");
QCOMPARE(p.isNull(), true);
+ QCOMPARE(attachedObject->wasNameExplicitlySet(), false);
}
delete object;
}
@@ -211,7 +213,8 @@ void tst_QQuickAccessible::quickAttachedProperties()
QObject *object = component.create();
QVERIFY(object != nullptr);
- QObject *attachedObject = QQuickAccessibleAttached::attachedProperties(object);
+ const auto attachedObject = qobject_cast<QQuickAccessibleAttached*>(
+ QQuickAccessibleAttached::attachedProperties(object));
QVERIFY(attachedObject);
if (attachedObject) {
QVariant p = attachedObject->property("role");
@@ -223,6 +226,7 @@ void tst_QQuickAccessible::quickAttachedProperties()
p = attachedObject->property("description");
QCOMPARE(p.isNull(), false);
QCOMPARE(p.toString(), QLatin1String("Duck"));
+ QCOMPARE(attachedObject->wasNameExplicitlySet(), true);
}
delete object;
}
@@ -292,6 +296,32 @@ void tst_QQuickAccessible::quickAttachedProperties()
}
delete object;
}
+ // Check that a name can be implicitly set.
+ {
+ QQmlEngine engine;
+ QQmlComponent component(&engine);
+ component.setData(R"(
+ import QtQuick 2.0
+ Text {
+ Accessible.role: Accessible.Button
+ Accessible.description: "Text Button"
+ })", QUrl());
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY(object);
+
+ const auto attachedObject = qobject_cast<QQuickAccessibleAttached*>(
+ QQuickAccessibleAttached::attachedProperties(object.data()));
+ QVERIFY(attachedObject);
+ QVERIFY(!attachedObject->wasNameExplicitlySet());
+
+ attachedObject->setNameImplicitly(QLatin1String("Implicit"));
+ QCOMPARE(attachedObject->name(), QLatin1String("Implicit"));
+ QVERIFY(!attachedObject->wasNameExplicitlySet());
+
+ attachedObject->setName(QLatin1String("Explicit"));
+ QCOMPARE(attachedObject->name(), QLatin1String("Explicit"));
+ QVERIFY(attachedObject->wasNameExplicitlySet());
+ }
QTestAccessibility::clearEvents();
}
diff --git a/tests/auto/quick/qquicklayouts/data/tst_gridlayout.qml b/tests/auto/quick/qquicklayouts/data/tst_gridlayout.qml
index e8b3960486..be94fca8d4 100644
--- a/tests/auto/quick/qquicklayouts/data/tst_gridlayout.qml
+++ b/tests/auto/quick/qquicklayouts/data/tst_gridlayout.qml
@@ -1073,5 +1073,38 @@ Item {
layout[propName] = data.value
compare(layout.spy.count, 1)
}
+
+ Component {
+ id: layout_columnIsOutsideGrid_Component
+ GridLayout {
+ columns: 2
+ Item {
+ Layout.row: 0
+ Layout.column: 1
+ }
+ Item {
+ implicitWidth: 10
+ implicitHeight: 10
+ Layout.row: 0
+ Layout.column: 2
+ }
+ Item {
+ Layout.columnSpan: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ }
+
+ function test_columnIsOutsideGrid()
+ {
+ ignoreWarning(/QML Item: Layout: column \(2\) should be less than the number of columns \(2\)/);
+ var layout = layout_columnIsOutsideGrid_Component.createObject(container);
+ layout.width = layout.implicitWidth
+ layout.height = layout.implicitHeight
+ waitForRendering(layout);
+ layout.destroy()
+ }
+
}
}
diff --git a/tests/auto/quick/qquicklistview/data/listview-initCurrent.qml b/tests/auto/quick/qquicklistview/data/listview-initCurrent.qml
index 8aff649a67..41d5bd3491 100644
--- a/tests/auto/quick/qquicklistview/data/listview-initCurrent.qml
+++ b/tests/auto/quick/qquicklistview/data/listview-initCurrent.qml
@@ -7,6 +7,7 @@ Rectangle {
property bool showHeader: false
property bool showFooter: false
property int currentItemChangedCount: 0
+ property string s: ""+list.currentIndex
width: 240
height: 320
diff --git a/tests/auto/quick/qquicklistview/data/moveObjectModelItemToAnotherObjectModel.qml b/tests/auto/quick/qquicklistview/data/moveObjectModelItemToAnotherObjectModel.qml
new file mode 100644
index 0000000000..ebdebeb449
--- /dev/null
+++ b/tests/auto/quick/qquicklistview/data/moveObjectModelItemToAnotherObjectModel.qml
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.14
+import QtQml.Models 2.14
+
+Item {
+ id: root
+ width: 400
+ height: 400
+
+ readonly property int rectCount: 3
+ property var rectColors: ["red", "green", "blue"]
+
+ property alias listView1: listView1
+ property alias listView2: listView2
+
+ function moveRedRectToModel2() {
+ var appItem = objectModel1.get(0)
+ objectModel1.remove(0, 1)
+ objectModel2.insert(0, appItem)
+ }
+
+ function moveRedRectToModel1() {
+ var appItem = objectModel2.get(0)
+ objectModel2.remove(0, 1)
+ objectModel1.insert(0, appItem)
+ }
+
+ ObjectModel {
+ id: objectModel1
+ objectName: "objectModel1"
+
+ Component.onCompleted: {
+ for (var i = 0; i < root.rectCount; i++) {
+ var outerRect = rectComponent.createObject(null, {
+ "objectName": root.rectColors[i] + "Rect",
+ "color": root.rectColors[i]
+ })
+ objectModel1.append(outerRect)
+ }
+ }
+ }
+
+ ObjectModel {
+ id: objectModel2
+ objectName: "objectModel2"
+ }
+
+ ListView {
+ id: listView1
+ objectName: "listView1"
+ anchors.left: parent.left
+ anchors.top: parent.top
+ height: 100
+ width: 100
+ anchors.margins: 20
+ clip: true
+ cacheBuffer: 0
+ model: objectModel1
+ orientation: ListView.Horizontal
+ spacing: 20
+
+ Component.onCompleted: contentItem.objectName = "listView1ContentItem"
+ }
+
+ ListView {
+ id: listView2
+ objectName: "listView2"
+ anchors.right: parent.right
+ anchors.top: parent.top
+ height: 100
+ width: 100
+ anchors.margins: 20
+ clip: true
+ cacheBuffer: 0
+ model: objectModel2
+ orientation: ListView.Horizontal
+ spacing: 20
+
+ Component.onCompleted: contentItem.objectName = "listView2ContentItem"
+ }
+
+ Component {
+ id: rectComponent
+
+ Rectangle {
+ height: 100
+ width: 100
+ opacity: 0.2
+ }
+ }
+}
diff --git a/tests/auto/quick/qquicklistview/data/reusedelegateitems.qml b/tests/auto/quick/qquicklistview/data/reusedelegateitems.qml
new file mode 100644
index 0000000000..773fb50f81
--- /dev/null
+++ b/tests/auto/quick/qquicklistview/data/reusedelegateitems.qml
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.15
+
+Rectangle {
+ id: root
+ width: 640
+ height: 480
+
+ property int rows: 500
+ property int columns: 20
+ property real delegateHeight: 30
+ property real delegateWidth: 50
+
+ ListView {
+ id: list
+ anchors.fill: parent
+ anchors.margins: 10
+ objectName: "list"
+
+ model: reuseModel
+ reuseItems: true
+
+ cacheBuffer: 0
+ contentWidth: columns * delegateWidth
+ contentHeight: rows * delegateHeight
+ clip: true
+
+ property int delegatesCreatedCount: 0
+
+ delegate: Item {
+ objectName: "delegate"
+ width: list.contentWidth
+ height: delegateHeight
+
+ property int modelIndex: index
+ property int reusedCount: 0
+ property int pooledCount: 0
+ property string displayBinding: display
+
+ ListView.onPooled: pooledCount++
+ ListView.onReused: reusedCount++
+ Component.onCompleted: list.delegatesCreatedCount++
+
+ Text {
+ id: text1
+ text: display + " (Model index: " + modelIndex + ", Reused count: " + reusedCount + ")"
+ }
+ }
+ }
+}
diff --git a/tests/auto/quick/qquicklistview/qquicklistview.pro b/tests/auto/quick/qquicklistview/qquicklistview.pro
index b08fca2b1d..10edb06549 100644
--- a/tests/auto/quick/qquicklistview/qquicklistview.pro
+++ b/tests/auto/quick/qquicklistview/qquicklistview.pro
@@ -5,7 +5,8 @@ macx:CONFIG -= app_bundle
HEADERS += incrementalmodel.h \
proxytestinnermodel.h \
- randomsortmodel.h
+ randomsortmodel.h \
+ reusemodel.h
SOURCES += tst_qquicklistview.cpp \
incrementalmodel.cpp \
proxytestinnermodel.cpp \
diff --git a/tests/auto/quick/qquicklistview/reusemodel.h b/tests/auto/quick/qquicklistview/reusemodel.h
new file mode 100644
index 0000000000..21e6739384
--- /dev/null
+++ b/tests/auto/quick/qquicklistview/reusemodel.h
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef REUSEMODEL_H
+#define REUSEMODEL_H
+
+#include <QAbstractListModel>
+#include <QList>
+#include <QStringList>
+
+class ReuseModel : public QAbstractListModel
+{
+ Q_OBJECT
+
+public:
+ ReuseModel(int rowCount, QObject *parent = nullptr)
+ : QAbstractListModel(parent)
+ , m_rowCount(rowCount)
+ {}
+
+ int rowCount(const QModelIndex & = QModelIndex()) const override
+ {
+ return m_rowCount;
+ }
+
+ QVariant data(const QModelIndex &index, int role) const override
+ {
+ if (!index.isValid())
+ return QVariant();
+
+ switch (role) {
+ case Qt::DisplayRole:
+ return displayStringForRow(index.row());
+ default:
+ break;
+ }
+
+ return QVariant();
+ }
+
+ QString displayStringForRow(int row) const
+ {
+ return row % 2 == 0 ?
+ QStringLiteral("Even%1").arg(row) :
+ QStringLiteral("Odd%1").arg(row);
+ }
+
+ QHash<int, QByteArray> roleNames() const override
+ {
+ return {
+ {Qt::DisplayRole, "display"},
+ };
+ }
+
+private:
+ int m_rowCount;
+};
+
+#endif
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index fb5ae168e8..e527853148 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -49,6 +49,7 @@
#include "incrementalmodel.h"
#include "proxytestinnermodel.h"
#include "randomsortmodel.h"
+#include "reusemodel.h"
#include <math.h>
Q_DECLARE_METATYPE(Qt::LayoutDirection)
@@ -268,6 +269,7 @@ private slots:
void QTBUG_61269_appendDuringScrollDown_data();
void QTBUG_50097_stickyHeader_positionViewAtIndex();
void QTBUG_63974_stickyHeader_positionViewAtIndex_Contain();
+ void QTBUG_66163_setModelViewPortSizeChange();
void itemFiltered();
void releaseItems();
@@ -280,9 +282,14 @@ private slots:
void setPositionOnLayout();
void touchCancel();
void resizeAfterComponentComplete();
+ void dragOverFloatingHeaderOrFooter();
void delegateWithRequiredProperties();
+ void reuse_reuseIsOffByDefault();
+ void reuse_checkThatItemsAreReused();
+ void moveObjectModelItemToAnotherObjectModel();
+
private:
template <class T> void items(const QUrl &source);
template <class T> void changed(const QUrl &source);
@@ -2901,7 +2908,11 @@ void tst_QQuickListView::currentIndex()
// empty model should reset currentIndex to -1
QaimModel emptyModel;
+ window->rootObject()->setProperty("currentItemChangedCount", QVariant(0));
+ QVERIFY(QQmlProperty(window->rootObject(), "s").read().toString() != QLatin1String("-1"));
ctxt->setContextProperty("testModel", &emptyModel);
+ QCOMPARE(QQmlProperty(window->rootObject(), "s").read().toString(), "-1");
+ QCOMPARE(window->rootObject()->property("currentItemChangedCount").toInt(), 1);
QCOMPARE(listview->currentIndex(), -1);
delete window;
@@ -8855,6 +8866,62 @@ void tst_QQuickListView::QTBUG_63974_stickyHeader_positionViewAtIndex_Contain()
QTRY_COMPARE(listview->contentY(), -headerSize);
}
+void tst_QQuickListView::QTBUG_66163_setModelViewPortSizeChange()
+{
+ QScopedPointer<QQuickView> window(createView());
+ QQmlComponent comp(window->engine());
+ comp.setData(R"(
+ import QtQuick 2.0
+
+ Item {
+ id: root
+ width: 400
+ height: 400
+
+ ListView {
+ id: view
+ objectName: "view"
+ anchors.fill: parent
+
+ model: 4
+ highlightRangeMode: ListView.StrictlyEnforceRange
+
+ delegate: Rectangle {
+ color: index % 2 ? "green" : "orange"
+ width: parent.width
+ height: 50
+ }
+
+ populate: Transition {
+ SequentialAnimation {
+ NumberAnimation { property: "y"; from: 100; duration: 1000 }
+ }
+ }
+ }
+ }
+ )", QUrl("testData"));
+ auto root {qobject_cast<QQuickItem*>(comp.create())};
+ QVERIFY(root);
+ window->setContent(QUrl(), &comp, root);
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+ auto view = root->findChild<QQuickListView *>("view");
+ QVERIFY(view);
+ QVERIFY(QQuickTest::qWaitForItemPolished(view));
+ QSignalSpy spy(view, &QQuickListView::contentYChanged);
+ auto transition = view->property("populate").value<QQuickTransition*>();
+ QVERIFY(transition);
+ QQmlProperty model(view, "model");
+ QVERIFY(model.isValid());
+ model.write(5);
+ // Animations inside a Transition do not emit a finished signal
+ // so we cannot wait for them in that way
+ QTest::qWait(1100); // animation takes 1000ms, + 10% extra delay
+ /* the viewport should not have changed, thus there should not have
+ been any contentYChanged signal*/
+ QCOMPARE(spy.count(), 0);
+}
+
void tst_QQuickListView::itemFiltered()
{
QStringListModel model(QStringList() << "one" << "two" << "three" << "four" << "five" << "six");
@@ -9158,6 +9225,196 @@ void tst_QQuickListView::delegateWithRequiredProperties()
}
}
+void tst_QQuickListView::reuse_reuseIsOffByDefault()
+{
+ // Check that delegate recycling is off by default. The reason is that
+ // ListView needs to be backwards compatible with legacy applications. And
+ // when using delegate recycling, there are certain differences, like that
+ // a delegates Component.onCompleted will just be called the first time the
+ // item is created, and not when it's reused.
+ QScopedPointer<QQuickView> window(createView());
+ window->setSource(testFileUrl("listviewtest.qml"));
+ window->resize(640, 480);
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+
+ QQuickListView *listView = findItem<QQuickListView>(window->rootObject(), "list");
+ QVERIFY(listView != nullptr);
+ QVERIFY(!listView->reuseItems());
+}
+
+void tst_QQuickListView::reuse_checkThatItemsAreReused()
+{
+ // Flick up and down one page of items. Check that this results in the
+ // delegate items being reused once.
+ // Note that this is slightly different from tableview, which will reuse the items
+ // twice during a similar down-then-up flick. The reason is that listview fills up
+ // free space in the view with items _before_ it release old items that have been
+ // flicked out. But changing this will break other auto tests (and perhaps legacy
+ // apps), so we have chosen to stick with this behavior for now.
+ QScopedPointer<QQuickView> window(createView());
+
+ ReuseModel model(100);
+ QQmlContext *ctxt = window->rootContext();
+ ctxt->setContextProperty("reuseModel", &model);
+
+ window->setSource(testFileUrl("reusedelegateitems.qml"));
+ window->resize(640, 480);
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+
+ QQuickListView *listView = findItem<QQuickListView>(window->rootObject(), "list");
+ QTRY_VERIFY(listView != nullptr);
+ const auto itemView_d = QQuickItemViewPrivate::get(listView);
+
+ QVERIFY(listView->reuseItems());
+
+ auto items = findItems<QQuickItem>(listView, "delegate");
+ const int initialItemCount = items.count();
+ QVERIFY(initialItemCount > 0);
+
+ // Sanity check that the size of the initial list of items match the count we tracked from QML
+ QCOMPARE(listView->property("delegatesCreatedCount").toInt(), initialItemCount);
+
+ // Go through all the initial items and check that they have not been reused yet
+ for (const auto item : qAsConst(items))
+ QCOMPARE(item->property("reusedCount").toInt(), 0);
+
+ // Flick one page down and count how many items we have created thus
+ // far. We expect this number to be twice as high as the initial count
+ // since we flicked one whole page.
+ const qreal delegateHeight = items.at(0)->height();
+ const qreal flickDistance = (initialItemCount * delegateHeight) + 1;
+ listView->setContentY(flickDistance);
+ QVERIFY(QQuickTest::qWaitForItemPolished(listView));
+ const int countAfterDownFlick = listView->property("delegatesCreatedCount").toInt();
+ QCOMPARE(countAfterDownFlick, initialItemCount * 2);
+
+ // Check that the reuse pool is now populated. We expect all initial items to be pooled,
+ // except model index 0, which was never reused or released, since it's ListView.currentItem.
+ const int poolSizeAfterDownFlick = itemView_d->model->poolSize();
+ QCOMPARE(poolSizeAfterDownFlick, initialItemCount - 1);
+
+ // Go through all items and check that all model data inside the delegate
+ // have values updated according to their model index. Since model roles
+ // like 'display' are injected into the context in a special way by the
+ // QML model classes, we need to catch it through a binding instead (which is
+ // OK, since then we can also check that bindings are updated when reused).
+ items = findItems<QQuickItem>(listView, "delegate");
+ for (const auto item : qAsConst(items)) {
+ const QString display = item->property("displayBinding").toString();
+ const int modelIndex = item->property("modelIndex").toInt();
+ QVERIFY(modelIndex >= initialItemCount);
+ QCOMPARE(display, model.displayStringForRow(modelIndex));
+ }
+
+ // Flick one page up. This time there shouldn't be any new items created, so
+ // delegatesCreatedCount should remain unchanged. But while we reuse all the items
+ // in the pool during the flick, we also fill it up again with all the items that
+ // were inside the page that was flicked out.
+ listView->setContentY(0);
+ QVERIFY(QQuickTest::qWaitForItemPolished(listView));
+ const int countAfterUpFlick = listView->property("delegatesCreatedCount").toInt();
+ const int poolSizeAfterUpFlick = itemView_d->model->poolSize();
+ QCOMPARE(countAfterUpFlick, countAfterDownFlick);
+ QCOMPARE(poolSizeAfterUpFlick, initialItemCount);
+
+ // Go through all items and check that they have been reused exactly once
+ // (except for ListView.currentItem, which was never released).
+ const auto listViewCurrentItem = listView->currentItem();
+ items = findItems<QQuickItem>(listView, "delegate");
+ for (const auto item : qAsConst(items)) {
+ const int reusedCount = item->property("reusedCount").toInt();
+ if (item == listViewCurrentItem)
+ QCOMPARE(reusedCount, 0);
+ else
+ QCOMPARE(reusedCount, 1);
+ }
+
+ // Go through all items again and check that all model data inside the delegate
+ // have correct values now that they have been reused.
+ items = findItems<QQuickItem>(listView, "delegate");
+ for (const auto item : qAsConst(items)) {
+ const QString display = item->property("displayBinding").toString();
+ const int modelIndex = item->property("modelIndex").toInt();
+ QVERIFY(modelIndex < initialItemCount);
+ QCOMPARE(display, model.displayStringForRow(modelIndex));
+ }
+}
+
+void tst_QQuickListView::dragOverFloatingHeaderOrFooter() // QTBUG-74046
+{
+ QQuickView *window = getView();
+ QQuickViewTestUtil::moveMouseAway(window);
+ window->setSource(testFileUrl("qtbug63974.qml"));
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window));
+
+ QQuickListView *listview = qmlobject_cast<QQuickListView *>(window->rootObject());
+ QVERIFY(listview);
+ QCOMPARE(listview->contentY(), -20);
+
+ // Drag downwards from the header: the list shouldn't move
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(10,10));
+ for (int i = 0; i < 10; ++i)
+ QTest::mouseMove(window, QPoint(10, 10 + i * 10));
+ QCOMPARE(listview->isMoving(), false);
+ QCOMPARE(listview->contentY(), -20);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier);
+
+ // Drag upwards from the footer: the list shouldn't move
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(10,190));
+ for (int i = 0; i < 10; ++i)
+ QTest::mouseMove(window, QPoint(10, 190 - i * 10));
+ QCOMPARE(listview->isMoving(), false);
+ QCOMPARE(listview->contentY(), -20);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier);
+
+ // Drag upwards from the middle: the list should move
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(10,100));
+ for (int i = 0; i < 10 && listview->contentY() == -20; ++i)
+ QTest::mouseMove(window, QPoint(10, 100 - i * 10));
+ QVERIFY(listview->isMoving());
+ QVERIFY(listview->contentY() > -20);
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier);
+
+ releaseView(window);
+}
+
+void tst_QQuickListView::moveObjectModelItemToAnotherObjectModel()
+{
+ QScopedPointer<QQuickView> window(createView());
+ window->setSource(testFileUrl("moveObjectModelItemToAnotherObjectModel.qml"));
+ QCOMPARE(window->status(), QQuickView::Ready);
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+
+ QObject *root = window->rootObject();
+ QVERIFY(root);
+
+ const QQuickListView *listView1 = root->property("listView1").value<QQuickListView*>();
+ QVERIFY(listView1);
+
+ const QQuickListView *listView2 = root->property("listView2").value<QQuickListView*>();
+ QVERIFY(listView2);
+
+ const QQuickItem *redRect = listView1->itemAtIndex(0);
+ QVERIFY(redRect);
+ QCOMPARE(redRect->objectName(), QString::fromLatin1("redRect"));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "moveRedRectToModel2"));
+ QVERIFY(QQuickTest::qIsPolishScheduled(listView2));
+ QVERIFY(QQuickTest::qWaitForItemPolished(listView2));
+ QVERIFY(redRect->isVisible());
+ QVERIFY(!QQuickItemPrivate::get(redRect)->culled);
+
+ QVERIFY(QMetaObject::invokeMethod(root, "moveRedRectToModel1"));
+ QVERIFY(QQuickTest::qIsPolishScheduled(listView1));
+ QVERIFY(QQuickTest::qWaitForItemPolished(listView1));
+ QVERIFY(redRect->isVisible());
+ QVERIFY(!QQuickItemPrivate::get(redRect)->culled);
+}
+
QTEST_MAIN(tst_QQuickListView)
#include "tst_qquicklistview.moc"
diff --git a/tests/auto/quick/qquickmousearea/BLACKLIST b/tests/auto/quick/qquickmousearea/BLACKLIST
deleted file mode 100644
index f2cb00225b..0000000000
--- a/tests/auto/quick/qquickmousearea/BLACKLIST
+++ /dev/null
@@ -1,4 +0,0 @@
-# QTBUG-78153
-[nestedStopAtBounds]
-opensuse-leap
-
diff --git a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp
index 54a29dbc7f..6efa2e6b3a 100644
--- a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp
+++ b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp
@@ -717,7 +717,7 @@ void tst_QQuickMouseArea::updateMouseAreaPosOnClick()
QCOMPARE(mouseRegion->mouseX(), rect->x());
QCOMPARE(mouseRegion->mouseY(), rect->y());
- QMouseEvent event(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent event(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &event);
QCOMPARE(mouseRegion->mouseX(), 100.0);
@@ -745,7 +745,7 @@ void tst_QQuickMouseArea::updateMouseAreaPosOnResize()
QCOMPARE(mouseRegion->mouseX(), 0.0);
QCOMPARE(mouseRegion->mouseY(), 0.0);
- QMouseEvent event(QEvent::MouseButtonPress, rect->position().toPoint(), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent event(QEvent::MouseButtonPress, rect->position().toPoint(), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &event);
QVERIFY(!mouseRegion->property("emitPositionChanged").toBool());
@@ -774,7 +774,7 @@ void tst_QQuickMouseArea::noOnClickedWithPressAndHold()
QQuickMouseArea *mouseArea = qobject_cast<QQuickMouseArea*>(window.rootObject()->children().first());
QVERIFY(mouseArea);
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QCOMPARE(mouseArea->pressedButtons(), Qt::LeftButton);
@@ -788,7 +788,7 @@ void tst_QQuickMouseArea::noOnClickedWithPressAndHold()
QVERIFY(!window.rootObject()->property("clicked").toBool());
QVERIFY(window.rootObject()->property("held").toBool());
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QTRY_VERIFY(window.rootObject()->property("held").toBool());
@@ -804,14 +804,14 @@ void tst_QQuickMouseArea::noOnClickedWithPressAndHold()
QVERIFY(QTest::qWaitForWindowExposed(&window));
QVERIFY(window.rootObject() != nullptr);
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QVERIFY(!window.rootObject()->property("clicked").toBool());
QTest::qWait(1000);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QVERIFY(window.rootObject()->property("clicked").toBool());
@@ -835,7 +835,7 @@ void tst_QQuickMouseArea::onMousePressRejected()
QVERIFY(!window.rootObject()->property("mr2_released").toBool());
QVERIFY(!window.rootObject()->property("mr2_canceled").toBool());
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QVERIFY(window.rootObject()->property("mr1_pressed").toBool());
@@ -847,7 +847,7 @@ void tst_QQuickMouseArea::onMousePressRejected()
QTest::qWait(200);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QVERIFY(window.rootObject()->property("mr1_released").toBool());
@@ -882,8 +882,8 @@ void tst_QQuickMouseArea::pressedCanceledOnWindowDeactivate()
QCOMPARE(window.rootObject()->property("clicked").toInt(), expectedClicks);
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent);
@@ -900,7 +900,7 @@ void tst_QQuickMouseArea::pressedCanceledOnWindowDeactivate()
QCOMPARE(window.rootObject()->property("clicked").toInt(), ++expectedClicks);
QGuiApplication::sendEvent(&window, &pressEvent);
- QMouseEvent pressEvent2(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent2(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent2);
QTRY_VERIFY(window.rootObject()->property("pressed").toBool());
@@ -953,16 +953,16 @@ void tst_QQuickMouseArea::doubleClick()
// The sequence for a double click is:
// press, release, (click), press, double click, release
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QCOMPARE(window.rootObject()->property("released").toInt(), 1);
QGuiApplication::sendEvent(&window, &pressEvent);
- pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, nullptr);
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QGuiApplication::sendEvent(&window, &releaseEvent);
@@ -988,10 +988,10 @@ void tst_QQuickMouseArea::clickTwice()
QVERIFY(mouseArea);
mouseArea->setAcceptedButtons(acceptedButtons);
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QCOMPARE(window.rootObject()->property("pressed").toInt(), 1);
@@ -999,7 +999,7 @@ void tst_QQuickMouseArea::clickTwice()
QCOMPARE(window.rootObject()->property("clicked").toInt(), 1);
QGuiApplication::sendEvent(&window, &pressEvent);
- pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, nullptr);
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QGuiApplication::sendEvent(&window, &releaseEvent);
@@ -1026,16 +1026,16 @@ void tst_QQuickMouseArea::invalidClick()
// The sequence for a double click is:
// press, release, (click), press, double click, release
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QCOMPARE(window.rootObject()->property("released").toInt(), 0);
QGuiApplication::sendEvent(&window, &pressEvent);
- pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, nullptr);
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), button, button, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QGuiApplication::sendEvent(&window, &releaseEvent);
@@ -1055,12 +1055,12 @@ void tst_QQuickMouseArea::pressedOrdering()
QCOMPARE(window.rootObject()->property("value").toString(), QLatin1String("base"));
- QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &pressEvent);
QCOMPARE(window.rootObject()->property("value").toString(), QLatin1String("pressed"));
- QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, nullptr);
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, {});
QGuiApplication::sendEvent(&window, &releaseEvent);
QCOMPARE(window.rootObject()->property("value").toString(), QLatin1String("toggled"));
@@ -1319,13 +1319,13 @@ void tst_QQuickMouseArea::hoverPropagation()
QCOMPARE(root->property("point1").toBool(), false);
QCOMPARE(root->property("point2").toBool(), false);
- QMouseEvent moveEvent(QEvent::MouseMove, QPoint(32, 32), Qt::NoButton, Qt::NoButton, nullptr);
+ QMouseEvent moveEvent(QEvent::MouseMove, QPoint(32, 32), Qt::NoButton, Qt::NoButton, {});
QGuiApplication::sendEvent(&window, &moveEvent);
QCOMPARE(root->property("point1").toBool(), true);
QCOMPARE(root->property("point2").toBool(), false);
- QMouseEvent moveEvent2(QEvent::MouseMove, QPoint(232, 32), Qt::NoButton, Qt::NoButton, nullptr);
+ QMouseEvent moveEvent2(QEvent::MouseMove, QPoint(232, 32), Qt::NoButton, Qt::NoButton, {});
QGuiApplication::sendEvent(&window, &moveEvent2);
QCOMPARE(root->property("point1").toBool(), false);
QCOMPARE(root->property("point2").toBool(), true);
@@ -1887,7 +1887,7 @@ void tst_QQuickMouseArea::nestedStopAtBounds()
QTest::mouseMove(&view, position);
axis += invert ? threshold : -threshold;
QTest::mouseMove(&view, position);
- QCOMPARE(outer->drag()->active(), true);
+ QTRY_COMPARE(outer->drag()->active(), true);
QCOMPARE(inner->drag()->active(), false);
QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, position);
diff --git a/tests/auto/quick/qquickmultipointtoucharea/tst_qquickmultipointtoucharea.cpp b/tests/auto/quick/qquickmultipointtoucharea/tst_qquickmultipointtoucharea.cpp
index e96b892b54..c18a220996 100644
--- a/tests/auto/quick/qquickmultipointtoucharea/tst_qquickmultipointtoucharea.cpp
+++ b/tests/auto/quick/qquickmultipointtoucharea/tst_qquickmultipointtoucharea.cpp
@@ -31,12 +31,15 @@
#include <private/qquickmultipointtoucharea_p.h>
#include <private/qquickflickable_p.h>
#include <private/qquickmousearea_p.h>
+#include <private/qquickwindow_p.h>
#include <qpa/qwindowsysteminterface.h>
#include <QtQuick/qquickview.h>
#include <QtGui/QScreen>
#include "../../shared/util.h"
#include "../shared/viewtestutil.h"
+Q_LOGGING_CATEGORY(lcTests, "qt.quick.tests")
+
class tst_QQuickMultiPointTouchArea : public QQmlDataTest
{
Q_OBJECT
@@ -62,6 +65,7 @@ private slots:
void nested();
void inFlickable();
void inFlickable2();
+ void inFlickableWithPressDelay();
void inMouseArea();
void mouseAsTouchpoint();
void invisible();
@@ -812,6 +816,68 @@ void tst_QQuickMultiPointTouchArea::inFlickable2()
QTRY_VERIFY(!flickable->isMoving());
}
+void tst_QQuickMultiPointTouchArea::inFlickableWithPressDelay() // QTBUG-78818
+{
+ const int dragThreshold = QGuiApplication::styleHints()->startDragDistance();
+ QScopedPointer<QQuickView> window(createAndShowView("inFlickable.qml"));
+ QVERIFY(window->rootObject() != nullptr);
+ QQuickWindowPrivate *windowPriv = QQuickWindowPrivate::get(window.data());
+
+ QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(window->rootObject());
+ QVERIFY(flickable != nullptr);
+ flickable->setPressDelay(50);
+
+ QQuickMultiPointTouchArea *mpta = window->rootObject()->findChild<QQuickMultiPointTouchArea*>();
+ QVERIFY(mpta != nullptr);
+ mpta->setMinimumTouchPoints(1);
+ QQuickTouchPoint *point11 = window->rootObject()->findChild<QQuickTouchPoint*>("point1");
+ QPoint p1(20,100);
+
+ // press: Flickable prevents delivery of TouchBegin, but sends mouse press instead, after the delay.
+ // MPTA handles the mouse press, and its first declared touchpoint is pressed.
+ QTest::touchEvent(window.data(), device).press(0, p1);
+ QQuickTouchUtils::flush(window.data());
+ QTRY_COMPARE(point11->pressed(), true);
+ auto pointerEvent = windowPriv->pointerEventInstance(QQuickPointerDevice::touchDevices().at(0));
+ QCOMPARE(pointerEvent->point(0)->exclusiveGrabber(), mpta);
+
+ // release: MPTA receives TouchEnd (which is asymmetric with mouse press); does NOT emit canceled.
+ QTest::touchEvent(window.data(), device).release(0, p1);
+ QQuickTouchUtils::flush(window.data());
+ QCOMPARE(flickable->property("cancelCount").toInt(), 0);
+
+ // press again
+ QTest::touchEvent(window.data(), device).press(0, p1);
+ QQuickTouchUtils::flush(window.data());
+ QTRY_COMPARE(point11->pressed(), true); // wait until pressDelay exceeded
+ QCOMPARE(pointerEvent->point(0)->exclusiveGrabber(), mpta);
+
+ // drag past the threshold: Flickable takes over the grab, MPTA gets touchUngrab and is no longer pressed
+ int i = 0;
+ for (; i < 10 && window->mouseGrabberItem() != flickable; ++i) {
+ p1 += QPoint(0,dragThreshold);
+ QTest::touchEvent(window.data(), device).move(0, p1);
+ QQuickTouchUtils::flush(window.data());
+ }
+ QCOMPARE(window->mouseGrabberItem(), flickable);
+ qCDebug(lcTests, "Flickable stole grab from MPTA after %d moves", i);
+ QCOMPARE(pointerEvent->point(0)->exclusiveGrabber(), flickable);
+ QCOMPARE(point11->pressed(), false);
+ QVERIFY(flickable->property("cancelCount").toInt() > 0); // actually 2 because 2 touchPoints are declared... but only one was really cancelled
+
+ // drag a little more and the Flickable moves
+ p1 += QPoint(0,1);
+ QTest::touchEvent(window.data(), device).move(0, p1);
+ QQuickTouchUtils::flush(window.data());
+ QVERIFY(flickable->contentY() < 0);
+ QVERIFY(flickable->isMoving());
+
+ QTest::touchEvent(window.data(), device).release(0, p1);
+ QQuickTouchUtils::flush(window.data());
+
+ QTRY_VERIFY(!flickable->isMoving());
+}
+
// QTBUG-31047
void tst_QQuickMultiPointTouchArea::inMouseArea()
{
diff --git a/tests/auto/quick/qquickpathview/data/ungrabNestedinFlickable.qml b/tests/auto/quick/qquickpathview/data/ungrabNestedinFlickable.qml
new file mode 100644
index 0000000000..4258d8fef4
--- /dev/null
+++ b/tests/auto/quick/qquickpathview/data/ungrabNestedinFlickable.qml
@@ -0,0 +1,75 @@
+import QtQuick 2.9
+
+Flickable {
+ width: 480
+ height: 480
+ contentX: 0
+ contentWidth: width
+ contentHeight: height
+ leftMargin: 408
+ rightMargin: 36
+ maximumFlickVelocity: 0
+ boundsBehavior: Flickable.StopAtBounds
+ flickableDirection: Flickable.HorizontalFlick
+
+ PathView {
+ id:pathView
+ objectName: "pathView"
+
+ property int countclick: 0
+
+ readonly property int contentsWidth: 348
+ readonly property int contentsHeight: 480
+
+ width: contentsWidth
+ height: contentsHeight
+
+ interactive: true
+
+ cacheItemCount: 10
+ currentIndex: 2
+ pathItemCount: 4
+ highlightMoveDuration: 300
+ highlightRangeMode : PathView.StrictlyEnforceRange
+ preferredHighlightBegin: 0.5
+ preferredHighlightEnd: 0.5
+ snapMode : PathView.SnapOneItem
+
+ path: Path {
+ startX: pathView.contentsWidth / 2 - 800
+ startY: pathView.contentsHeight / 2 - 800
+
+ PathArc {
+ x: pathView.contentsWidth / 2 - 800
+ y: pathView.contentsHeight / 2 + 800
+ radiusX: 800
+ radiusY: 800
+ direction: PathArc.Clockwise
+ }
+ }
+
+ model: ListModel {
+ ListElement { objectName:"aqua"; name: "aqua" ;mycolor:"aqua"}
+ ListElement { objectName:"blue"; name: "blue" ;mycolor:"blue"}
+ ListElement { objectName:"blueviolet"; name: "blueviolet" ;mycolor:"blueviolet"}
+ ListElement { objectName:"brown"; name: "brown" ;mycolor:"brown"}
+ ListElement { objectName:"chartreuse"; name: "chartreuse" ;mycolor:"chartreuse"}
+ }
+
+ delegate: Item {
+ id: revolveritem
+ objectName: model.objectName
+
+ width: pathView.contentsWidth
+ height: pathView.contentsHeight
+
+ Rectangle
+ {
+ id:myRectangle
+ color: mycolor
+ width: pathView.contentsWidth -20
+ height: pathView.contentsHeight -20
+ }
+ }
+ }
+}
diff --git a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp
index a8e847a5c7..8ba09fa509 100644
--- a/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp
+++ b/tests/auto/quick/qquickpathview/tst_qquickpathview.cpp
@@ -140,6 +140,7 @@ private slots:
void cacheItemCount();
void changePathDuringRefill();
void nestedinFlickable();
+ void ungrabNestedinFlickable();
void flickableDelegate();
void jsArrayChange();
void qtbug37815();
@@ -2413,6 +2414,40 @@ void tst_QQuickPathView::nestedinFlickable()
}
+void tst_QQuickPathView::ungrabNestedinFlickable()
+{
+ QScopedPointer<QQuickView> window(createView());
+ QQuickViewTestUtil::moveMouseAway(window.data());
+ window->setSource(testFileUrl("ungrabNestedinFlickable.qml"));
+ window->show();
+ window->requestActivate();
+ QVERIFY(QTest::qWaitForWindowActive(window.data()));
+ QCOMPARE(window.data(), qGuiApp->focusWindow());
+
+ QQuickPathView *pathview = findItem<QQuickPathView>(window->rootObject(), "pathView");
+ QVERIFY(pathview != nullptr);
+
+ double pathviewOffsetBefore = pathview->offset();
+
+ // Drag slowly upwards so that it does not flick, release, and let it start snapping back
+ QTest::mousePress(window.data(), Qt::LeftButton, 0, QPoint(200, 350));
+ for (int i = 0; i < 4; ++i)
+ QTest::mouseMove(window.data(), QPoint(200, 325 - i * 25), 500);
+ QTest::mouseRelease(window.data(), Qt::LeftButton, 0, QPoint(200, 250));
+ QCOMPARE(pathview->isMoving(), true);
+
+ // Press again to stop moving
+ QTest::mousePress(window.data(), Qt::LeftButton, 0, QPoint(200, 350));
+ QTRY_COMPARE(pathview->isMoving(), false);
+
+ // Cancel the grab, wait for movement to stop, and expect it to snap to
+ // the nearest delegate, which should be at the same offset as where we started
+ pathview->ungrabMouse();
+ QTRY_COMPARE(pathview->offset(), pathviewOffsetBefore);
+ QCOMPARE(pathview->isMoving(), false);
+ QTest::mouseRelease(window.data(), Qt::LeftButton, 0, QPoint(200, 350));
+}
+
void tst_QQuickPathView::flickableDelegate()
{
QScopedPointer<QQuickView> window(createView());
diff --git a/tests/auto/quick/qquickpixmapcache/tst_qquickpixmapcache.cpp b/tests/auto/quick/qquickpixmapcache/tst_qquickpixmapcache.cpp
index bffaaf7c6e..164b84611c 100644
--- a/tests/auto/quick/qquickpixmapcache/tst_qquickpixmapcache.cpp
+++ b/tests/auto/quick/qquickpixmapcache/tst_qquickpixmapcache.cpp
@@ -431,7 +431,7 @@ void tst_qquickpixmapcache::uncached()
QUrl url("image://mypixmaps/mypix");
{
QQuickPixmap p;
- p.load(&engine, url, nullptr);
+ p.load(&engine, url, QQuickPixmap::Options{});
QImage img = p.image();
QCOMPARE(img.pixel(0,0), qRgb(255, 0, 0));
}
@@ -440,7 +440,7 @@ void tst_qquickpixmapcache::uncached()
MyPixmapProvider::fillColor = qRgb(0, 255, 0);
{
QQuickPixmap p;
- p.load(&engine, url, nullptr);
+ p.load(&engine, url, QQuickPixmap::Options{});
QImage img = p.image();
QCOMPARE(img.pixel(0,0), qRgb(0, 255, 0));
}
@@ -458,7 +458,7 @@ void tst_qquickpixmapcache::uncached()
MyPixmapProvider::fillColor = qRgb(255, 0, 255);
{
QQuickPixmap p;
- p.load(&engine, url, nullptr);
+ p.load(&engine, url, QQuickPixmap::Options{});
QImage img = p.image();
QCOMPARE(img.pixel(0,0), qRgb(255, 0, 255));
}
diff --git a/tests/auto/quick/qquickrepeater/data/contextProperty.qml b/tests/auto/quick/qquickrepeater/data/contextProperty.qml
new file mode 100644
index 0000000000..44e76f474f
--- /dev/null
+++ b/tests/auto/quick/qquickrepeater/data/contextProperty.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.14
+
+Item {
+ Column {
+ Repeater {
+ model: ["apples", "oranges", "pears"]
+ Text {
+ id: txt
+ text: modelData + index
+ }
+ }
+ }
+}
diff --git a/tests/auto/quick/qquickrepeater/tst_qquickrepeater.cpp b/tests/auto/quick/qquickrepeater/tst_qquickrepeater.cpp
index ccfef63902..33b8742170 100644
--- a/tests/auto/quick/qquickrepeater/tst_qquickrepeater.cpp
+++ b/tests/auto/quick/qquickrepeater/tst_qquickrepeater.cpp
@@ -81,6 +81,7 @@ private slots:
void package();
void ownership();
void requiredProperties();
+ void contextProperties();
};
class TestObject : public QObject
@@ -1131,6 +1132,29 @@ void tst_QQuickRepeater::requiredProperties()
QVERIFY(o);
}
+void tst_QQuickRepeater::contextProperties()
+{
+ QQmlEngine engine;
+
+ QQmlComponent component(&engine, testFileUrl("contextProperty.qml"));
+ QScopedPointer<QObject> o {component.create()};
+ QVERIFY(o);
+
+ auto *root = qobject_cast<QQuickItem *>(o.get());
+ QVERIFY(root);
+
+ QQueue<QQuickItem *> items;
+ items.append(root);
+
+ while (!items.isEmpty()) {
+ QQuickItem *item = items.dequeue();
+ QQmlContextData *data = QQmlContextData::get(qmlContext(item));
+ QVERIFY(!data->hasExtraObject);
+ for (QQuickItem *child : item->childItems())
+ items.enqueue(child);
+ }
+}
+
QTEST_MAIN(tst_QQuickRepeater)
#include "tst_qquickrepeater.moc"
diff --git a/tests/auto/quick/qquicktableview/data/checkalwaysemit.qml b/tests/auto/quick/qquicktableview/data/checkalwaysemit.qml
new file mode 100644
index 0000000000..33db6f6d02
--- /dev/null
+++ b/tests/auto/quick/qquicktableview/data/checkalwaysemit.qml
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQuick module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.12
+import QtQuick.Window 2.3
+
+Item {
+ width: 640
+ height: 450
+
+ property alias tableView: tableView
+ property real delegateWidth: 100
+ property real delegateHeight: 50
+ property Component delegate: tableViewDelegate
+ property bool delegateParentSetBeforeCompleted: false
+
+ TableView {
+ id: tableView
+ width: 600
+ height: 400
+ anchors.margins: 1
+ clip: true
+ delegate: tableViewDelegate
+ columnSpacing: 1
+ rowSpacing: 1
+ }
+
+ Component {
+ id: tableViewDelegate
+ Rectangle {
+ objectName: "tableViewDelegate"
+ implicitWidth: delegateWidth
+ implicitHeight: delegateHeight
+ color: "lightgray"
+ border.width: 1
+
+ property string modelDataFromIndex: tableView.model.dataFromSerializedIndex(index)
+ property string modelDataBinding: modelData
+
+ Text {
+ anchors.centerIn: parent
+ text: modelData
+ }
+
+ Component.onCompleted: {
+ delegateParentSetBeforeCompleted = parent != null;
+ }
+ }
+ }
+
+}
diff --git a/tests/auto/quick/qquicktableview/data/replaceModelTableView.qml b/tests/auto/quick/qquicktableview/data/replaceModelTableView.qml
new file mode 100644
index 0000000000..cc109bb469
--- /dev/null
+++ b/tests/auto/quick/qquicktableview/data/replaceModelTableView.qml
@@ -0,0 +1,56 @@
+import QtQuick 2.14
+import QtQml.Models 2.14
+
+Item {
+ id: root
+ visible: true
+ width: 640
+ height: 480
+
+ property alias tableView: tv
+ property alias objectModel: om
+ property alias listModel: lm
+ property alias delegateModel: dm
+
+ ObjectModel {
+ id: om
+ Rectangle { implicitHeight: 30; implicitWidth: 80; color: "red" }
+ Rectangle { implicitHeight: 30; implicitWidth: 80; color: "green" }
+ Rectangle { implicitHeight: 30; implicitWidth: 80; color: "blue" }
+ }
+
+ ListModel {
+ id: lm
+ ListElement { name: "1" }
+ ListElement { name: "44"}
+ }
+
+ DelegateModel {
+ id: dm
+ model: ListModel {
+ ListElement { name: "Apple" }
+ ListElement { name: "Orange" }
+ }
+ delegate: Rectangle {
+ implicitHeight: 25
+ implicitWidth: 100
+ Text { text: "Name: " + name}
+ }
+ }
+ TableView {
+ id: tv
+ visible: true
+ anchors.fill: parent
+
+ delegate: Rectangle {
+ id: dlg
+ implicitWidth: 40
+ implicitHeight: 20
+ color: "red"
+ Text {
+ text: qsTr("name: " + name)
+ }
+ border.color: "green"
+ }
+ }
+}
diff --git a/tests/auto/quick/qquicktableview/qquicktableview.pro b/tests/auto/quick/qquicktableview/qquicktableview.pro
index da0c0b01d0..735c728fc6 100644
--- a/tests/auto/quick/qquicktableview/qquicktableview.pro
+++ b/tests/auto/quick/qquicktableview/qquicktableview.pro
@@ -13,3 +13,5 @@ TESTDATA = data/*
QT += core-private gui-private qml-private quick-private testlib qmlmodels-private
+DISTFILES +=
+
diff --git a/tests/auto/quick/qquicktableview/testmodel.h b/tests/auto/quick/qquicktableview/testmodel.h
index 50f434019e..2697b1e801 100644
--- a/tests/auto/quick/qquicktableview/testmodel.h
+++ b/tests/auto/quick/qquicktableview/testmodel.h
@@ -46,6 +46,13 @@ public:
, m_columns(columns)
{}
+ TestModel(int rows, int columns, bool dataCanBeFetched, QObject *parent = nullptr)
+ : QAbstractTableModel(parent)
+ , m_rows(rows)
+ , m_columns(columns)
+ , m_dataCanBeFetched(dataCanBeFetched)
+ {}
+
int rowCount(const QModelIndex & = QModelIndex()) const override { return m_rows; }
void setRowCount(int count) { beginResetModel(); m_rows = count; emit rowCountChanged(); endResetModel(); }
@@ -63,6 +70,13 @@ public:
return QStringLiteral("%1").arg(index.row());
}
+ Q_INVOKABLE QVariant dataFromSerializedIndex(int index) const
+ {
+ if (modelData.contains(index))
+ return modelData.value(index);
+ return QString();
+ }
+
QHash<int, QByteArray> roleNames() const override
{
return { {Qt::DisplayRole, "display"} };
@@ -102,6 +116,12 @@ public:
beginRemoveRows(parent, row, row + count - 1);
m_rows -= count;
+ for (int c = 0; c < m_columns; ++c) {
+ for (int r = 0; r < count; ++r) {
+ const int serializedIndex = (row + r) + (c * m_rows);
+ modelData.remove(serializedIndex);
+ }
+ }
endRemoveRows();
return true;
}
@@ -128,6 +148,12 @@ public:
return true;
}
+ bool canFetchMore(const QModelIndex &parent) const override
+ {
+ Q_UNUSED(parent)
+ return m_dataCanBeFetched;
+ }
+
void swapRows(int row1, int row2)
{
layoutAboutToBeChanged();
@@ -139,6 +165,12 @@ public:
layoutChanged();
}
+ void fetchMore(const QModelIndex &parent) override
+ {
+ Q_UNUSED(parent)
+ addRow(m_rows - 1);
+ }
+
void clear() {
beginResetModel();
m_rows = 0;
@@ -159,6 +191,7 @@ signals:
private:
int m_rows = 0;
int m_columns = 0;
+ bool m_dataCanBeFetched = false;
QHash<int, QString> modelData;
};
diff --git a/tests/auto/quick/qquicktableview/tst_qquicktableview.cpp b/tests/auto/quick/qquicktableview/tst_qquicktableview.cpp
index 230dcc9446..ef39a91a65 100644
--- a/tests/auto/quick/qquicktableview/tst_qquicktableview.cpp
+++ b/tests/auto/quick/qquicktableview/tst_qquicktableview.cpp
@@ -60,7 +60,7 @@ Q_DECLARE_METATYPE(QMarginsF);
auto PROPNAME = view->rootObject()->property(#PROPNAME).value<QQuickTableView *>(); \
QVERIFY(PROPNAME); \
auto PROPNAME ## Private = QQuickTableViewPrivate::get(PROPNAME); \
- Q_UNUSED(PROPNAME ## Private)
+ Q_UNUSED(PROPNAME ## Private) void()
#define LOAD_TABLEVIEW(fileName) \
view->setSource(testFileUrl(fileName)); \
@@ -120,6 +120,7 @@ private slots:
void checkRowHeightProviderNotCallable();
void checkForceLayoutFunction();
void checkForceLayoutEndUpDoingALayout();
+ void checkForceLayoutDuringModelChange();
void checkContentWidthAndHeight();
void checkPageFlicking();
void checkExplicitContentWidthAndHeight();
@@ -159,6 +160,7 @@ private slots:
void checkContextPropertiesQQmlListProperyModel_data();
void checkContextPropertiesQQmlListProperyModel();
void checkRowAndColumnChangedButNotIndex();
+ void checkThatWeAlwaysEmitChangedUponItemReused();
void checkChangingModelFromDelegate();
void checkRebuildViewportOnly();
void useDelegateChooserWithoutDefault();
@@ -174,6 +176,8 @@ private slots:
void checkSyncView_connect_late_data();
void checkSyncView_connect_late();
void delegateWithRequiredProperties();
+ void checkThatFetchMoreIsCalledWhenScrolledToTheEndOfTable();
+ void replaceModel();
};
tst_QQuickTableView::tst_QQuickTableView()
@@ -390,7 +394,7 @@ void tst_QQuickTableView::checkColumnWidthProviderInvalidReturnValues()
tableView->setModel(model);
- QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*implicitHeight.*zero"));
+ QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*implicit.*zero"));
WAIT_UNTIL_POLISHED;
@@ -487,7 +491,7 @@ void tst_QQuickTableView::checkRowHeightProviderInvalidReturnValues()
tableView->setModel(model);
- QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*implicitHeight.*zero"));
+ QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*implicit.*zero"));
WAIT_UNTIL_POLISHED;
@@ -588,6 +592,29 @@ void tst_QQuickTableView::checkForceLayoutEndUpDoingALayout()
QCOMPARE(fxItem->item->height(), newDelegateSize);
}
+void tst_QQuickTableView::checkForceLayoutDuringModelChange()
+{
+ // Check that TableView doesn't assert if we call
+ // forceLayout() in the middle of a model change.
+ LOAD_TABLEVIEW("plaintableview.qml");
+
+ const int initialRowCount = 10;
+ TestModel model(initialRowCount, 10);
+ tableView->setModel(QVariant::fromValue(&model));
+
+ connect(&model, &QAbstractItemModel::rowsInserted, [=](){
+ QCOMPARE(tableView->rows(), initialRowCount);
+ tableView->forceLayout();
+ QCOMPARE(tableView->rows(), initialRowCount + 1);
+ });
+
+ WAIT_UNTIL_POLISHED;
+
+ QCOMPARE(tableView->rows(), initialRowCount);
+ model.addRow(0);
+ QCOMPARE(tableView->rows(), initialRowCount + 1);
+}
+
void tst_QQuickTableView::checkContentWidthAndHeight()
{
// Check that contentWidth/Height reports the correct size of the
@@ -2060,6 +2087,41 @@ void tst_QQuickTableView::checkRowAndColumnChangedButNotIndex()
QCOMPARE(contextColumn, 1);
}
+void tst_QQuickTableView::checkThatWeAlwaysEmitChangedUponItemReused()
+{
+ // Check that we always emit changes to index when we reuse an item, even
+ // if it doesn't change. This is needed since the model can have changed
+ // row or column count while the item was in the pool, which means that
+ // any data referred to by the index property inside the delegate
+ // will change too. So we need to refresh any bindings to index.
+ // QTBUG-79209
+ LOAD_TABLEVIEW("checkalwaysemit.qml");
+
+ TestModel model(1, 1);
+ tableView->setModel(QVariant::fromValue(&model));
+ model.setModelData(QPoint(0, 0), QSize(1, 1), "old value");
+
+ WAIT_UNTIL_POLISHED;
+
+ const auto reuseItem = tableViewPrivate->loadedTableItem(QPoint(0, 0))->item;
+ const auto context = qmlContext(reuseItem.data());
+
+ // Remove the cell/row that has "old value" as model data, and
+ // add a new one right after. The new cell will have the same
+ // index, but with no model data assigned.
+ // This change will not be detected by items in the pool. But since
+ // we emit indexChanged when the item is reused, it will be updated then.
+ model.removeRow(0);
+ model.insertRow(0);
+
+ WAIT_UNTIL_POLISHED;
+
+ QCOMPARE(context->contextProperty("index").toInt(), 0);
+ QCOMPARE(context->contextProperty("row").toInt(), 0);
+ QCOMPARE(context->contextProperty("column").toInt(), 0);
+ QCOMPARE(context->contextProperty("modelDataFromIndex").toString(), "");
+}
+
void tst_QQuickTableView::checkChangingModelFromDelegate()
{
// Check that we don't restart a rebuild of the table
@@ -2617,7 +2679,27 @@ void tst_QQuickTableView::checkSyncView_connect_late()
QCOMPARE(tableViewVPrivate->loadedTableOuterRect.left(), 0);
QCOMPARE(tableViewHVPrivate->loadedTableOuterRect, tableViewPrivate->loadedTableOuterRect);
+}
+
+void tst_QQuickTableView::checkThatFetchMoreIsCalledWhenScrolledToTheEndOfTable()
+{
+ LOAD_TABLEVIEW("plaintableview.qml");
+
+ auto model = TestModelAsVariant(5, 5, true);
+ tableView->setModel(model);
+ WAIT_UNTIL_POLISHED;
+
+ QCOMPARE(tableView->rows(), 5);
+ QCOMPARE(tableView->columns(), 5);
+ // Flick table out of view on top
+ tableView->setContentX(0);
+ tableView->setContentY(-tableView->height() - 10);
+ tableView->polish();
+ WAIT_UNTIL_POLISHED;
+
+ QCOMPARE(tableView->rows(), 6);
+ QCOMPARE(tableView->columns(), 5);
}
void tst_QQuickTableView::delegateWithRequiredProperties()
@@ -2648,7 +2730,7 @@ void tst_QQuickTableView::delegateWithRequiredProperties()
auto model = QVariant::fromValue(QSharedPointer<MyTable>(new MyTable));
{
QTest::ignoreMessage(QtMsgType::QtInfoMsg, "success");
- LOAD_TABLEVIEW("delegateWithRequired.qml")
+ LOAD_TABLEVIEW("delegateWithRequired.qml");
QVERIFY(tableView);
tableView->setModel(model);
WAIT_UNTIL_POLISHED;
@@ -2656,7 +2738,7 @@ void tst_QQuickTableView::delegateWithRequiredProperties()
}
{
QTest::ignoreMessage(QtMsgType::QtWarningMsg, QRegularExpression(R"|(TableView: failed loading index: \d)|"));
- LOAD_TABLEVIEW("delegatewithRequiredUnset.qml")
+ LOAD_TABLEVIEW("delegatewithRequiredUnset.qml");
QVERIFY(tableView);
tableView->setModel(model);
WAIT_UNTIL_POLISHED;
@@ -2664,6 +2746,28 @@ void tst_QQuickTableView::delegateWithRequiredProperties()
}
}
+void tst_QQuickTableView::replaceModel()
+{
+ LOAD_TABLEVIEW("replaceModelTableView.qml");
+
+ const auto objectModel = view->rootObject()->property("objectModel");
+ const auto listModel = view->rootObject()->property("listModel");
+ const auto delegateModel = view->rootObject()->property("delegateModel");
+
+ tableView->setModel(listModel);
+ QTRY_COMPARE(tableView->rows(), 2);
+ tableView->setModel(objectModel);
+ QTRY_COMPARE(tableView->rows(), 3);
+ tableView->setModel(delegateModel);
+ QTRY_COMPARE(tableView->rows(), 2);
+ tableView->setModel(listModel);
+ QTRY_COMPARE(tableView->rows(), 2);
+ tableView->setModel(QVariant());
+ QTRY_COMPARE(tableView->rows(), 0);
+ QCOMPARE(tableView->contentWidth(), 0);
+ QCOMPARE(tableView->contentHeight(), 0);
+}
+
QTEST_MAIN(tst_QQuickTableView)
#include "tst_qquicktableview.moc"
diff --git a/tests/auto/quick/qquicktextedit/BLACKLIST b/tests/auto/quick/qquicktextedit/BLACKLIST
index 9df9c7d75a..36c7f0042f 100644
--- a/tests/auto/quick/qquicktextedit/BLACKLIST
+++ b/tests/auto/quick/qquicktextedit/BLACKLIST
@@ -1,2 +1,6 @@
[mouseSelection]
opensuse-leap
+
+# QTBUG-78846
+[mouseSelectionMode]
+opensuse-leap
diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
index d03441e052..85342d4c1e 100644
--- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
+++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
@@ -226,7 +226,7 @@ private:
void simulateKeys(QWindow *window, const QKeySequence &sequence);
#endif
- void simulateKey(QWindow *, int key, Qt::KeyboardModifiers modifiers = nullptr);
+ void simulateKey(QWindow *, int key, Qt::KeyboardModifiers modifiers = {});
QStringList standard;
QStringList richText;
@@ -1389,7 +1389,7 @@ void tst_qquicktextedit::focusOnPress()
QCOMPARE(textEditObject->hasActiveFocus(), false);
QPoint centerPoint(window.width()/2, window.height()/2);
- Qt::KeyboardModifiers noModifiers = nullptr;
+ Qt::KeyboardModifiers noModifiers;
QTest::mousePress(&window, Qt::LeftButton, noModifiers, centerPoint);
QGuiApplication::processEvents();
QCOMPARE(textEditObject->hasFocus(), true);
diff --git a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
index 1d12121a6f..2e64c80b85 100644
--- a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
+++ b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp
@@ -2073,11 +2073,15 @@ void tst_qquicktextinput::validators()
QTest::keyPress(&window, Qt::Key_Comma);
QTest::keyRelease(&window, Qt::Key_Comma, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12,"));
- QCOMPARE(dblInput->hasAcceptableInput(), true);
- QTest::keyPress(&window, Qt::Key_1);
- QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
- QTRY_COMPARE(dblInput->text(), QLatin1String("12,"));
- QCOMPARE(dblInput->hasAcceptableInput(), true);
+ int extraSignals = 2;
+ if (dblInput->hasAcceptableInput()) {
+ // TODO: old behavior of QDoubleValidator - remove when merged from qtbase
+ QTest::keyPress(&window, Qt::Key_1);
+ QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
+ QTRY_COMPARE(dblInput->text(), QLatin1String("12,"));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+ extraSignals = 0;
+ }
dblValidator->setLocaleName(deLocale.name());
QCOMPARE(dblInput->hasAcceptableInput(), true);
QTest::keyPress(&window, Qt::Key_1);
@@ -2106,84 +2110,84 @@ void tst_qquicktextinput::validators()
QTRY_COMPARE(dblInput->text(), QLatin1String("12."));
QCOMPARE(dblInput->hasAcceptableInput(), true);
QCOMPARE(dblInput->property("acceptable").toBool(), true);
- QCOMPARE(dblSpy.count(), 1);
+ QCOMPARE(dblSpy.count(), 1 + extraSignals);
QTest::keyPress(&window, Qt::Key_1);
QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.1"));
QCOMPARE(dblInput->hasAcceptableInput(), true);
QCOMPARE(dblInput->property("acceptable").toBool(), true);
- QCOMPARE(dblSpy.count(), 1);
+ QCOMPARE(dblSpy.count(), 1 + extraSignals);
QTest::keyPress(&window, Qt::Key_1);
QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.11"));
QCOMPARE(dblInput->hasAcceptableInput(), true);
QCOMPARE(dblInput->property("acceptable").toBool(), true);
- QCOMPARE(dblSpy.count(), 1);
+ QCOMPARE(dblSpy.count(), 1 + extraSignals);
QTest::keyPress(&window, Qt::Key_1);
QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.11"));
QCOMPARE(dblInput->hasAcceptableInput(), true);
QCOMPARE(dblInput->property("acceptable").toBool(), true);
- QCOMPARE(dblSpy.count(), 1);
+ QCOMPARE(dblSpy.count(), 1 + extraSignals);
// Ensure the validator doesn't prevent characters being removed.
dblInput->setValidator(intInput->validator());
QCOMPARE(dblInput->text(), QLatin1String("12.11"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_Backspace);
QTest::keyRelease(&window, Qt::Key_Backspace, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.1"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
// Once unacceptable input is in anything goes until it reaches an acceptable state again.
QTest::keyPress(&window, Qt::Key_1);
QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.11"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_Backspace);
QTest::keyRelease(&window, Qt::Key_Backspace, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12.1"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_Backspace);
QTest::keyRelease(&window, Qt::Key_Backspace, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12."));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_Backspace);
QTest::keyRelease(&window, Qt::Key_Backspace, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("12"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_Backspace);
QTest::keyRelease(&window, Qt::Key_Backspace, Qt::NoModifier);
QTRY_COMPARE(dblInput->text(), QLatin1String("1"));
QCOMPARE(dblInput->hasAcceptableInput(), false);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
- QCOMPARE(dblSpy.count(), 2);
+ QCOMPARE(dblSpy.count(), 2 + extraSignals);
QTest::keyPress(&window, Qt::Key_1);
QTest::keyRelease(&window, Qt::Key_1, Qt::NoModifier);
QCOMPARE(dblInput->text(), QLatin1String("11"));
QCOMPARE(dblInput->property("acceptable").toBool(), true);
QCOMPARE(dblInput->hasAcceptableInput(), true);
- QCOMPARE(dblSpy.count(), 3);
+ QCOMPARE(dblSpy.count(), 3 + extraSignals);
// Changing the validator properties will re-evaluate whether the input is acceptable.
intValidator->setTop(10);
QCOMPARE(dblInput->property("acceptable").toBool(), false);
QCOMPARE(dblInput->hasAcceptableInput(), false);
- QCOMPARE(dblSpy.count(), 4);
+ QCOMPARE(dblSpy.count(), 4 + extraSignals);
intValidator->setTop(12);
QCOMPARE(dblInput->property("acceptable").toBool(), true);
QCOMPARE(dblInput->hasAcceptableInput(), true);
- QCOMPARE(dblSpy.count(), 5);
+ QCOMPARE(dblSpy.count(), 5 + extraSignals);
QQuickTextInput *strInput = qobject_cast<QQuickTextInput *>(qvariant_cast<QObject *>(window.rootObject()->property("strInput")));
QVERIFY(strInput);
@@ -6408,8 +6412,20 @@ void tst_qquicktextinput::setInputMask_data()
QTest::newRow(QString(insert_mode + "blank=input").toLatin1())
<< QString("9999;0")
<< QString("2004")
+ << QString("24")
<< QString("2004")
- << QString("2004")
+ << bool(insert_text);
+ QTest::newRow(QString(insert_mode + "any_opt").toLatin1())
+ << QString("@xxx@")
+ << QString("@A C@")
+ << QString("@AC@")
+ << QString("@A C@")
+ << bool(insert_text);
+ QTest::newRow(QString(insert_mode + "any_req").toLatin1())
+ << QString("@XXX@")
+ << QString("@A C@")
+ << QString("@AC@@")
+ << QString("@AC@@")
<< bool(insert_text);
}
}
@@ -6428,6 +6444,14 @@ void tst_qquicktextinput::setInputMask()
QQuickTextInput *textInput = qobject_cast<QQuickTextInput*>(textInputComponent.create());
QVERIFY(textInput != nullptr);
+ // [QTBUG-80190] check if setting the same property value again doesn't emit an
+ // inputMaskChanged signal
+ QString unescapedMask = mask; // mask is escaped, because '\' is also escape in a JS string
+ unescapedMask.replace(QLatin1String("\\\\"), QLatin1String("\\")); // simple unescape
+ QSignalSpy spy(textInput, SIGNAL(inputMaskChanged(const QString &)));
+ textInput->setInputMask(unescapedMask);
+ QCOMPARE(spy.count(), 0);
+
// then either insert using insert() or keyboard
if (insert_text) {
textInput->insert(0, input);
@@ -6444,9 +6468,6 @@ void tst_qquicktextinput::setInputMask()
QTest::keyClick(&window, input.at(i).toLatin1());
}
- QEXPECT_FAIL( "keys blank=input", "To eat blanks or not? Known issue. Task 43172", Abort);
- QEXPECT_FAIL( "insert blank=input", "To eat blanks or not? Known issue. Task 43172", Abort);
-
QCOMPARE(textInput->text(), expectedText);
QCOMPARE(textInput->displayText(), expectedDisplay);
}
diff --git a/tests/auto/quick/qquickvisualdatamodel/data/filterGroupForDelegate.qml b/tests/auto/quick/qquickvisualdatamodel/data/filterGroupForDelegate.qml
new file mode 100644
index 0000000000..d72ca51d7f
--- /dev/null
+++ b/tests/auto/quick/qquickvisualdatamodel/data/filterGroupForDelegate.qml
@@ -0,0 +1,77 @@
+import QtQml.Models 2.12
+import Qt.labs.qmlmodels 1.0
+import QtQuick 2.12
+
+Item {
+ id: root
+ width: 200
+ height: 320
+
+ property int numChanges: 0
+ property bool ok: true
+
+ DelegateModel {
+ id: theModel
+
+ model: ListModel {
+ ListElement { role: "section" }
+ ListElement { role: "item" }
+ ListElement { role: "section" }
+ ListElement { role: "item" }
+ ListElement { role: "section" }
+ ListElement { role: "item" }
+ ListElement { role: "item" }
+ ListElement { role: "item" }
+ }
+
+ filterOnGroup: "expanded"
+ groups: DelegateModelGroup {
+ name: "expanded"
+ }
+
+ delegate: DelegateChooser {
+ role: "role"
+
+ DelegateChoice {
+ roleValue: "section"
+ Text {
+ text: "+ Section " + index
+
+ Timer {
+ interval: (index + 10)
+ repeat: true
+ running: true
+ onTriggered: {
+ ++ root.numChanges;
+ if (model.role !== "section") {
+ root.ok = false;
+ console.warn("wrong!", root.numChanges);
+ }
+ let i = parent.DelegateModel.itemsIndex + 1;
+ for (; i < theModel.items.count; ++i) {
+ let item = theModel.items.get(i);
+ if (item.model.role === "section")
+ break;
+ item.inExpanded = !item.inExpanded;
+ }
+ }
+ }
+ }
+ }
+
+ DelegateChoice {
+ roleValue: "item"
+ Text {
+ text: "Item " + index
+ }
+ }
+ }
+
+ Component.onCompleted: items.addGroups(0, items.count, ["expanded"])
+ }
+
+ ListView {
+ anchors.fill: parent
+ model: theModel
+ }
+}
diff --git a/tests/auto/quick/qquickvisualdatamodel/data/readFromProxyObject.qml b/tests/auto/quick/qquickvisualdatamodel/data/readFromProxyObject.qml
new file mode 100644
index 0000000000..3983c707a1
--- /dev/null
+++ b/tests/auto/quick/qquickvisualdatamodel/data/readFromProxyObject.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.15
+import QtQuick.Window 2.15
+
+Window {
+ id: window
+ width: 200
+ height: 200
+ color: "red"
+ visible: true
+ Repeater {
+ model: Qt.application.screens
+ Text {
+ required property string name
+ required property int virtualX
+ required property int virtualY
+
+ text: name + virtualX + ", " + virtualY
+ Component.onCompleted: window.name = name
+ }
+ }
+
+ property string name: "wrong"
+}
diff --git a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp
index fe56cad018..66069c48cb 100644
--- a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp
+++ b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp
@@ -433,6 +433,8 @@ private slots:
void invalidContext();
void externalManagedModel();
void delegateModelChangeDelegate();
+ void checkFilterGroupForDelegate();
+ void readFromProxyObject();
private:
template <int N> void groups_verify(
@@ -4342,6 +4344,34 @@ void tst_qquickvisualdatamodel::delegateModelChangeDelegate()
QCOMPARE(visualModel->count(), 3);
}
+void tst_qquickvisualdatamodel::checkFilterGroupForDelegate()
+{
+ QQuickView view;
+ view.setSource(testFileUrl("filterGroupForDelegate.qml"));
+ view.show();
+
+ QQuickItem *obj = view.rootObject();
+ QVERIFY(obj);
+
+ QTRY_VERIFY(obj->property("numChanges").toInt() > 100);
+ QVERIFY(obj->property("ok").toBool());
+}
+
+void tst_qquickvisualdatamodel::readFromProxyObject()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFileUrl("readFromProxyObject.qml"));
+
+ QScopedPointer<QObject> obj(component.create());
+ QVERIFY(obj);
+
+ auto *window = qobject_cast<QQuickWindow *>(obj.get());
+ QVERIFY(window);
+
+ QCOMPARE(window->property("name").type(), QMetaType::QString);
+ QTRY_VERIFY(window->property("name").toString() != QLatin1String("wrong"));
+}
+
QTEST_MAIN(tst_qquickvisualdatamodel)
#include "tst_qquickvisualdatamodel.moc"
diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 7faa621e86..5b6b11c746 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -73,7 +73,7 @@ static QTouchEvent::TouchPoint makeTouchPoint(QQuickItem *item, const QPointF &p
return tp;
}
-static TouchEventData makeTouchData(QEvent::Type type, QWindow *w, Qt::TouchPointStates states = nullptr,
+static TouchEventData makeTouchData(QEvent::Type type, QWindow *w, Qt::TouchPointStates states = {},
const QList<QTouchEvent::TouchPoint>& touchPoints = QList<QTouchEvent::TouchPoint>())
{
TouchEventData d = { type, nullptr, w, states, touchPoints };
@@ -157,7 +157,7 @@ public:
setEnabled(true);
setVisible(true);
- lastEvent = makeTouchData(QEvent::None, window(), nullptr, QList<QTouchEvent::TouchPoint>());//CHECK_VALID
+ lastEvent = makeTouchData(QEvent::None, window(), {}, QList<QTouchEvent::TouchPoint>());//CHECK_VALID
lastVelocity = lastVelocityFromMouseMove = QVector2D();
lastMousePos = QPointF();
@@ -2082,7 +2082,7 @@ void tst_qquickwindow::requestActivate()
QString warning = QString::fromLatin1("Mouse event MousePress not accepted by receiving window");
QWARN(warning.toLatin1().data());
}
- me = QMouseEvent(QEvent::MouseButtonPress, pos, window1->mapToGlobal(pos), Qt::LeftButton, nullptr, Qt::NoModifier);
+ me = QMouseEvent(QEvent::MouseButtonPress, pos, window1->mapToGlobal(pos), Qt::LeftButton, {}, Qt::NoModifier);
QSpontaneKeyEvent::setSpontaneous(&me);
if (!qApp->notify(window1.data(), &me)) {
QString warning = QString::fromLatin1("Mouse event MouseRelease not accepted by receiving window");
diff --git a/tests/auto/quick/shared/viewtestutil.cpp b/tests/auto/quick/shared/viewtestutil.cpp
index 1680e850f7..4089e5ddae 100644
--- a/tests/auto/quick/shared/viewtestutil.cpp
+++ b/tests/auto/quick/shared/viewtestutil.cpp
@@ -73,13 +73,13 @@ void QQuickViewTestUtil::moveMouseAway(QQuickView *window)
void QQuickViewTestUtil::moveAndRelease(QQuickView *window, const QPoint &position)
{
QTest::mouseMove(window, position);
- QTest::mouseRelease(window, Qt::LeftButton, 0, position);
+ QTest::mouseRelease(window, Qt::LeftButton, {}, position);
}
void QQuickViewTestUtil::moveAndPress(QQuickView *window, const QPoint &position)
{
QTest::mouseMove(window, position);
- QTest::mousePress(window, Qt::LeftButton, 0, position);
+ QTest::mousePress(window, Qt::LeftButton, {}, position);
}
void QQuickViewTestUtil::flick(QQuickView *window, const QPoint &from, const QPoint &to, int duration)
diff --git a/tests/libfuzzer/qml/jsapi/evaluate/main.cpp b/tests/libfuzzer/qml/jsapi/evaluate/main.cpp
index 9e90ba7cbd..82b9847bca 100644
--- a/tests/libfuzzer/qml/jsapi/evaluate/main.cpp
+++ b/tests/libfuzzer/qml/jsapi/evaluate/main.cpp
@@ -32,7 +32,7 @@
// libfuzzer test for QJSEngine::evaluate()
extern "C" int LLVMFuzzerTestOneInput(const char *Data, size_t Size) {
- const QByteArray ba(Data, Size);
+ const QByteArray ba = QByteArray::fromRawData(Data, Size);
// avoid potential endless loops
if (ba.contains("for") || ba.contains("while"))
return 1;
diff --git a/tests/manual/listview/listview.pro b/tests/manual/listview/listview.pro
new file mode 100644
index 0000000000..a517b75079
--- /dev/null
+++ b/tests/manual/listview/listview.pro
@@ -0,0 +1,29 @@
+QT += quick
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Refer to the documentation for the
+# deprecated API to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+ main.cpp
+
+RESOURCES += qml.qrc
+
+# Additional import path used to resolve QML modules in Qt Creator's code model
+QML_IMPORT_PATH =
+
+# Additional import path used to resolve QML modules just for Qt Quick Designer
+QML_DESIGNER_IMPORT_PATH =
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
diff --git a/tests/manual/listview/main.cpp b/tests/manual/listview/main.cpp
new file mode 100644
index 0000000000..8b28b91ee8
--- /dev/null
+++ b/tests/manual/listview/main.cpp
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQuick module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QAbstractTableModel>
+
+typedef QPair<QString, bool> CellData;
+
+class TestModel : public QAbstractListModel
+{
+ Q_OBJECT
+ Q_PROPERTY(int rowCount READ rowCount WRITE setRowCount NOTIFY rowCountChanged)
+
+public:
+ TestModel(QObject *parent = nullptr) : QAbstractListModel(parent) { }
+
+ int rowCount(const QModelIndex & = QModelIndex()) const override { return m_rows; }
+ void setRowCount(int count) {
+ m_rows = count;
+ emit rowCountChanged();
+ }
+
+ QVariant data(const QModelIndex &index, int role) const override
+ {
+ if (!index.isValid())
+ return QVariant();
+
+ switch (role) {
+ case Qt::DisplayRole:
+ return index.row() % 2 ? QStringLiteral("type2") : QStringLiteral("type1");
+ default:
+ break;
+ }
+
+ return QVariant();
+ }
+
+ QHash<int, QByteArray> roleNames() const override
+ {
+ return {
+ {Qt::DisplayRole, "delegateType"},
+ };
+ }
+
+signals:
+ void rowCountChanged();
+
+private:
+ int m_rows = 0;
+};
+
+#include "main.moc"
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+
+ QGuiApplication app(argc, argv);
+
+ qmlRegisterType<TestModel>("TestModel", 0, 1, "TestModel");
+
+ QQmlApplicationEngine engine;
+ engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
+
+ return app.exec();
+}
diff --git a/tests/manual/listview/main.qml b/tests/manual/listview/main.qml
new file mode 100644
index 0000000000..723e10ac05
--- /dev/null
+++ b/tests/manual/listview/main.qml
@@ -0,0 +1,171 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQuick module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Window 2.2
+import QtQuick.Controls 2.5
+import Qt.labs.qmlmodels 1.0
+import TestModel 0.1
+
+Window {
+ id: root
+ visible: true
+ width: 640
+ height: 480
+
+ property int rows: 500
+ property int columns: 20
+ property real delegateHeight: 10
+ property real delegateWidth: 50
+
+ CheckBox {
+ id: reuseItemsBox
+ text: "Reuse items"
+ checked: true
+ }
+
+ Rectangle {
+ anchors.fill: parent
+ anchors.margins: 10
+ anchors.topMargin: reuseItemsBox.height + 10
+ color: "lightgray"
+
+ ListView {
+ id: listView
+ anchors.fill: parent
+
+ reuseItems: reuseItemsBox.checked
+
+ cacheBuffer: 0
+ contentWidth: columns * delegateWidth
+ contentHeight: rows * delegateHeight
+ flickableDirection: Flickable.HorizontalAndVerticalFlick
+ clip: true
+
+ model: TestModel {
+ rowCount: root.rows
+ }
+
+ ScrollBar.vertical: ScrollBar { policy: ScrollBar.AlwaysOn }
+ ScrollBar.horizontal: ScrollBar { policy: ScrollBar.AlwaysOn }
+
+ delegate: DelegateChooser {
+ role: "delegateType"
+
+ DelegateChoice {
+ roleValue: "type1"
+
+ Item {
+ width: listView.contentWidth
+ height: delegateHeight
+ property int reusedCount: 0
+
+ ListView.onReused: reusedCount++
+
+ Text {
+ id: text1
+ text: "Reused count:" + reusedCount
+ font.pixelSize: 9
+ }
+
+ Row {
+ id: choice1
+ width: listView.contentWidth
+ height: delegateHeight
+ anchors.left: text1.right
+ anchors.leftMargin: 5
+ property color color: Qt.rgba(0.6, 0.6, 0.8, 1)
+
+ Component.onCompleted: {
+ for (var i = 0; i < columns; ++i)
+ cellComponent.createObject(choice1, {column: i, color: color})
+ }
+ }
+ }
+ }
+
+ DelegateChoice {
+ roleValue: "type2"
+
+ Item {
+ width: listView.contentWidth
+ height: delegateHeight
+ property int reusedCount: 0
+
+ ListView.onReused: reusedCount++
+
+ Text {
+ id: text2
+ text: "Reused count:" + reusedCount
+ font.pixelSize: 9
+ }
+
+ Row {
+ id: choice2
+ width: listView.contentWidth
+ height: delegateHeight
+ anchors.left: text2.right
+ anchors.leftMargin: 5
+ property color color: Qt.rgba(0.3, 0.3, 0.8, 1)
+
+ Component.onCompleted: {
+ for (var i = 0; i < columns; ++i)
+ cellComponent.createObject(choice2, {column: i, color: color})
+ }
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ Component {
+ id: cellComponent
+ Rectangle {
+ height: delegateHeight
+ width: delegateWidth
+ property int column
+ Text {
+ text: "Lorem ipsum dolor sit amet"
+ font.pixelSize: 9
+ }
+ }
+ }
+}
diff --git a/tests/manual/listview/qml.qrc b/tests/manual/listview/qml.qrc
new file mode 100644
index 0000000000..5f6483ac33
--- /dev/null
+++ b/tests/manual/listview/qml.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>main.qml</file>
+ </qresource>
+</RCC>
diff --git a/tests/manual/nodetypes_ng/shadow_pass1.frag.qsb b/tests/manual/nodetypes_ng/shadow_pass1.frag.qsb
index f3370caee2..f90265a997 100644
--- a/tests/manual/nodetypes_ng/shadow_pass1.frag.qsb
+++ b/tests/manual/nodetypes_ng/shadow_pass1.frag.qsb
Binary files differ
diff --git a/tests/manual/nodetypes_ng/shadow_pass2.frag.qsb b/tests/manual/nodetypes_ng/shadow_pass2.frag.qsb
index cbf9569373..9608763b61 100644
--- a/tests/manual/nodetypes_ng/shadow_pass2.frag.qsb
+++ b/tests/manual/nodetypes_ng/shadow_pass2.frag.qsb
Binary files differ
diff --git a/tests/manual/nodetypes_ng/wobble.frag.qsb b/tests/manual/nodetypes_ng/wobble.frag.qsb
index 9d3b80fad8..7d3105fd3c 100644
--- a/tests/manual/nodetypes_ng/wobble.frag.qsb
+++ b/tests/manual/nodetypes_ng/wobble.frag.qsb
Binary files differ
diff --git a/tests/manual/nodetypes_ng/wobble.vert.qsb b/tests/manual/nodetypes_ng/wobble.vert.qsb
index 0f44e87feb..92b8ba9703 100644
--- a/tests/manual/nodetypes_ng/wobble.vert.qsb
+++ b/tests/manual/nodetypes_ng/wobble.vert.qsb
Binary files differ
diff --git a/tests/manual/scenegraph_lancelot/data/text/text_style2.qml b/tests/manual/scenegraph_lancelot/data/text/text_style2.qml
new file mode 100644
index 0000000000..984ca6a1ed
--- /dev/null
+++ b/tests/manual/scenegraph_lancelot/data/text/text_style2.qml
@@ -0,0 +1,37 @@
+import QtQuick 2.0
+
+//vary font style
+
+Item {
+ width: 320
+ height: 480
+
+ Column {
+ anchors.fill: parent
+ Repeater {
+ model: [Text.Normal, Text.Outline, Text.Raised, Text.Sunken]
+ Text {
+ renderType: Text.QtRendering
+ width: parent.width
+ wrapMode: Text.Wrap
+ font.pointSize: 10
+ style: modelData
+ styleColor: "green"
+ text: "The quick fox jumps in style " + modelData
+ }
+ }
+
+ Repeater {
+ model: [Text.Normal, Text.Outline, Text.Raised, Text.Sunken]
+ Text {
+ renderType: Text.NativeRendering
+ width: parent.width
+ wrapMode: Text.Wrap
+ font.pointSize: 10
+ style: modelData
+ styleColor: "green"
+ text: "The quick fox jumps in style " + modelData
+ }
+ }
+ }
+}
diff --git a/tests/manual/scenegraph_lancelot/scenegrabber/scenegrabber.pro b/tests/manual/scenegraph_lancelot/scenegrabber/scenegrabber.pro
index 24f0f8a315..704acd0aca 100644
--- a/tests/manual/scenegraph_lancelot/scenegrabber/scenegrabber.pro
+++ b/tests/manual/scenegraph_lancelot/scenegrabber/scenegrabber.pro
@@ -1,6 +1,5 @@
TARGET = qmlscenegrabber
DESTDIR=..
-macx:CONFIG -= app_bundle
CONFIG += console
QT += quick
diff --git a/tests/manual/scenegraph_lancelot/scenegraph/scenegraph.pro b/tests/manual/scenegraph_lancelot/scenegraph/scenegraph.pro
index dd0ef268b1..9deb46427e 100644
--- a/tests/manual/scenegraph_lancelot/scenegraph/scenegraph.pro
+++ b/tests/manual/scenegraph_lancelot/scenegraph/scenegraph.pro
@@ -10,6 +10,8 @@ SOURCES += tst_scenegraph.cpp
# Assuming that we are in a normal Qt5 source code tree
include(../../../../../qtbase/tests/baselineserver/shared/qbaselinetest.pri)
-TEST_HELPER_INSTALLS += .././qmlscenegrabber
+win32: TEST_HELPER_INSTALLS += .././qmlscenegrabber.exe
+else: macos: TEST_HELPER_INSTALLS += .././qmlscenegrabber.app
+else: TEST_HELPER_INSTALLS += .././qmlscenegrabber
TESTDATA += ../data
diff --git a/tests/manual/scenegraph_lancelot/scenegraph/tst_scenegraph.cpp b/tests/manual/scenegraph_lancelot/scenegraph/tst_scenegraph.cpp
index 40b17ec2a2..3cc83e94da 100644
--- a/tests/manual/scenegraph_lancelot/scenegraph/tst_scenegraph.cpp
+++ b/tests/manual/scenegraph_lancelot/scenegraph/tst_scenegraph.cpp
@@ -69,8 +69,10 @@ private:
quint16 checksumFileOrDir(const QString &path);
QString testSuitePath;
+ QString grabberPath;
int consecutiveErrors; // Not test failures (image mismatches), but system failures (so no image at all)
bool aborted; // This run given up because of too many system failures
+ bool usingRhi;
};
@@ -90,10 +92,37 @@ void tst_Scenegraph::initTestCase()
QSKIP("Test suite data directory missing or unreadable: " + fi.canonicalFilePath().toLatin1());
testSuitePath = fi.canonicalFilePath();
+#if defined(Q_OS_WIN)
+ grabberPath = QFINDTESTDATA("qmlscenegrabber.exe");
+#elif defined(Q_OS_DARWIN)
+ grabberPath = QFINDTESTDATA("qmlscenegrabber.app/Contents/MacOS/qmlscenegrabber");
+#else
+ grabberPath = QFINDTESTDATA("qmlscenegrabber");
+#endif
+ if (grabberPath.isEmpty())
+ grabberPath = QCoreApplication::applicationDirPath() + "/qmlscenegrabber";
+
const char *backendVarName = "QT_QUICK_BACKEND";
const QString backend = qEnvironmentVariable(backendVarName, QString::fromLatin1("default"));
QBaselineTest::addClientProperty(QString::fromLatin1(backendVarName), backend);
+#if defined(Q_OS_WIN)
+ const char *defaultRhiBackend = "d3d11";
+#elif defined(Q_OS_DARWIN)
+ const char *defaultRhiBackend = "metal";
+#else
+ const char *defaultRhiBackend = "opengl";
+#endif
+ usingRhi = qEnvironmentVariableIntValue("QSG_RHI") != 0;
+ QString stack;
+ if (usingRhi) {
+ const QString rhiBackend = qEnvironmentVariable("QSG_RHI_BACKEND", QString::fromLatin1(defaultRhiBackend));
+ stack = QString::fromLatin1("RHI_%1").arg(rhiBackend);
+ } else {
+ stack = qEnvironmentVariable("QT_QUICK_BACKEND", QString::fromLatin1("DirectGL"));
+ }
+ QBaselineTest::addClientProperty(QString::fromLatin1("GraphicsStack"), stack);
+
QByteArray msg;
if (!QBaselineTest::connectToBaselineServer(&msg))
QSKIP(msg);
@@ -123,7 +152,7 @@ void tst_Scenegraph::testNoTextRendering()
void tst_Scenegraph::testRendering_data()
{
- setupTestSuite();
+ setupTestSuite(usingRhi ? "shaders/" : ""); // on RHI, skip shader effects tests for now
consecutiveErrors = 0;
aborted = false;
}
@@ -201,11 +230,11 @@ bool tst_Scenegraph::renderAndGrab(const QString& qmlFile, const QStringList& ex
{
bool usePipe = true; // Whether to transport the grabbed image using temp. file or pipe. TBD: cmdline option
QProcess grabber;
- QString cmd = QCoreApplication::applicationDirPath() + "/qmlscenegrabber";
+ grabber.setProcessChannelMode(QProcess::ForwardedErrorChannel);
QStringList args = extraArgs;
QString tmpfile = usePipe ? QString("-") : QString("/tmp/qmlscenegrabber-%1-out.ppm").arg(QCoreApplication::applicationPid());
args << qmlFile << "-o" << tmpfile;
- grabber.start(cmd, args, QIODevice::ReadOnly);
+ grabber.start(grabberPath, args, QIODevice::ReadOnly);
grabber.waitForFinished(17000); //### hardcoded, must be larger than the scene timeout in qmlscenegrabber
if (grabber.state() != QProcess::NotRunning) {
grabber.terminate();
diff --git a/tests/manual/tableview/abstracttablemodel/main.qml b/tests/manual/tableview/abstracttablemodel/main.qml
index 4b9158f03c..9d849f2c8f 100644
--- a/tests/manual/tableview/abstracttablemodel/main.qml
+++ b/tests/manual/tableview/abstracttablemodel/main.qml
@@ -52,12 +52,6 @@ Window {
property int selectedX: -1
property int selectedY: -1
- TestTableModel {
- id: tableModel
- rowCount: 200
- columnCount: 200
- }
-
Rectangle {
anchors.fill: parent
anchors.margins: 10
@@ -72,19 +66,19 @@ Window {
spacing: 1
Button {
text: "Add row"
- onClicked: tableModel.insertRows(selectedY, 1)
+ onClicked: tableView.model.insertRows(selectedY, 1)
}
Button {
text: "Remove row"
- onClicked: tableModel.removeRows(selectedY, 1)
+ onClicked: tableView.model.removeRows(selectedY, 1)
}
Button {
text: "Add column"
- onClicked: tableModel.insertColumns(selectedX, 1)
+ onClicked: tableView.model.insertColumns(selectedX, 1)
}
Button {
text: "Remove column"
- onClicked: tableModel.removeColumns(selectedX, 1)
+ onClicked: tableView.model.removeColumns(selectedX, 1)
}
}
diff --git a/tools/qmllint/componentversion.cpp b/tools/qmllint/componentversion.cpp
index 3dc4ac37d0..e5047b8302 100644
--- a/tools/qmllint/componentversion.cpp
+++ b/tools/qmllint/componentversion.cpp
@@ -27,67 +27,24 @@
****************************************************************************/
#include "componentversion.h"
-
-#include <QString>
-#include <QCryptographicHash>
-
-#include <limits>
-
-using namespace LanguageUtils;
-
-const int ComponentVersion::NoVersion = -1;
-const int ComponentVersion::MaxVersion = std::numeric_limits<int>::max();
-
-ComponentVersion::ComponentVersion()
- : _major(NoVersion), _minor(NoVersion)
-{
-}
-
-ComponentVersion::ComponentVersion(int major, int minor)
- : _major(major), _minor(minor)
-{
-}
+#include <QtCore/qstring.h>
ComponentVersion::ComponentVersion(const QString &versionString)
- : _major(NoVersion), _minor(NoVersion)
{
- int dotIdx = versionString.indexOf(QLatin1Char('.'));
+ const int dotIdx = versionString.indexOf(QLatin1Char('.'));
if (dotIdx == -1)
return;
bool ok = false;
- int maybeMajor = versionString.leftRef(dotIdx).toInt(&ok);
+ const int maybeMajor = versionString.leftRef(dotIdx).toInt(&ok);
if (!ok)
return;
- int maybeMinor = versionString.midRef(dotIdx + 1).toInt(&ok);
+ const int maybeMinor = versionString.midRef(dotIdx + 1).toInt(&ok);
if (!ok)
return;
- _major = maybeMajor;
- _minor = maybeMinor;
-}
-
-ComponentVersion::~ComponentVersion()
-{
+ m_major = maybeMajor;
+ m_minor = maybeMinor;
}
-bool ComponentVersion::isValid() const
-{
- return _major >= 0 && _minor >= 0;
-}
-
-QString ComponentVersion::toString() const
-{
- return QString::fromLatin1("%1.%2").arg(QString::number(_major),
- QString::number(_minor));
-}
-
-void ComponentVersion::addToHash(QCryptographicHash &hash) const
-{
- hash.addData(reinterpret_cast<const char *>(&_major), sizeof(_major));
- hash.addData(reinterpret_cast<const char *>(&_minor), sizeof(_minor));
-}
-
-namespace LanguageUtils {
-
bool operator<(const ComponentVersion &lhs, const ComponentVersion &rhs)
{
return lhs.majorVersion() < rhs.majorVersion()
@@ -97,7 +54,8 @@ bool operator<(const ComponentVersion &lhs, const ComponentVersion &rhs)
bool operator<=(const ComponentVersion &lhs, const ComponentVersion &rhs)
{
return lhs.majorVersion() < rhs.majorVersion()
- || (lhs.majorVersion() == rhs.majorVersion() && lhs.minorVersion() <= rhs.minorVersion());
+ || (lhs.majorVersion() == rhs.majorVersion()
+ && lhs.minorVersion() <= rhs.minorVersion());
}
bool operator>(const ComponentVersion &lhs, const ComponentVersion &rhs)
@@ -112,12 +70,11 @@ bool operator>=(const ComponentVersion &lhs, const ComponentVersion &rhs)
bool operator==(const ComponentVersion &lhs, const ComponentVersion &rhs)
{
- return lhs.majorVersion() == rhs.majorVersion() && lhs.minorVersion() == rhs.minorVersion();
+ return lhs.majorVersion() == rhs.majorVersion()
+ && lhs.minorVersion() == rhs.minorVersion();
}
bool operator!=(const ComponentVersion &lhs, const ComponentVersion &rhs)
{
return !(lhs == rhs);
}
-
-}
diff --git a/tools/qmllint/componentversion.h b/tools/qmllint/componentversion.h
index 9d079f1d30..9c4604b9a3 100644
--- a/tools/qmllint/componentversion.h
+++ b/tools/qmllint/componentversion.h
@@ -29,36 +29,35 @@
#ifndef COMPONENTVERSION_H
#define COMPONENTVERSION_H
-#include <qglobal.h>
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
-QT_BEGIN_NAMESPACE
-class QCryptographicHash;
-QT_END_NAMESPACE
-
-namespace LanguageUtils {
+#include <QtCore/qglobal.h>
class ComponentVersion
{
- int _major;
- int _minor;
-
public:
- static const int NoVersion;
- static const int MaxVersion;
+ static const int NoVersion = -1;
- ComponentVersion();
- ComponentVersion(int major, int minor);
+ ComponentVersion() = default;
+ ComponentVersion(int major, int minor) : m_major(major), m_minor(minor) {}
explicit ComponentVersion(const QString &versionString);
- ~ComponentVersion();
- int majorVersion() const
- { return _major; }
- int minorVersion() const
- { return _minor; }
+ int majorVersion() const { return m_major; }
+ int minorVersion() const { return m_minor; }
- bool isValid() const;
- QString toString() const;
- void addToHash(QCryptographicHash &hash) const;
+ bool isValid() const { return m_major >= 0 && m_minor >= 0; }
+
+private:
+ int m_major = NoVersion;
+ int m_minor = NoVersion;
};
bool operator<(const ComponentVersion &lhs, const ComponentVersion &rhs);
@@ -68,6 +67,4 @@ bool operator>=(const ComponentVersion &lhs, const ComponentVersion &rhs);
bool operator==(const ComponentVersion &lhs, const ComponentVersion &rhs);
bool operator!=(const ComponentVersion &lhs, const ComponentVersion &rhs);
-} // namespace LanguageUtils
-
#endif // COMPONENTVERSION_H
diff --git a/tools/qmllint/fakemetaobject.cpp b/tools/qmllint/fakemetaobject.cpp
deleted file mode 100644
index 8319ae6713..0000000000
--- a/tools/qmllint/fakemetaobject.cpp
+++ /dev/null
@@ -1,594 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tools applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "fakemetaobject.h"
-#include <QCryptographicHash>
-
-using namespace LanguageUtils;
-
-FakeMetaEnum::FakeMetaEnum()
-{}
-
-FakeMetaEnum::FakeMetaEnum(const QString &name)
- : m_name(name)
-{}
-
-bool FakeMetaEnum::isValid() const
-{ return !m_name.isEmpty(); }
-
-QString FakeMetaEnum::name() const
-{ return m_name; }
-
-void FakeMetaEnum::setName(const QString &name)
-{ m_name = name; }
-
-void FakeMetaEnum::addKey(const QString &key)
-{ m_keys.append(key); }
-
-QString FakeMetaEnum::key(int index) const
-{ return m_keys.at(index); }
-
-int FakeMetaEnum::keyCount() const
-{ return m_keys.size(); }
-
-QStringList FakeMetaEnum::keys() const
-{ return m_keys; }
-
-bool FakeMetaEnum::hasKey(const QString &key) const
-{ return m_keys.contains(key); }
-
-void FakeMetaEnum::addToHash(QCryptographicHash &hash) const
-{
- int len = m_name.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_name.constData()), len * sizeof(QChar));
- len = m_keys.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const QString &key, m_keys) {
- len = key.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(key.constData()), len * sizeof(QChar));
- }
-}
-
-QString FakeMetaEnum::describe(int baseIndent) const
-{
- QString newLine = QString::fromLatin1("\n") + QString::fromLatin1(" ").repeated(baseIndent);
- QString res = QLatin1String("Enum ");
- res += name();
- res += QLatin1String(": [");
- for (int i = 0; i < keyCount(); ++i) {
- res += newLine;
- res += QLatin1String(" ");
- res += key(i);
- }
- res += newLine;
- res += QLatin1Char(']');
- return res;
-}
-
-QString FakeMetaEnum::toString() const
-{
- return describe();
-}
-
-FakeMetaMethod::FakeMetaMethod(const QString &name, const QString &returnType)
- : m_name(name)
- , m_returnType(returnType)
- , m_methodTy(FakeMetaMethod::Method)
- , m_methodAccess(FakeMetaMethod::Public)
- , m_revision(0)
-{}
-
-FakeMetaMethod::FakeMetaMethod()
- : m_methodTy(FakeMetaMethod::Method)
- , m_methodAccess(FakeMetaMethod::Public)
- , m_revision(0)
-{}
-
-QString FakeMetaMethod::methodName() const
-{ return m_name; }
-
-void FakeMetaMethod::setMethodName(const QString &name)
-{ m_name = name; }
-
-void FakeMetaMethod::setReturnType(const QString &type)
-{ m_returnType = type; }
-
-QStringList FakeMetaMethod::parameterNames() const
-{ return m_paramNames; }
-
-QStringList FakeMetaMethod::parameterTypes() const
-{ return m_paramTypes; }
-
-void FakeMetaMethod::addParameter(const QString &name, const QString &type)
-{ m_paramNames.append(name); m_paramTypes.append(type); }
-
-int FakeMetaMethod::methodType() const
-{ return m_methodTy; }
-
-void FakeMetaMethod::setMethodType(int methodType)
-{ m_methodTy = methodType; }
-
-int FakeMetaMethod::access() const
-{ return m_methodAccess; }
-
-int FakeMetaMethod::revision() const
-{ return m_revision; }
-
-void FakeMetaMethod::setRevision(int r)
-{ m_revision = r; }
-
-void FakeMetaMethod::addToHash(QCryptographicHash &hash) const
-{
- int len = m_name.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_name.constData()), len * sizeof(QChar));
- hash.addData(reinterpret_cast<const char *>(&m_methodAccess), sizeof(m_methodAccess));
- hash.addData(reinterpret_cast<const char *>(&m_methodTy), sizeof(m_methodTy));
- hash.addData(reinterpret_cast<const char *>(&m_revision), sizeof(m_revision));
- len = m_paramNames.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const QString &pName, m_paramNames) {
- len = pName.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(pName.constData()), len * sizeof(QChar));
- }
- len = m_paramTypes.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const QString &pType, m_paramTypes) {
- len = pType.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(pType.constData()), len * sizeof(QChar));
- }
- len = m_returnType.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_returnType.constData()), len * sizeof(QChar));
-}
-
-QString FakeMetaMethod::describe(int baseIndent) const
-{
- QString newLine = QString::fromLatin1("\n") + QString::fromLatin1(" ").repeated(baseIndent);
- QString res = QLatin1String("Method {");
- res += newLine;
- res += QLatin1String(" methodName:");
- res += methodName();
- res += newLine;
- res += QLatin1String(" methodType:");
- res += methodType();
- res += newLine;
- res += QLatin1String(" parameterNames:[");
- foreach (const QString &pName, parameterNames()) {
- res += newLine;
- res += QLatin1String(" ");
- res += pName;
- }
- res += QLatin1Char(']');
- res += newLine;
- res += QLatin1String(" parameterTypes:[");
- foreach (const QString &pType, parameterTypes()) {
- res += newLine;
- res += QLatin1String(" ");
- res += pType;
- }
- res += QLatin1Char(']');
- res += newLine;
- res += QLatin1Char('}');
- return res;
-}
-
-QString FakeMetaMethod::toString() const
-{
- return describe();
-}
-
-
-FakeMetaProperty::FakeMetaProperty(const QString &name, const QString &type, bool isList,
- bool isWritable, bool isPointer, int revision)
- : m_propertyName(name)
- , m_type(type)
- , m_isList(isList)
- , m_isWritable(isWritable)
- , m_isPointer(isPointer)
- , m_revision(revision)
-{}
-
-QString FakeMetaProperty::name() const
-{ return m_propertyName; }
-
-QString FakeMetaProperty::typeName() const
-{ return m_type; }
-
-bool FakeMetaProperty::isList() const
-{ return m_isList; }
-
-bool FakeMetaProperty::isWritable() const
-{ return m_isWritable; }
-
-bool FakeMetaProperty::isPointer() const
-{ return m_isPointer; }
-
-int FakeMetaProperty::revision() const
-{ return m_revision; }
-
-void FakeMetaProperty::addToHash(QCryptographicHash &hash) const
-{
- int len = m_propertyName.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_propertyName.constData()), len * sizeof(QChar));
- hash.addData(reinterpret_cast<const char *>(&m_revision), sizeof(m_revision));
- int flags = (m_isList ? (1 << 0) : 0)
- + (m_isPointer ? (1 << 1) : 0)
- + (m_isWritable ? (1 << 2) : 0);
- hash.addData(reinterpret_cast<const char *>(&flags), sizeof(flags));
- len = m_type.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_type.constData()), len * sizeof(QChar));
-}
-
-QString FakeMetaProperty::describe(int baseIndent) const
-{
- auto boolStr = [] (bool v) { return v ? QLatin1String("true") : QLatin1String("false"); };
- QString newLine = QString::fromLatin1("\n") + QString::fromLatin1(" ").repeated(baseIndent);
- QString res = QLatin1String("Property {");
- res += newLine;
- res += QLatin1String(" name:");
- res += name();
- res += newLine;
- res += QLatin1String(" typeName:");
- res += typeName();
- res += newLine;
- res += QLatin1String(" typeName:");
- res += QString::number(revision());
- res += newLine;
- res += QLatin1String(" isList:");
- res += boolStr(isList());
- res += newLine;
- res += QLatin1String(" isPointer:");
- res += boolStr(isPointer());
- res += newLine;
- res += QLatin1String(" isWritable:");
- res += boolStr(isWritable());
- res += newLine;
- res += QLatin1Char('}');
- return res;
-}
-
-QString FakeMetaProperty::toString() const
-{
- return describe();
-}
-
-
-FakeMetaObject::FakeMetaObject() : m_isSingleton(false), m_isCreatable(true), m_isComposite(false)
-{
-}
-
-QString FakeMetaObject::className() const
-{ return m_className; }
-void FakeMetaObject::setClassName(const QString &name)
-{ m_className = name; }
-
-void FakeMetaObject::addExport(const QString &name, const QString &package, ComponentVersion version)
-{
- Export exp;
- exp.type = name;
- exp.package = package;
- exp.version = version;
- m_exports.append(exp);
-}
-
-void FakeMetaObject::setExportMetaObjectRevision(int exportIndex, int metaObjectRevision)
-{
- m_exports[exportIndex].metaObjectRevision = metaObjectRevision;
-}
-
-QList<FakeMetaObject::Export> FakeMetaObject::exports() const
-{ return m_exports; }
-FakeMetaObject::Export FakeMetaObject::exportInPackage(const QString &package) const
-{
- foreach (const Export &exp, m_exports) {
- if (exp.package == package)
- return exp;
- }
- return Export();
-}
-
-void FakeMetaObject::setSuperclassName(const QString &superclass)
-{ m_superName = superclass; }
-QString FakeMetaObject::superclassName() const
-{ return m_superName; }
-
-void FakeMetaObject::addEnum(const FakeMetaEnum &fakeEnum)
-{ m_enumNameToIndex.insert(fakeEnum.name(), m_enums.size()); m_enums.append(fakeEnum); }
-int FakeMetaObject::enumeratorCount() const
-{ return m_enums.size(); }
-int FakeMetaObject::enumeratorOffset() const
-{ return 0; }
-FakeMetaEnum FakeMetaObject::enumerator(int index) const
-{ return m_enums.at(index); }
-int FakeMetaObject::enumeratorIndex(const QString &name) const
-{ return m_enumNameToIndex.value(name, -1); }
-
-void FakeMetaObject::addProperty(const FakeMetaProperty &property)
-{ m_propNameToIdx.insert(property.name(), m_props.size()); m_props.append(property); }
-int FakeMetaObject::propertyCount() const
-{ return m_props.size(); }
-int FakeMetaObject::propertyOffset() const
-{ return 0; }
-FakeMetaProperty FakeMetaObject::property(int index) const
-{ return m_props.at(index); }
-int FakeMetaObject::propertyIndex(const QString &name) const
-{ return m_propNameToIdx.value(name, -1); }
-
-void FakeMetaObject::addMethod(const FakeMetaMethod &method)
-{ m_methods.append(method); }
-int FakeMetaObject::methodCount() const
-{ return m_methods.size(); }
-int FakeMetaObject::methodOffset() const
-{ return 0; }
-FakeMetaMethod FakeMetaObject::method(int index) const
-{ return m_methods.at(index); }
-int FakeMetaObject::methodIndex(const QString &name) const //If performances becomes an issue, just use a nameToIdx hash
-{
- for (int i=0; i<m_methods.count(); i++)
- if (m_methods[i].methodName() == name)
- return i;
- return -1;
-}
-
-QString FakeMetaObject::defaultPropertyName() const
-{ return m_defaultPropertyName; }
-void FakeMetaObject::setDefaultPropertyName(const QString &defaultPropertyName)
-{ m_defaultPropertyName = defaultPropertyName; }
-
-QString FakeMetaObject::attachedTypeName() const
-{ return m_attachedTypeName; }
-void FakeMetaObject::setAttachedTypeName(const QString &name)
-{ m_attachedTypeName = name; }
-
-QByteArray FakeMetaObject::calculateFingerprint() const
-{
- QCryptographicHash hash(QCryptographicHash::Sha1);
- int len = m_className.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_className.constData()), len * sizeof(QChar));
- len = m_attachedTypeName.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_attachedTypeName.constData()), len * sizeof(QChar));
- len = m_defaultPropertyName.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_defaultPropertyName.constData()), len * sizeof(QChar));
- len = m_enumNameToIndex.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- {
- QStringList keys(m_enumNameToIndex.keys());
- keys.sort();
- foreach (const QString &key, keys) {
- len = key.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(key.constData()), len * sizeof(QChar));
- int value = m_enumNameToIndex.value(key);
- hash.addData(reinterpret_cast<const char *>(&value), sizeof(value)); // avoid? this adds order dependency to fingerprint...
- m_enums.at(value).addToHash(hash);
- }
- }
- len = m_exports.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const Export &e, m_exports)
- e.addToHash(hash); // normalize order?
- len = m_exports.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const FakeMetaMethod &m, m_methods)
- m.addToHash(hash); // normalize order?
- {
- QStringList keys(m_propNameToIdx.keys());
- keys.sort();
- foreach (const QString &key, keys) {
- len = key.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(key.constData()), len * sizeof(QChar));
- int value = m_propNameToIdx.value(key);
- hash.addData(reinterpret_cast<const char *>(&value), sizeof(value)); // avoid? this adds order dependency to fingerprint...
- m_props.at(value).addToHash(hash);
- }
- }
- len = m_superName.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(m_superName.constData()), len * sizeof(QChar));
-
- QByteArray res = hash.result();
- res.append('F');
- return res;
-}
-
-void FakeMetaObject::updateFingerprint()
-{
- m_fingerprint = calculateFingerprint();
-}
-
-QByteArray FakeMetaObject::fingerprint() const
-{
- return m_fingerprint;
-}
-
-bool FakeMetaObject::isSingleton() const
-{
- return m_isSingleton;
-}
-
-bool FakeMetaObject::isCreatable() const
-{
- return m_isCreatable;
-}
-
-bool FakeMetaObject::isComposite() const
-{
- return m_isComposite;
-}
-
-void FakeMetaObject::setIsSingleton(bool value)
-{
- m_isSingleton = value;
-}
-
-void FakeMetaObject::setIsCreatable(bool value)
-{
- m_isCreatable = value;
-}
-
-void FakeMetaObject::setIsComposite(bool value)
-{
- m_isSingleton = value;
-}
-
-QString FakeMetaObject::toString() const
-{
- return describe();
-}
-
-QString FakeMetaObject::describe(bool printDetails, int baseIndent) const
-{
- QString res = QString::fromLatin1("FakeMetaObject@%1")
- .arg((quintptr)(void *)this, 0, 16);
- if (!printDetails)
- return res;
- auto boolStr = [] (bool v) { return v ? QLatin1String("true") : QLatin1String("false"); };
- QString newLine = QString::fromLatin1("\n") + QString::fromLatin1(" ").repeated(baseIndent);
- res += QLatin1Char('{');
- res += newLine;
- res += QLatin1String("className:");
- res += className();
- res += newLine;
- res += QLatin1String("superClassName:");
- res += superclassName();
- res += newLine;
- res += QLatin1String("isSingleton:");
- res += boolStr(isSingleton());
- res += newLine;
- res += QLatin1String("isCreatable:");
- res += boolStr(isCreatable());
- res += newLine;
- res += QLatin1String("isComposite:");
- res += boolStr(isComposite());
- res += newLine;
- res += QLatin1String("defaultPropertyName:");
- res += defaultPropertyName();
- res += newLine;
- res += QLatin1String("attachedTypeName:");
- res += attachedTypeName();
- res += newLine;
- res += QLatin1String("fingerprint:");
- res += QString::fromUtf8(fingerprint());
-
- res += newLine;
- res += QLatin1String("exports:[");
- foreach (const Export &e, exports()) {
- res += newLine;
- res += QLatin1String(" ");
- res += e.describe(baseIndent + 2);
- }
- res += QLatin1Char(']');
-
- res += newLine;
- res += QLatin1String("enums:[");
- for (int iEnum = 0; iEnum < enumeratorCount() ; ++ iEnum) {
- FakeMetaEnum e = enumerator(enumeratorOffset() + iEnum);
- res += newLine;
- res += QLatin1String(" ");
- res += e.describe(baseIndent + 2);
- }
- res += QLatin1Char(']');
-
- res += newLine;
- res += QLatin1String("properties:[");
- for (int iProp = 0; iProp < propertyCount() ; ++ iProp) {
- FakeMetaProperty prop = property(propertyOffset() + iProp);
- res += newLine;
- res += QLatin1String(" ");
- res += prop.describe(baseIndent + 2);
- }
- res += QLatin1Char(']');
- res += QLatin1String("methods:[");
- for (int iMethod = 0; iMethod < methodOffset() ; ++ iMethod) {
- FakeMetaMethod m = method(methodOffset() + iMethod);
- res += newLine;
- res += QLatin1String(" ");
- m.describe(baseIndent + 2);
- }
- res += QLatin1Char(']');
- res += newLine;
- res += QLatin1Char('}');
- return res;
-}
-
-FakeMetaObject::Export::Export()
- : metaObjectRevision(0)
-{}
-bool FakeMetaObject::Export::isValid() const
-{ return version.isValid() || !package.isEmpty() || !type.isEmpty(); }
-
-void FakeMetaObject::Export::addToHash(QCryptographicHash &hash) const
-{
- int len = package.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(package.constData()), len * sizeof(QChar));
- len = type.size();
- hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(type.constData()), len * sizeof(QChar));
- version.addToHash(hash);
- hash.addData(reinterpret_cast<const char *>(&metaObjectRevision), sizeof(metaObjectRevision));
-}
-
-QString FakeMetaObject::Export::describe(int baseIndent) const
-{
- QString newLine = QString::fromLatin1("\n") + QString::fromLatin1(" ").repeated(baseIndent);
- QString res = QLatin1String("Export {");
- res += newLine;
- res += QLatin1String(" package:");
- res += package;
- res += newLine;
- res += QLatin1String(" type:");
- res += type;
- res += newLine;
- res += QLatin1String(" version:");
- res += version.toString();
- res += newLine;
- res += QLatin1String(" metaObjectRevision:");
- res += QString::number(metaObjectRevision);
- res += newLine;
- res += QLatin1String(" isValid:");
- res += QString::number(isValid());
- res += newLine;
- res += QLatin1Char('}');
- return res;
-}
-
-QString FakeMetaObject::Export::toString() const
-{
- return describe();
-}
diff --git a/tools/qmllint/fakemetaobject.h b/tools/qmllint/fakemetaobject.h
deleted file mode 100644
index ae76596343..0000000000
--- a/tools/qmllint/fakemetaobject.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tools applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef FAKEMETAOBJECT_H
-#define FAKEMETAOBJECT_H
-
-#include <QString>
-#include <QStringList>
-#include <QList>
-#include <QHash>
-#include <QSharedPointer>
-
-#include "componentversion.h"
-
-QT_BEGIN_NAMESPACE
-class QCryptographicHash;
-QT_END_NAMESPACE
-
-namespace LanguageUtils {
-
-class FakeMetaEnum {
- QString m_name;
- QStringList m_keys;
-
-public:
- FakeMetaEnum();
- explicit FakeMetaEnum(const QString &name);
-
- bool isValid() const;
-
- QString name() const;
- void setName(const QString &name);
-
- void addKey(const QString &key);
- QString key(int index) const;
- int keyCount() const;
- QStringList keys() const;
- bool hasKey(const QString &key) const;
- void addToHash(QCryptographicHash &hash) const;
-
- QString describe(int baseIndent = 0) const;
- QString toString() const;
-};
-
-class FakeMetaMethod {
-public:
- enum {
- Signal,
- Slot,
- Method
- };
-
- enum {
- Private,
- Protected,
- Public
- };
-
-public:
- FakeMetaMethod();
- explicit FakeMetaMethod(const QString &name, const QString &returnType = QString());
-
- QString methodName() const;
- void setMethodName(const QString &name);
-
- void setReturnType(const QString &type);
-
- QStringList parameterNames() const;
- QStringList parameterTypes() const;
- void addParameter(const QString &name, const QString &type);
-
- int methodType() const;
- void setMethodType(int methodType);
-
- int access() const;
-
- int revision() const;
- void setRevision(int r);
- void addToHash(QCryptographicHash &hash) const;
-
- QString describe(int baseIndent = 0) const;
- QString toString() const;
-private:
- QString m_name;
- QString m_returnType;
- QStringList m_paramNames;
- QStringList m_paramTypes;
- int m_methodTy;
- int m_methodAccess;
- int m_revision;
-};
-
-class FakeMetaProperty {
- QString m_propertyName;
- QString m_type;
- bool m_isList;
- bool m_isWritable;
- bool m_isPointer;
- int m_revision;
-
-public:
- FakeMetaProperty(const QString &name, const QString &type, bool isList, bool isWritable, bool isPointer, int revision);
-
- QString name() const;
- QString typeName() const;
-
- bool isList() const;
- bool isWritable() const;
- bool isPointer() const;
- int revision() const;
- void addToHash(QCryptographicHash &hash) const;
-
- QString describe(int baseIndent = 0) const;
- QString toString() const;
-};
-
-class FakeMetaObject {
- Q_DISABLE_COPY(FakeMetaObject);
-
-public:
- typedef QSharedPointer<FakeMetaObject> Ptr;
- typedef QSharedPointer<const FakeMetaObject> ConstPtr;
-
- class Export {
- public:
- Export();
-
- QString package;
- QString type;
- ComponentVersion version;
- int metaObjectRevision;
-
- bool isValid() const;
- void addToHash(QCryptographicHash &hash) const;
-
- QString describe(int baseIndent = 0) const;
- QString toString() const;
- };
-
-private:
- QString m_className;
- QList<Export> m_exports;
- QString m_superName;
- QList<FakeMetaEnum> m_enums;
- QHash<QString, int> m_enumNameToIndex;
- QList<FakeMetaProperty> m_props;
- QHash<QString, int> m_propNameToIdx;
- QList<FakeMetaMethod> m_methods;
- QString m_defaultPropertyName;
- QString m_attachedTypeName;
- QByteArray m_fingerprint;
- bool m_isSingleton;
- bool m_isCreatable;
- bool m_isComposite;
-
-public:
- FakeMetaObject();
-
- QString className() const;
- void setClassName(const QString &name);
-
- void addExport(const QString &name, const QString &package, ComponentVersion version);
- void setExportMetaObjectRevision(int exportIndex, int metaObjectRevision);
- QList<Export> exports() const;
- Export exportInPackage(const QString &package) const;
-
- void setSuperclassName(const QString &superclass);
- QString superclassName() const;
-
- void addEnum(const FakeMetaEnum &fakeEnum);
- int enumeratorCount() const;
- int enumeratorOffset() const;
- FakeMetaEnum enumerator(int index) const;
- int enumeratorIndex(const QString &name) const;
-
- void addProperty(const FakeMetaProperty &property);
- int propertyCount() const;
- int propertyOffset() const;
- FakeMetaProperty property(int index) const;
- int propertyIndex(const QString &name) const;
-
- void addMethod(const FakeMetaMethod &method);
- int methodCount() const;
- int methodOffset() const;
- FakeMetaMethod method(int index) const;
- int methodIndex(const QString &name) const; // Note: Returns any method with that name in case of overloads
-
- QString defaultPropertyName() const;
- void setDefaultPropertyName(const QString &defaultPropertyName);
-
- QString attachedTypeName() const;
- void setAttachedTypeName(const QString &name);
- QByteArray calculateFingerprint() const;
- void updateFingerprint();
- QByteArray fingerprint() const;
-
- bool isSingleton() const;
- bool isCreatable() const;
- bool isComposite() const;
- void setIsSingleton(bool value);
- void setIsCreatable(bool value);
- void setIsComposite(bool value);
-
- QString describe(bool printDetails = true, int baseIndent = 0) const;
- QString toString() const;
-};
-
-} // namespace LanguageUtils
-
-#endif // FAKEMETAOBJECT_H
diff --git a/tools/qmllint/findunqualified.cpp b/tools/qmllint/findunqualified.cpp
index d72f02b94a..af2bf1ae7e 100644
--- a/tools/qmllint/findunqualified.cpp
+++ b/tools/qmllint/findunqualified.cpp
@@ -28,18 +28,17 @@
#include "findunqualified.h"
#include "scopetree.h"
+#include "typedescriptionreader.h"
-#include "qmljstypedescriptionreader.h"
+#include <QtQml/private/qqmljsast_p.h>
+#include <QtQml/private/qqmljslexer_p.h>
+#include <QtQml/private/qqmljsparser_p.h>
+#include <QtQml/private/qv4codegen_p.h>
+#include <QtQml/private/qqmldirparser_p.h>
-#include <QFile>
-#include <QDirIterator>
-#include <QScopedValueRollback>
-
-#include <private/qqmljsast_p.h>
-#include <private/qqmljslexer_p.h>
-#include <private/qqmljsparser_p.h>
-#include <private/qv4codegen_p.h>
-#include <private/qqmldirparser_p.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qdiriterator.h>
+#include <QtCore/qscopedvaluerollback.h>
static QQmlDirParser createQmldirParserForFile(const QString &filename)
{
@@ -50,17 +49,17 @@ static QQmlDirParser createQmldirParserForFile(const QString &filename)
return parser;
}
-static QQmlJS::TypeDescriptionReader createQmltypesReaderForFile(QString const &filename)
+static TypeDescriptionReader createQmltypesReaderForFile(const QString &filename)
{
QFile f(filename);
f.open(QFile::ReadOnly);
- QQmlJS::TypeDescriptionReader reader { filename, f.readAll() };
+ TypeDescriptionReader reader { filename, f.readAll() };
return reader;
}
void FindUnqualifiedIDVisitor::enterEnvironment(ScopeType type, QString name)
{
- m_currentScope = m_currentScope->createNewChildScope(type, name);
+ m_currentScope = m_currentScope->createNewChildScope(type, std::move(name));
}
void FindUnqualifiedIDVisitor::leaveEnvironment()
@@ -70,7 +69,7 @@ void FindUnqualifiedIDVisitor::leaveEnvironment()
enum ImportVersion { FullyVersioned, PartiallyVersioned, Unversioned, BasePath };
-QStringList completeImportPaths(const QString &uri, const QStringList &basePaths, int vmaj, int vmin)
+QStringList completeImportPaths(const QString &uri, const QString &basePath, int vmaj, int vmin)
{
static const QLatin1Char Slash('/');
static const QLatin1Char Backslash('\\');
@@ -79,21 +78,22 @@ QStringList completeImportPaths(const QString &uri, const QStringList &basePaths
QStringList qmlDirPathsPaths;
// fully & partially versioned parts + 1 unversioned for each base path
- qmlDirPathsPaths.reserve(basePaths.count() * (2 * parts.count() + 1));
+ qmlDirPathsPaths.reserve(2 * parts.count() + 1);
auto versionString = [](int vmaj, int vmin, ImportVersion version)
{
if (version == FullyVersioned) {
// extension with fully encoded version number (eg. MyModule.3.2)
- return QString::asprintf(".%d.%d", vmaj, vmin);
- } else if (version == PartiallyVersioned) {
+ return QString::fromLatin1(".%1.%2").arg(vmaj).arg(vmin);
+ }
+ if (version == PartiallyVersioned) {
// extension with encoded version major (eg. MyModule.3)
- return QString::asprintf(".%d", vmaj);
- } // else extension without version number (eg. MyModule)
+ return QString::fromLatin1(".%1").arg(vmaj);
+ }
+ // else extension without version number (eg. MyModule)
return QString();
};
- auto joinStringRefs = [](const QVector<QStringRef> &refs, const QChar &sep)
- {
+ auto joinStringRefs = [](const QVector<QStringRef> &refs, const QChar &sep) {
QString str;
for (auto it = refs.cbegin(); it != refs.cend(); ++it) {
if (it != refs.cbegin())
@@ -103,120 +103,161 @@ QStringList completeImportPaths(const QString &uri, const QStringList &basePaths
return str;
};
- for (int version = FullyVersioned; version <= BasePath; ++version) {
+ const ImportVersion initial = (vmin >= 0)
+ ? FullyVersioned
+ : (vmaj >= 0 ? PartiallyVersioned : Unversioned);
+ for (int version = initial; version <= BasePath; ++version) {
const QString ver = versionString(vmaj, vmin, static_cast<ImportVersion>(version));
- for (const QString &path : basePaths) {
- QString dir = path;
- if (!dir.endsWith(Slash) && !dir.endsWith(Backslash))
- dir += Slash;
+ QString dir = basePath;
+ if (!dir.endsWith(Slash) && !dir.endsWith(Backslash))
+ dir += Slash;
- if (version == BasePath) {
- qmlDirPathsPaths += dir;
- } else {
- // append to the end
- qmlDirPathsPaths += dir + joinStringRefs(parts, Slash) + ver;
- }
+ if (version == BasePath) {
+ qmlDirPathsPaths += dir;
+ } else {
+ // append to the end
+ qmlDirPathsPaths += dir + joinStringRefs(parts, Slash) + ver;
+ }
- if (version < Unversioned) {
- // insert in the middle
- for (int index = parts.count() - 2; index >= 0; --index) {
- qmlDirPathsPaths += dir + joinStringRefs(parts.mid(0, index + 1), Slash)
- + ver + Slash
- + joinStringRefs(parts.mid(index + 1), Slash);
- }
+ if (version < Unversioned) {
+ // insert in the middle
+ for (int index = parts.count() - 2; index >= 0; --index) {
+ qmlDirPathsPaths += dir + joinStringRefs(parts.mid(0, index + 1), Slash)
+ + ver + Slash
+ + joinStringRefs(parts.mid(index + 1), Slash);
}
}
}
return qmlDirPathsPaths;
}
-void FindUnqualifiedIDVisitor::importHelper(QString id, QString prefix, int major, int minor)
-{
- QPair<QString, QString> importId { id, prefix };
- if (m_alreadySeenImports.contains(importId)) {
- return;
- } else {
- m_alreadySeenImports.insert(importId);
- }
- id = id.replace(QLatin1String("/"), QLatin1String("."));
- auto qmltypesPaths = completeImportPaths(id, m_qmltypeDirs, major, minor);
+static const QLatin1String SlashQmldir = QLatin1String("/qmldir");
+static const QLatin1String SlashAppDotQmltypes = QLatin1String("/app.qmltypes");
+static const QLatin1String SlashLibDotQmltypes = QLatin1String("/lib.qmltypes");
+static const QLatin1String SlashPluginsDotQmltypes = QLatin1String("/plugins.qmltypes");
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> objects;
- QList<QQmlJS::ModuleApiInfo> moduleApis;
- QStringList dependencies;
- static const QLatin1String SlashPluginsDotQmltypes("/plugins.qmltypes");
- static const QLatin1String SlashQmldir("/qmldir");
- for (auto const &qmltypesPath : qmltypesPaths) {
- if (QFile::exists(qmltypesPath + SlashQmldir)) {
- auto reader = createQmldirParserForFile(qmltypesPath + SlashQmldir);
- const auto imports = reader.imports();
- for (const QString &import : imports)
- importHelper(import, prefix, major, minor);
-
- QHash<QString, LanguageUtils::FakeMetaObject *> qmlComponents;
- const auto components = reader.components();
- for (auto it = components.begin(), end = components.end(); it != end; ++it) {
- const QString filePath = qmltypesPath + QLatin1Char('/') + it->fileName;
- if (!QFile::exists(filePath)) {
- m_colorOut.write(QLatin1String("warning: "), Warning);
- m_colorOut.write(it->fileName + QLatin1String(" is listed as component in ")
- + qmltypesPath + SlashQmldir
- + QLatin1String(" but does not exist.\n"));
- continue;
- }
+void FindUnqualifiedIDVisitor::readQmltypes(const QString &filename,
+ FindUnqualifiedIDVisitor::Import &result)
+{
+ auto reader = createQmltypesReaderForFile(filename);
+ auto succ = reader(&result.objects, &result.moduleApis, &result.dependencies);
+ if (!succ)
+ m_colorOut.writeUncolored(reader.errorMessage());
+}
- auto mo = qmlComponents.find(it.key());
- if (mo == qmlComponents.end())
- mo = qmlComponents.insert(it.key(), localQmlFile2FakeMetaObject(filePath));
+FindUnqualifiedIDVisitor::Import FindUnqualifiedIDVisitor::readQmldir(const QString &path)
+{
+ Import result;
+ auto reader = createQmldirParserForFile(path + SlashQmldir);
+ const auto imports = reader.imports();
+ for (const QString &import : imports)
+ result.dependencies.append(import);
- (*mo)->addExport(
- it.key(), reader.typeNamespace(),
- LanguageUtils::ComponentVersion(it->majorVersion, it->minorVersion));
- }
- for (auto it = qmlComponents.begin(), end = qmlComponents.end(); it != end; ++it) {
- objects.insert(it.key(),
- QSharedPointer<const LanguageUtils::FakeMetaObject>(it.value()));
- }
- }
- if (QFile::exists(qmltypesPath + SlashPluginsDotQmltypes)) {
- auto reader = createQmltypesReaderForFile(qmltypesPath + SlashPluginsDotQmltypes);
- auto succ = reader(&objects, &moduleApis, &dependencies);
- if (!succ)
- m_colorOut.writeUncolored(reader.errorMessage());
+ QHash<QString, ScopeTree *> qmlComponents;
+ const auto components = reader.components();
+ for (auto it = components.begin(), end = components.end(); it != end; ++it) {
+ const QString filePath = path + QLatin1Char('/') + it->fileName;
+ if (!QFile::exists(filePath)) {
+ m_colorOut.write(QLatin1String("warning: "), Warning);
+ m_colorOut.write(it->fileName + QLatin1String(" is listed as component in ")
+ + path + SlashQmldir
+ + QLatin1String(" but does not exist.\n"));
+ continue;
}
+
+ auto mo = qmlComponents.find(it.key());
+ if (mo == qmlComponents.end())
+ mo = qmlComponents.insert(it.key(), localQmlFile2ScopeTree(filePath));
+
+ (*mo)->addExport(
+ it.key(), reader.typeNamespace(),
+ ComponentVersion(it->majorVersion, it->minorVersion));
}
- for (auto const &dependency : qAsConst(dependencies)) {
+ for (auto it = qmlComponents.begin(), end = qmlComponents.end(); it != end; ++it)
+ result.objects.insert( it.key(), ScopeTree::ConstPtr(it.value()));
+
+ if (!reader.plugins().isEmpty() && QFile::exists(path + SlashPluginsDotQmltypes))
+ readQmltypes(path + SlashPluginsDotQmltypes, result);
+
+ return result;
+}
+
+void FindUnqualifiedIDVisitor::processImport(const QString &prefix, const FindUnqualifiedIDVisitor::Import &import)
+{
+ for (auto const &dependency : qAsConst(import.dependencies)) {
auto const split = dependency.split(" ");
- auto const id = split.at(0);
- auto const major = split.at(1).split('.').at(0).toInt();
- auto const minor = split.at(1).split('.').at(1).toInt();
- importHelper(id, QString(), major, minor);
+ auto const &id = split.at(0);
+ if (split.length() > 1) {
+ const auto version = split.at(1).split('.');
+ importHelper(id, QString(),
+ version.at(0).toInt(),
+ version.length() > 1 ? version.at(1).toInt() : -1);
+ } else {
+ importHelper(id, QString(), -1, -1);
+ }
+
+
}
+
// add objects
- for (auto ob_it = objects.begin(); ob_it != objects.end(); ++ob_it) {
- auto val = ob_it.value();
- m_exportedName2MetaObject[prefix + val->className()] = val;
- for (auto export_ : val->exports()) {
- m_exportedName2MetaObject[prefix + export_.type] = val;
- }
- for (auto enumCount = 0; enumCount < val->enumeratorCount(); ++enumCount) {
- m_currentScope->insertQMLIdentifier(val->enumerator(enumCount).name());
+ for (auto it = import.objects.begin(); it != import.objects.end(); ++it) {
+ const auto &val = it.value();
+ m_exportedName2Scope[prefix + val->className()] = val;
+
+ const auto exports = val->exports();
+ for (const auto &valExport : exports)
+ m_exportedName2Scope[prefix + valExport.type()] = val;
+
+ const auto enums = val->enums();
+ for (const auto &valEnum : enums)
+ m_currentScope->addEnum(valEnum);
+ }
+}
+
+void FindUnqualifiedIDVisitor::importHelper(const QString &module, const QString &prefix,
+ int major, int minor)
+{
+ const QString id = QString(module).replace(QLatin1Char('/'), QLatin1Char('.'));
+ QPair<QString, QString> importId { id, prefix };
+ if (m_alreadySeenImports.contains(importId))
+ return;
+ m_alreadySeenImports.insert(importId);
+
+ for (const QString &qmltypeDir : m_qmltypeDirs) {
+ auto qmltypesPaths = completeImportPaths(id, qmltypeDir, major, minor);
+
+ for (auto const &qmltypesPath : qmltypesPaths) {
+ if (QFile::exists(qmltypesPath + SlashQmldir)) {
+ processImport(prefix, readQmldir(qmltypesPath));
+
+ // break so that we don't import unversioned qml components
+ // in addition to versioned ones
+ break;
+ }
+
+ Import result;
+ if (QFile::exists(qmltypesPath + SlashAppDotQmltypes))
+ readQmltypes(qmltypesPath + SlashAppDotQmltypes, result);
+ else if (QFile::exists(qmltypesPath + SlashLibDotQmltypes))
+ readQmltypes(qmltypesPath + SlashLibDotQmltypes, result);
+ else
+ continue;
+ processImport(prefix, result);
}
}
}
-LanguageUtils::FakeMetaObject *
-FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
+ScopeTree *FindUnqualifiedIDVisitor::localQmlFile2ScopeTree(const QString &filePath)
{
using namespace QQmlJS::AST;
- auto fake = new LanguageUtils::FakeMetaObject;
+ auto scope = new ScopeTree(ScopeType::QMLScope);
QString baseName = QFileInfo { filePath }.baseName();
- fake->setClassName(baseName.endsWith(".ui") ? baseName.chopped(3) : baseName);
+ scope->setClassName(baseName.endsWith(".ui") ? baseName.chopped(3) : baseName);
QFile file(filePath);
- if (!file.open(QFile::ReadOnly)) {
- return fake;
- }
+ if (!file.open(QFile::ReadOnly))
+ return scope;
+
QString code = file.readAll();
file.close();
@@ -226,7 +267,7 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
lexer.setCode(code, 1, true);
QQmlJS::Parser parser(&engine);
if (!parser.parse()) {
- return fake;
+ return scope;
}
QQmlJS::AST::UiProgram *program = parser.ast();
auto header = program->headers;
@@ -245,7 +286,8 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
if (import->asToken.isValid()) {
prefix += import->importId + QLatin1Char('.');
}
- importHelper(path, prefix, import->version->majorVersion, import->version->minorVersion);
+ importHelper(path, prefix, import->version->majorVersion,
+ import->version->minorVersion);
}
}
header = header->next;
@@ -254,12 +296,12 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
// member should be the sole element
Q_ASSERT(!member->next);
Q_ASSERT(member && member->member->kind == UiObjectMember::Kind_UiObjectDefinition);
- auto definition = static_cast<UiObjectDefinition *>(member->member);
+ auto definition = cast<UiObjectDefinition *>(member->member);
auto qualifiedId = definition->qualifiedTypeNameId;
while (qualifiedId && qualifiedId->next) {
qualifiedId = qualifiedId->next;
}
- fake->setSuperclassName(qualifiedId->name.toString());
+ scope->setSuperclassName(qualifiedId->name.toString());
UiObjectMemberList *initMembers = definition->initializer->members;
while (initMembers) {
switch (initMembers->member->kind) {
@@ -280,28 +322,30 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
break;
}
case UiObjectMember::Kind_UiPublicMember: {
- auto publicMember = static_cast<UiPublicMember *>(initMembers->member);
+ auto publicMember = cast<UiPublicMember *>(initMembers->member);
switch (publicMember->type) {
case UiPublicMember::Signal: {
UiParameterList *param = publicMember->parameters;
- LanguageUtils::FakeMetaMethod method;
- method.setMethodType(LanguageUtils::FakeMetaMethod::Signal);
+ MetaMethod method;
+ method.setMethodType(MetaMethod::Signal);
method.setMethodName(publicMember->name.toString());
while (param) {
method.addParameter(param->name.toString(), param->type->name.toString());
param = param->next;
}
- fake->addMethod(method);
+ scope->addMethod(method);
break;
}
case UiPublicMember::Property: {
- LanguageUtils::FakeMetaProperty fakeprop { publicMember->name.toString(),
- publicMember->typeModifier.toString(),
- false,
- false,
- false,
- 0 };
- fake->addProperty(fakeprop);
+ const MetaProperty property {
+ publicMember->name.toString(),
+ publicMember->typeModifier.toString(),
+ false,
+ false,
+ false,
+ 0
+ };
+ scope->addProperty(property);
break;
}
}
@@ -312,24 +356,21 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
break;
}
case UiObjectMember::Kind_UiSourceElement: {
- auto sourceElement = static_cast<UiSourceElement *>(initMembers->member);
+ auto sourceElement = cast<UiSourceElement *>(initMembers->member);
if (FunctionExpression *fexpr = sourceElement->sourceElement->asFunctionDefinition()) {
- LanguageUtils::FakeMetaMethod method;
+ MetaMethod method;
method.setMethodName(fexpr->name.toString());
- method.setMethodType(LanguageUtils::FakeMetaMethod::Method);
+ method.setMethodType(MetaMethod::Method);
FormalParameterList *parameters = fexpr->formals;
while (parameters) {
- method.addParameter(parameters->element->bindingIdentifier.toString(),
- "");
+ method.addParameter(parameters->element->bindingIdentifier.toString(), "");
parameters = parameters->next;
}
- fake->addMethod(method);
+ scope->addMethod(method);
} else if (ClassExpression *clexpr =
sourceElement->sourceElement->asClassDefinition()) {
- LanguageUtils::FakeMetaProperty prop {
- clexpr->name.toString(), "", false, false, false, 1
- };
- fake->addProperty(prop);
+ const MetaProperty prop { clexpr->name.toString(), "", false, false, false, 1 };
+ scope->addProperty(prop);
} else if (cast<VariableStatement *>(sourceElement->sourceElement)) {
// nothing to do
} else {
@@ -348,7 +389,7 @@ FindUnqualifiedIDVisitor::localQmlFile2FakeMetaObject(QString filePath)
}
initMembers = initMembers->next;
}
- return fake;
+ return scope;
}
void FindUnqualifiedIDVisitor::importDirectory(const QString &directory, const QString &prefix)
@@ -360,34 +401,30 @@ void FindUnqualifiedIDVisitor::importDirectory(const QString &directory, const Q
QDirIterator it { dirname, QStringList() << QLatin1String("*.qml"), QDir::NoFilter };
while (it.hasNext()) {
- LanguageUtils::FakeMetaObject *fake = localQmlFile2FakeMetaObject(it.next());
- m_exportedName2MetaObject.insert(
- prefix + fake->className(),
- QSharedPointer<const LanguageUtils::FakeMetaObject>(fake));
+ const ScopeTree *scope = localQmlFile2ScopeTree(it.next());
+ m_exportedName2Scope.insert(prefix + scope->className(), ScopeTree::ConstPtr(scope));
}
}
-void FindUnqualifiedIDVisitor::importExportedNames(QStringRef prefix, QString name)
+void FindUnqualifiedIDVisitor::importExportedNames(const QStringRef &prefix, QString name)
{
for (;;) {
- auto metaObject = m_exportedName2MetaObject[m_exportedName2MetaObject.contains(name)
+ auto scope = m_exportedName2Scope[m_exportedName2Scope.contains(name)
? name
: prefix + QLatin1Char('.') + name];
- if (metaObject) {
- auto propertyCount = metaObject->propertyCount();
- for (auto i = 0; i < propertyCount; ++i) {
- m_currentScope->insertPropertyIdentifier(metaObject->property(i).name());
- }
-
- m_currentScope->addMethodsFromMetaObject(metaObject);
-
- name = metaObject->superclassName();
- if (name.isEmpty() || name == QLatin1String("QObject")) {
+ if (scope) {
+ const auto properties = scope->properties();
+ for (const auto &property : properties)
+ m_currentScope->insertPropertyIdentifier(property);
+
+ m_currentScope->addMethods(scope->methods());
+ name = scope->superclassName();
+ if (name.isEmpty() || name == QLatin1String("QObject"))
break;
- }
} else {
m_colorOut.write(QLatin1String("warning: "), Warning);
- m_colorOut.write(name + QLatin1String(" was not found. Did you add all import paths?\n"));
+ m_colorOut.write(name + QLatin1String(" was not found."
+ " Did you add all import paths?\n"));
m_unknownImports.insert(name);
break;
}
@@ -404,8 +441,8 @@ void FindUnqualifiedIDVisitor::throwRecursionDepthError()
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiProgram *)
{
enterEnvironment(ScopeType::QMLScope, "program");
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> objects;
- QList<QQmlJS::ModuleApiInfo> moduleApis;
+ QHash<QString, ScopeTree::ConstPtr> objects;
+ QList<ModuleApiInfo> moduleApis;
QStringList dependencies;
for (auto const &dir : m_qmltypeDirs) {
QDirIterator it { dir, QStringList() << QLatin1String("builtins.qmltypes"), QDir::NoFilter,
@@ -420,25 +457,18 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiProgram *)
// add builtins
for (auto ob_it = objects.begin(); ob_it != objects.end(); ++ob_it) {
auto val = ob_it.value();
- for (auto export_ : val->exports()) {
- m_exportedName2MetaObject[export_.type] = val;
- }
- for (auto enumCount = 0; enumCount < val->enumeratorCount(); ++enumCount) {
- m_currentScope->insertQMLIdentifier(val->enumerator(enumCount).name());
- }
- }
- // add "self" (as we only ever check the first part of a qualified identifier, we get away with
- // using an empty FakeMetaObject
- m_exportedName2MetaObject[QFileInfo { m_filePath }.baseName()] = {};
- // add QML builtins
- m_exportedName2MetaObject["QtObject"] = {}; // QtObject contains nothing of interest
+ const auto exports = val->exports();
+ for (const auto &valExport : exports)
+ m_exportedName2Scope[valExport.type()] = val;
- LanguageUtils::FakeMetaObject *meta = new LanguageUtils::FakeMetaObject{};
- meta->addProperty(LanguageUtils::FakeMetaProperty {"enabled", "bool", false, false, false, 0});
- meta->addProperty(LanguageUtils::FakeMetaProperty {"ignoreUnknownSignals", "bool", false, false, false, 0});
- meta->addProperty(LanguageUtils::FakeMetaProperty {"target", "QObject", false, false, false, 0});
- m_exportedName2MetaObject["Connections"] = LanguageUtils::FakeMetaObject::ConstPtr { meta };
+ const auto enums = val->enums();
+ for (const auto &valEnum : enums)
+ m_currentScope->addEnum(valEnum);
+ }
+ // add "self" (as we only ever check the first part of a qualified identifier, we get away with
+ // using an empty ScopeTree
+ m_exportedName2Scope[QFileInfo { m_filePath }.baseName()] = {};
importDirectory(".", QString());
return true;
@@ -518,7 +548,8 @@ void FindUnqualifiedIDVisitor::endVisit(QQmlJS::AST::CaseBlock *)
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::Catch *catchStatement)
{
enterEnvironment(ScopeType::JSLexicalScope, "catch");
- m_currentScope->insertJSIdentifier(catchStatement->patternElement->bindingIdentifier.toString(), QQmlJS::AST::VariableScope::Let);
+ m_currentScope->insertJSIdentifier(catchStatement->patternElement->bindingIdentifier.toString(),
+ QQmlJS::AST::VariableScope::Let);
return true;
}
@@ -529,8 +560,13 @@ void FindUnqualifiedIDVisitor::endVisit(QQmlJS::AST::Catch *)
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::WithStatement *withStatement)
{
- m_colorOut.write(QString::asprintf("Warning: "), Warning);
- m_colorOut.write(QString::asprintf("%d:%d: with statements are strongly discouraged in QML and might cause false positives when analysing unqalified identifiers\n", withStatement->firstSourceLocation().startLine, withStatement->firstSourceLocation().startColumn), Normal);
+ m_colorOut.write(QString::fromLatin1("Warning: "), Warning);
+ m_colorOut.write(QString::fromLatin1(
+ "%1:%2: with statements are strongly discouraged in QML "
+ "and might cause false positives when analysing unqalified identifiers\n")
+ .arg(withStatement->firstSourceLocation().startLine)
+ .arg(withStatement->firstSourceLocation().startColumn),
+ Normal);
enterEnvironment(ScopeType::JSLexicalScope, "with");
return true;
}
@@ -563,13 +599,12 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiScriptBinding *uisb)
auto name = uisb->qualifiedId->name;
if (name == QLatin1String("id")) {
// found id
- auto expstat = static_cast<ExpressionStatement *>(uisb->statement);
- auto identexp = static_cast<IdentifierExpression *>(expstat->expression);
+ auto expstat = cast<ExpressionStatement *>(uisb->statement);
+ auto identexp = cast<IdentifierExpression *>(expstat->expression);
QString elementName = m_currentScope->name();
- m_qmlid2meta.insert(identexp->name.toString(), m_exportedName2MetaObject[elementName]);
- if (m_currentScope->isVisualRootScope()) {
+ m_qmlid2scope.insert(identexp->name.toString(), m_exportedName2Scope[elementName]);
+ if (m_currentScope->isVisualRootScope())
m_rootId = identexp->name.toString();
- }
} else {
const QString signal = signalName(name);
if (signal.isEmpty())
@@ -582,7 +617,7 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiScriptBinding *uisb)
const auto statement = uisb->statement;
if (statement->kind == Node::Kind::Kind_ExpressionStatement) {
- if (static_cast<ExpressionStatement *>(statement)->expression->asFunctionDefinition()) {
+ if (cast<ExpressionStatement *>(statement)->expression->asFunctionDefinition()) {
// functions are already handled
// they do not get names inserted according to the signal, but access their formal
// parameters
@@ -607,37 +642,42 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiPublicMember *uipm)
{
// property bool inactive: !active
// extract name inactive
- m_currentScope->insertPropertyIdentifier(uipm->name.toString());
+ m_currentScope->insertPropertyIdentifier(MetaProperty(
+ uipm->name.toString(),
+ // TODO: signals, complex types etc.
+ uipm->memberType ? uipm->memberType->name.toString() : QString(),
+ uipm->typeModifier == QLatin1String("list"),
+ !uipm->isReadonlyMember,
+ false, 0));
return true;
}
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::IdentifierExpression *idexp)
{
auto name = idexp->name;
- if (!m_exportedName2MetaObject.contains(name.toString())) {
+ if (!m_exportedName2Scope.contains(name.toString())) {
m_currentScope->addIdToAccssedIfNotInParentScopes(
{ name.toString(), idexp->firstSourceLocation() }, m_unknownImports);
}
return true;
}
-FindUnqualifiedIDVisitor::FindUnqualifiedIDVisitor(QStringList const &qmltypeDirs,
- const QString &code, const QString &fileName,
- bool silent)
+FindUnqualifiedIDVisitor::FindUnqualifiedIDVisitor(QStringList qmltypeDirs, QString code,
+ QString fileName, bool silent)
: m_rootScope(new ScopeTree { ScopeType::JSFunctionScope, "global" }),
m_currentScope(m_rootScope.get()),
- m_qmltypeDirs(qmltypeDirs),
- m_code(code),
+ m_qmltypeDirs(std::move(qmltypeDirs)),
+ m_code(std::move(code)),
m_rootId(QLatin1String("<id>")),
- m_filePath(fileName),
+ m_filePath(std::move(fileName)),
m_colorOut(silent)
{
// setup color output
- m_colorOut.insertColorMapping(Error, ColorOutput::RedForeground);
- m_colorOut.insertColorMapping(Warning, ColorOutput::PurpleForeground);
- m_colorOut.insertColorMapping(Info, ColorOutput::BlueForeground);
- m_colorOut.insertColorMapping(Normal, ColorOutput::DefaultColor);
- m_colorOut.insertColorMapping(Hint, ColorOutput::GreenForeground);
+ m_colorOut.insertMapping(Error, ColorOutput::RedForeground);
+ m_colorOut.insertMapping(Warning, ColorOutput::PurpleForeground);
+ m_colorOut.insertMapping(Info, ColorOutput::BlueForeground);
+ m_colorOut.insertMapping(Normal, ColorOutput::DefaultColor);
+ m_colorOut.insertMapping(Hint, ColorOutput::GreenForeground);
QLatin1String jsGlobVars[] = {
/* Not listed on the MDN page; browser and QML extensions: */
// console/debug api
@@ -645,32 +685,36 @@ FindUnqualifiedIDVisitor::FindUnqualifiedIDVisitor(QStringList const &qmltypeDir
// garbage collector
QLatin1String("gc"),
// i18n
- QLatin1String("qsTr"), QLatin1String("qsTrId"), QLatin1String("QT_TR_NOOP"), QLatin1String("QT_TRANSLATE_NOOP"), QLatin1String("QT_TRID_NOOP"),
+ QLatin1String("qsTr"), QLatin1String("qsTrId"), QLatin1String("QT_TR_NOOP"),
+ QLatin1String("QT_TRANSLATE_NOOP"), QLatin1String("QT_TRID_NOOP"),
// XMLHttpRequest
QLatin1String("XMLHttpRequest")
};
- for (const char **globalName = QV4::Compiler::Codegen::s_globalNames; *globalName != nullptr; ++globalName) {
- m_currentScope->insertJSIdentifier(QString::fromLatin1(*globalName), QQmlJS::AST::VariableScope::Const);
+ for (const char **globalName = QV4::Compiler::Codegen::s_globalNames;
+ *globalName != nullptr;
+ ++globalName) {
+ m_currentScope->insertJSIdentifier(QString::fromLatin1(*globalName),
+ QQmlJS::AST::VariableScope::Const);
}
for (const auto& jsGlobVar: jsGlobVars)
m_currentScope->insertJSIdentifier(jsGlobVar, QQmlJS::AST::VariableScope::Const);
}
-FindUnqualifiedIDVisitor::~FindUnqualifiedIDVisitor() = default;
-
bool FindUnqualifiedIDVisitor::check()
{
if (m_visitFailed)
return false;
// now that all ids are known, revisit any Connections whose target were perviously unknown
- for (auto const& outstandingConnection: m_outstandingConnections) {
- auto metaObject = m_qmlid2meta[outstandingConnection.targetName];
- outstandingConnection.scope->addMethodsFromMetaObject(metaObject);
+ for (auto const &outstandingConnection: m_outstandingConnections) {
+ auto targetScope = m_qmlid2scope[outstandingConnection.targetName];
+ if (outstandingConnection.scope)
+ outstandingConnection.scope->addMethods(targetScope->methods());
QScopedValueRollback<ScopeTree*> rollback(m_currentScope, outstandingConnection.scope);
outstandingConnection.uiod->initializer->accept(this);
}
- return m_rootScope->recheckIdentifiers(m_code, m_qmlid2meta, m_rootScope.get(), m_rootId, m_colorOut);
+ return m_rootScope->recheckIdentifiers(m_code, m_qmlid2scope, m_rootScope.get(), m_rootId,
+ m_colorOut);
}
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::VariableDeclarationList *vdl)
@@ -686,18 +730,16 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::VariableDeclarationList *vdl)
void FindUnqualifiedIDVisitor::visitFunctionExpressionHelper(QQmlJS::AST::FunctionExpression *fexpr)
{
using namespace QQmlJS::AST;
- if (!fexpr->name.isEmpty()) {
- auto name = fexpr->name.toString();
- if (m_currentScope->scopeType() == ScopeType::QMLScope) {
- m_currentScope->insertQMLIdentifier(name);
- } else {
+ auto name = fexpr->name.toString();
+ if (!name.isEmpty()) {
+ if (m_currentScope->scopeType() == ScopeType::QMLScope)
+ m_currentScope->addMethod(MetaMethod(name, QLatin1String("void")));
+ else
m_currentScope->insertJSIdentifier(name, VariableScope::Const);
- }
+ enterEnvironment(ScopeType::JSFunctionScope, name);
+ } else {
+ enterEnvironment(ScopeType::JSFunctionScope, QLatin1String("<anon>"));
}
- QString name = fexpr->name.toString();
- if (name.isEmpty())
- name = "<anon>";
- enterEnvironment(ScopeType::JSFunctionScope, name);
}
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::FunctionExpression *fexpr)
@@ -743,7 +785,8 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiImport *import)
QString path {};
if (!import->importId.isEmpty()) {
- m_qmlid2meta.insert(import->importId.toString(), {}); // TODO: do not put imported ids into the same space as qml IDs
+ // TODO: do not put imported ids into the same space as qml IDs
+ m_qmlid2scope.insert(import->importId.toString(), {});
}
if (import->version) {
auto uri = import->importUri;
@@ -761,14 +804,17 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiImport *import)
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiEnumDeclaration *uied)
{
- m_currentScope->insertQMLIdentifier(uied->name.toString());
+ MetaEnum qmlEnum(uied->name.toString());
+ for (const auto *member = uied->members; member; member = member->next)
+ qmlEnum.addKey(member->member.toString());
+ m_currentScope->addEnum(qmlEnum);
return true;
}
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiObjectBinding *uiob)
{
// property QtObject __styleData: QtObject {...}
- m_currentScope->insertPropertyIdentifier(uiob->qualifiedId->name.toString());
+
QString name {};
auto id = uiob->qualifiedTypeNameId;
QStringRef prefix = uiob->qualifiedTypeNameId->name;
@@ -777,9 +823,11 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiObjectBinding *uiob)
id = id->next;
}
name.chop(1);
+
+ const MetaProperty prop(uiob->qualifiedId->name.toString(), name, false, true, true, 0);
+ m_currentScope->addProperty(prop);
+
enterEnvironment(ScopeType::QMLScope, name);
- if (name == QLatin1String("Component") || name == QLatin1String("QtObject")) // there is no typeinfo for Component and QtObject, but they also have no interesting properties
- return true;
importExportedNames(prefix, name);
return true;
}
@@ -791,6 +839,8 @@ void FindUnqualifiedIDVisitor::endVisit(QQmlJS::AST::UiObjectBinding *)
bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiObjectDefinition *uiod)
{
+ using namespace QQmlJS::AST;
+
QString name {};
auto id = uiod->qualifiedTypeNameId;
QStringRef prefix = uiod->qualifiedTypeNameId->name;
@@ -802,8 +852,7 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiObjectDefinition *uiod)
enterEnvironment(ScopeType::QMLScope, name);
if (name.isLower())
return false; // Ignore grouped properties for now
- if (name == QLatin1String("Component") || name == QLatin1String("QtObject")) // there is no typeinfo for Component
- return true;
+
importExportedNames(prefix, name);
if (name.endsWith("Connections")) {
QString target;
@@ -825,25 +874,26 @@ bool FindUnqualifiedIDVisitor::visit(QQmlJS::AST::UiObjectDefinition *uiod)
}
member = member->next;
}
- LanguageUtils::FakeMetaObject::ConstPtr metaObject {};
+ ScopeTree::ConstPtr targetScope;
if (target.isEmpty()) {
// no target set, connection comes from parentF
ScopeTree* scope = m_currentScope;
do {
scope = scope->parentScope(); // TODO: rename method
} while (scope->scopeType() != ScopeType::QMLScope);
- auto metaObject = m_exportedName2MetaObject[scope->name()];
+ targetScope = m_exportedName2Scope[scope->name()];
} else {
// there was a target, check if we already can find it
- auto metaObjectIt = m_qmlid2meta.find(target);
- if (metaObjectIt != m_qmlid2meta.end()) {
- metaObject = *metaObjectIt;
+ auto scopeIt = m_qmlid2scope.find(target);
+ if (scopeIt != m_qmlid2scope.end()) {
+ targetScope = *scopeIt;
} else {
m_outstandingConnections.push_back({target, m_currentScope, uiod});
return false; // visit children later once target is known
}
}
- m_currentScope->addMethodsFromMetaObject(metaObject);
+ if (targetScope)
+ m_currentScope->addMethods(targetScope->methods());
}
return true;
}
diff --git a/tools/qmllint/findunqualified.h b/tools/qmllint/findunqualified.h
index 80413bd402..483a6da039 100644
--- a/tools/qmllint/findunqualified.h
+++ b/tools/qmllint/findunqualified.h
@@ -29,32 +29,47 @@
#ifndef FINDUNQUALIFIED_H
#define FINDUNQUALIFIED_H
-#include "qmljstypedescriptionreader.h"
-#include "qcoloroutput_p.h"
-
-#include <private/qqmljsastvisitor_p.h>
-#include <private/qqmljsast_p.h>
-
-#include <QScopedPointer>
-
-class ScopeTree;
-enum class ScopeType;
-
-class FindUnqualifiedIDVisitor : public QQmlJS::AST::Visitor {
-
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#include "typedescriptionreader.h"
+#include "scopetree.h"
+#include "qcoloroutput.h"
+
+#include <QtQml/private/qqmljsastvisitor_p.h>
+#include <QtQml/private/qqmljsast_p.h>
+
+#include <QtCore/qscopedpointer.h>
+
+class FindUnqualifiedIDVisitor : public QQmlJS::AST::Visitor
+{
+ Q_DISABLE_COPY_MOVE(FindUnqualifiedIDVisitor)
public:
- explicit FindUnqualifiedIDVisitor(QStringList const &qmltypeDirs, const QString& code,
- const QString& fileName, bool silent);
- ~FindUnqualifiedIDVisitor() override;
+ explicit FindUnqualifiedIDVisitor(QStringList qmltypeDirs, QString code,
+ QString fileName, bool silent);
+ ~FindUnqualifiedIDVisitor() override = default;
bool check();
private:
+ struct Import {
+ QHash<QString, ScopeTree::ConstPtr> objects;
+ QList<ModuleApiInfo> moduleApis;
+ QStringList dependencies;
+ };
+
QScopedPointer<ScopeTree> m_rootScope;
- ScopeTree *m_currentScope;
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> m_exportedName2MetaObject;
+ ScopeTree *m_currentScope = nullptr;
+ QHash<QString, ScopeTree::ConstPtr> m_exportedName2Scope;
QStringList m_qmltypeDirs;
- const QString& m_code;
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> m_qmlid2meta;
+ QString m_code;
+ QHash<QString, ScopeTree::ConstPtr> m_qmlid2scope;
QString m_rootId;
QString m_filePath;
QSet<QPair<QString, QString>> m_alreadySeenImports;
@@ -62,17 +77,28 @@ private:
ColorOutput m_colorOut;
bool m_visitFailed = false;
- struct OutstandingConnection {QString targetName; ScopeTree *scope; QQmlJS::AST::UiObjectDefinition *uiod;};
+ struct OutstandingConnection
+ {
+ QString targetName;
+ ScopeTree *scope;
+ QQmlJS::AST::UiObjectDefinition *uiod;
+ };
QVarLengthArray<OutstandingConnection, 3> m_outstandingConnections; // Connections whose target we have not encountered
void enterEnvironment(ScopeType type, QString name);
void leaveEnvironment();
- void importHelper(QString id, QString prefix, int major, int minor);
- LanguageUtils::FakeMetaObject* localQmlFile2FakeMetaObject(QString filePath);
+ void importHelper(const QString &module, const QString &prefix = QString(),
+ int major = -1, int minor = -1);
+
+ void readQmltypes(const QString &filename, Import &result);
+ Import readQmldir(const QString &dirname);
+ void processImport(const QString &prefix, const Import &import);
+
+ ScopeTree *localQmlFile2ScopeTree(const QString &filePath);
void importDirectory(const QString &directory, const QString &prefix);
- void importExportedNames(QStringRef prefix, QString name);
+ void importExportedNames(const QStringRef &prefix, QString name);
void throwRecursionDepthError() override;
@@ -130,5 +156,4 @@ private:
bool visit(QQmlJS::AST::PatternElement *) override;
};
-
#endif // FINDUNQUALIFIED_H
diff --git a/tools/qmllint/main.cpp b/tools/qmllint/main.cpp
index 232b31934e..0a0e669e94 100644
--- a/tools/qmllint/main.cpp
+++ b/tools/qmllint/main.cpp
@@ -26,27 +26,29 @@
**
****************************************************************************/
-#include <QDebug>
-#include <QFile>
-#include <QFileInfo>
+#include "findunqualified.h"
+
+#include <QtQml/private/qqmljslexer_p.h>
+#include <QtQml/private/qqmljsparser_p.h>
+#include <QtQml/private/qqmljsengine_p.h>
+#include <QtQml/private/qqmljsastvisitor_p.h>
+#include <QtQml/private/qqmljsast_p.h>
+
+#include <QtCore/qdebug.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qcoreapplication.h>
+
#if QT_CONFIG(commandlineparser)
-#include <QCommandLineParser>
+#include <QtCore/qcommandlineparser.h>
#endif
-#include <QCoreApplication>
#ifndef QT_BOOTSTRAPPED
-#include <QLibraryInfo>
+#include <QtCore/qlibraryinfo.h>
#endif
-#include <private/qqmljslexer_p.h>
-#include <private/qqmljsparser_p.h>
-#include <private/qqmljsengine_p.h>
-#include <private/qqmljsastvisitor_p.h>
-#include <private/qqmljsast_p.h>
-
-#include "findunqualified.h"
-
-static bool lint_file(const QString &filename, const bool silent, const bool warnUnqualied, QStringList const &qmltypeDirs)
+static bool lint_file(const QString &filename, const bool silent, const bool warnUnqualied,
+ const QStringList &qmltypeDirs)
{
QFile file(filename);
if (!file.open(QFile::ReadOnly)) {
@@ -63,17 +65,20 @@ static bool lint_file(const QString &filename, const bool silent, const bool war
QFileInfo info(filename);
const QString lowerSuffix = info.suffix().toLower();
- const bool isJavaScript = (lowerSuffix == QLatin1String("js") || lowerSuffix == QLatin1String("mjs"));
const bool isESModule = lowerSuffix == QLatin1String("mjs");
- lexer.setCode(code, /*line = */ 1, /*qmlMode=*/ !isJavaScript);
+ const bool isJavaScript = isESModule || lowerSuffix == QLatin1String("js");
+
+ lexer.setCode(code, /*lineno = */ 1, /*qmlMode=*/ !isJavaScript);
QQmlJS::Parser parser(&engine);
- bool success = isJavaScript ? (isESModule ? parser.parseModule() : parser.parseProgram()) : parser.parse();
+ bool success = isJavaScript ? (isESModule ? parser.parseModule() : parser.parseProgram())
+ : parser.parse();
if (!success && !silent) {
const auto diagnosticMessages = parser.diagnosticMessages();
for (const QQmlJS::DiagnosticMessage &m : diagnosticMessages) {
- qWarning("%s:%d : %s", qPrintable(filename), m.line, qPrintable(m.message));
+ qWarning().noquote() << QString::fromLatin1("%1:%2 : %3")
+ .arg(filename).arg(m.line).arg(m.message);
}
}
@@ -98,10 +103,12 @@ int main(int argv, char *argc[])
parser.addHelpOption();
parser.addVersionOption();
- QCommandLineOption silentOption(QStringList() << "s" << "silent", QLatin1String("Don't output syntax errors"));
+ QCommandLineOption silentOption(QStringList() << "s" << "silent",
+ QLatin1String("Don't output syntax errors"));
parser.addOption(silentOption);
- QCommandLineOption checkUnqualified(QStringList() << "U" << "check-unqualified", QLatin1String("Warn about unqualified identifiers"));
+ QCommandLineOption checkUnqualified(QStringList() << "U" << "check-unqualified",
+ QLatin1String("Warn about unqualified identifiers"));
parser.addOption(checkUnqualified);
QCommandLineOption qmltypesDirsOption(
@@ -111,7 +118,8 @@ int main(int argv, char *argc[])
QLatin1String("directory"));
parser.addOption(qmltypesDirsOption);
- parser.addPositionalArgument(QLatin1String("files"), QLatin1String("list of qml or js files to verify"));
+ parser.addPositionalArgument(QLatin1String("files"),
+ QLatin1String("list of qml or js files to verify"));
parser.process(app);
@@ -123,12 +131,14 @@ int main(int argv, char *argc[])
bool silent = parser.isSet(silentOption);
bool warnUnqualified = parser.isSet(checkUnqualified);
// use host qml import path as a sane default if nothing else has been provided
- QStringList qmltypeDirs = parser.isSet(qmltypesDirsOption) ? parser.values(qmltypesDirsOption)
-#ifndef QT_BOOTSTRAPPED
- : QStringList{QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath), QLatin1String(".")};
-#else
- : QStringList{QLatin1String(".")};
-#endif
+ QStringList qmltypeDirs = parser.isSet(qmltypesDirsOption)
+ ? parser.values(qmltypesDirsOption)
+# ifndef QT_BOOTSTRAPPED
+ : QStringList { QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath),
+ QLatin1String(".") };
+# else
+ : QStringList { QLatin1String(".") };
+# endif
#else
bool silent = false;
bool warnUnqualified = false;
diff --git a/tools/qmllint/metatypes.h b/tools/qmllint/metatypes.h
new file mode 100644
index 0000000000..24f8aa291e
--- /dev/null
+++ b/tools/qmllint/metatypes.h
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef METATYPES_H
+#define METATYPES_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#include <QtCore/qstring.h>
+#include <QtCore/qstringlist.h>
+
+class MetaEnum
+{
+ QString m_name;
+ QStringList m_keys;
+
+public:
+ MetaEnum() = default;
+ explicit MetaEnum(QString name) : m_name(std::move(name)) {}
+
+ bool isValid() const { return !m_name.isEmpty(); }
+
+ QString name() const { return m_name; }
+ void setName(const QString &name) { m_name = name; }
+
+ void addKey(const QString &key) { m_keys.append(key); }
+ QStringList keys() const { return m_keys; }
+};
+
+class MetaMethod
+{
+public:
+ enum Type {
+ Signal,
+ Slot,
+ Method
+ };
+
+ enum Access {
+ Private,
+ Protected,
+ Public
+ };
+
+ MetaMethod() = default;
+ explicit MetaMethod(QString name, QString returnType = QString())
+ : m_name(std::move(name))
+ , m_returnType(std::move(returnType))
+ , m_methodType(Method)
+ , m_methodAccess(Public)
+ {}
+
+ QString methodName() const { return m_name; }
+ void setMethodName(const QString &name) { m_name = name; }
+
+ void setReturnType(const QString &type) { m_returnType = type; }
+
+ QStringList parameterNames() const { return m_paramNames; }
+ QStringList parameterTypes() const { return m_paramTypes; }
+ void addParameter(const QString &name, const QString &type)
+ {
+ m_paramNames.append(name);
+ m_paramTypes.append(type);
+ }
+
+ int methodType() const { return m_methodType; }
+ void setMethodType(Type methodType) { m_methodType = methodType; }
+
+ Access access() const { return m_methodAccess; }
+
+ int revision() const { return m_revision; }
+ void setRevision(int r) { m_revision = r; }
+
+private:
+ QString m_name;
+ QString m_returnType;
+ QStringList m_paramNames;
+ QStringList m_paramTypes;
+ Type m_methodType = Signal;
+ Access m_methodAccess = Private;
+ int m_revision = 0;
+};
+
+class MetaProperty
+{
+ QString m_propertyName;
+ QString m_type;
+ bool m_isList;
+ bool m_isWritable;
+ bool m_isPointer;
+ int m_revision;
+
+public:
+ MetaProperty(QString name, QString type,
+ bool isList, bool isWritable, bool isPointer, int revision)
+ : m_propertyName(std::move(name))
+ , m_type(std::move(type))
+ , m_isList(isList)
+ , m_isWritable(isWritable)
+ , m_isPointer(isPointer)
+ , m_revision(revision)
+ {}
+
+ QString name() const { return m_propertyName; }
+ QString typeName() const { return m_type; }
+
+ bool isList() const { return m_isList; }
+ bool isWritable() const { return m_isWritable; }
+ bool isPointer() const { return m_isPointer; }
+ int revision() const { return m_revision; }
+};
+
+#endif // METATYPES_H
diff --git a/tools/qmllint/qcoloroutput.cpp b/tools/qmllint/qcoloroutput.cpp
index eb4c721663..84bd22c428 100644
--- a/tools/qmllint/qcoloroutput.cpp
+++ b/tools/qmllint/qcoloroutput.cpp
@@ -26,72 +26,76 @@
**
****************************************************************************/
-#include <QFile>
-#include <QHash>
-#include <QTextCodec>
+#include "qcoloroutput.h"
+
+#include <QtCore/qfile.h>
+#include <QtCore/qhash.h>
+#include <QtCore/qtextcodec.h>
#ifndef Q_OS_WIN
#include <unistd.h>
#endif
-#include "qcoloroutput_p.h"
-
class ColorOutputPrivate
{
public:
- ColorOutputPrivate(bool silent) : currentColorID(-1), silent(silent)
-
+ ColorOutputPrivate(bool silent) : m_currentColorID(-1), m_silent(silent)
{
- /* - QIODevice::Unbuffered because we want it to appear when the user actually calls, performance
- * is considered of lower priority.
+ /* - QIODevice::Unbuffered because we want it to appear when the user actually calls,
+ * performance is considered of lower priority.
*/
m_out.open(stderr, QIODevice::WriteOnly | QIODevice::Unbuffered);
-
- coloringEnabled = isColoringPossible();
+ m_coloringEnabled = isColoringPossible();
}
- ColorOutput::ColorMapping colorMapping;
- int currentColorID;
- bool coloringEnabled;
- bool silent;
-
static const char *const foregrounds[];
static const char *const backgrounds[];
- inline void write(const QString &msg)
- {
- m_out.write(msg.toLocal8Bit());
- }
+ inline void write(const QString &msg) { m_out.write(msg.toLocal8Bit()); }
static QString escapeCode(const QString &in)
{
+ const ushort escapeChar = 0x1B;
QString result;
- result.append(QChar(0x1B));
+ result.append(QChar(escapeChar));
result.append(QLatin1Char('['));
result.append(in);
result.append(QLatin1Char('m'));
return result;
}
+ void insertColor(int id, ColorOutput::ColorCode code) { m_colorMapping.insert(id, code); }
+ ColorOutput::ColorCode color(int id) const { return m_colorMapping.value(id); }
+ bool containsColor(int id) const { return m_colorMapping.contains(id); }
+
+ bool isSilent() const { return m_silent; }
+ void setCurrentColorID(int colorId) { m_currentColorID = colorId; }
+
+ bool coloringEnabled() const { return m_coloringEnabled; }
+
private:
QFile m_out;
+ ColorOutput::ColorMapping m_colorMapping;
+ int m_currentColorID;
+ bool m_coloringEnabled;
+ bool m_silent;
/*!
Returns true if it's suitable to send colored output to \c stderr.
*/
inline bool isColoringPossible() const
{
-# if defined(Q_OS_WIN)
- /* Windows doesn't at all support ANSI escape codes, unless
- * the user install a "device driver". See the Wikipedia links in the
- * class documentation for details. */
- return false;
-# else
- /* We use QFile::handle() to get the file descriptor. It's a bit unsure
- * whether it's 2 on all platforms and in all cases, so hopefully this layer
- * of abstraction helps handle such cases. */
- return isatty(m_out.handle());
-# endif
+#if defined(Q_OS_WIN)
+ /* Windows doesn't at all support ANSI escape codes, unless
+ * the user install a "device driver". See the Wikipedia links in the
+ * class documentation for details. */
+ return false;
+#else
+ /* We use QFile::handle() to get the file descriptor. It's a bit unsure
+ * whether it's 2 on all platforms and in all cases, so hopefully this layer
+ * of abstraction helps handle such cases. */
+ return isatty(m_out.handle());
+#endif
}
};
@@ -128,7 +132,6 @@ const char *const ColorOutputPrivate::backgrounds[] =
/*!
\class ColorOutput
- \since 4.4
\nonreentrant
\brief Outputs colored messages to \c stderr.
\internal
@@ -215,40 +218,17 @@ const char *const ColorOutputPrivate::backgrounds[] =
*/
/*!
- Sets the color mapping to be \a cMapping.
-
- Negative values are disallowed.
-
- \sa colorMapping(), insertMapping()
- */
-void ColorOutput::setColorMapping(const ColorMapping &cMapping)
-{
- d->colorMapping = cMapping;
-}
-
-/*!
- Returns the color mappings in use.
-
- \sa setColorMapping(), insertMapping()
- */
-ColorOutput::ColorMapping ColorOutput::colorMapping() const
-{
- return d->colorMapping;
-}
-
-/*!
Constructs a ColorOutput instance, ready for use.
*/
-ColorOutput::ColorOutput(bool silent) : d(new ColorOutputPrivate(silent))
-{
-}
+ColorOutput::ColorOutput(bool silent) : d(new ColorOutputPrivate(silent)) {}
-ColorOutput::~ColorOutput() = default; // must be here so that QScopedPointer has access to the complete type
+// must be here so that QScopedPointer has access to the complete type
+ColorOutput::~ColorOutput() = default;
/*!
- Sends \a message to \c stderr, using the color looked up in colorMapping() using \a colorID.
+ Sends \a message to \c stderr, using the color looked up in the color mapping using \a colorID.
- If \a color isn't available in colorMapping(), result and behavior is undefined.
+ If \a color isn't available in the color mapping, result and behavior is undefined.
If \a colorID is 0, which is the default value, the previously used coloring is used. ColorOutput
is initialized to not color at all.
@@ -259,7 +239,7 @@ ColorOutput::~ColorOutput() = default; // must be here so that QScopedPointer ha
*/
void ColorOutput::write(const QString &message, int colorID)
{
- if (!d->silent)
+ if (!d->isSilent())
d->write(colorify(message, colorID));
}
@@ -271,7 +251,7 @@ void ColorOutput::write(const QString &message, int colorID)
*/
void ColorOutput::writeUncolored(const QString &message)
{
- if (!d->silent)
+ if (!d->isSilent())
d->write(message + QLatin1Char('\n'));
}
@@ -285,61 +265,56 @@ void ColorOutput::writeUncolored(const QString &message)
*/
QString ColorOutput::colorify(const QString &message, int colorID) const
{
- Q_ASSERT_X(colorID == -1 || d->colorMapping.contains(colorID), Q_FUNC_INFO,
- qPrintable(QString::fromLatin1("There is no color registered by id %1").arg(colorID)));
- Q_ASSERT_X(!message.isEmpty(), Q_FUNC_INFO, "It makes no sense to attempt to print an empty string.");
+ Q_ASSERT_X(colorID == -1 || d->containsColor(colorID), Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("There is no color registered by id %1")
+ .arg(colorID)));
+ Q_ASSERT_X(!message.isEmpty(), Q_FUNC_INFO,
+ "It makes no sense to attempt to print an empty string.");
if (colorID != -1)
- d->currentColorID = colorID;
+ d->setCurrentColorID(colorID);
- if (d->coloringEnabled && colorID != -1)
- {
- const int color(d->colorMapping.value(colorID));
+ if (d->coloringEnabled() && colorID != -1) {
+ const int color = d->color(colorID);
/* If DefaultColor is set, we don't want to color it. */
if (color & DefaultColor)
return message;
- const int foregroundCode = (int(color) & ForegroundMask) >> ForegroundShift;
- const int backgroundCode = (int(color) & BackgroundMask) >> BackgroundShift;
+ const int foregroundCode = (color & ForegroundMask) >> ForegroundShift;
+ const int backgroundCode = (color & BackgroundMask) >> BackgroundShift;
QString finalMessage;
bool closureNeeded = false;
- if (foregroundCode)
- {
- finalMessage.append(ColorOutputPrivate::escapeCode(QLatin1String(ColorOutputPrivate::foregrounds[foregroundCode - 1])));
+ if (foregroundCode > 0) {
+ finalMessage.append(
+ ColorOutputPrivate::escapeCode(
+ QLatin1String(ColorOutputPrivate::foregrounds[foregroundCode - 1])));
closureNeeded = true;
}
- if (backgroundCode)
- {
- finalMessage.append(ColorOutputPrivate::escapeCode(QLatin1String(ColorOutputPrivate::backgrounds[backgroundCode - 1])));
+ if (backgroundCode > 0) {
+ finalMessage.append(
+ ColorOutputPrivate::escapeCode(
+ QLatin1String(ColorOutputPrivate::backgrounds[backgroundCode - 1])));
closureNeeded = true;
}
finalMessage.append(message);
if (closureNeeded)
- {
- finalMessage.append(QChar(0x1B));
- finalMessage.append(QLatin1String("[0m"));
- }
+ finalMessage.append(ColorOutputPrivate::escapeCode(QLatin1String("0")));
return finalMessage;
}
- else
- return message;
+
+ return message;
}
/*!
Adds a color mapping from \a colorID to \a colorCode, for this ColorOutput instance.
-
- This is a convenience function for creating a ColorOutput::ColorMapping instance and
- calling setColorMapping().
-
- \sa colorMapping(), setColorMapping()
*/
-void ColorOutput::insertColorMapping(int colorID, const ColorCode colorCode)
+void ColorOutput::insertMapping(int colorID, const ColorCode colorCode)
{
- d->colorMapping.insert(colorID, colorCode);
+ d->insertColor(colorID, colorCode);
}
diff --git a/tools/qmllint/qcoloroutput_p.h b/tools/qmllint/qcoloroutput.h
index aefa765a87..92f4b47ff0 100644
--- a/tools/qmllint/qcoloroutput_p.h
+++ b/tools/qmllint/qcoloroutput.h
@@ -26,6 +26,9 @@
**
****************************************************************************/
+#ifndef QCOLOROUTPUT_H
+#define QCOLOROUTPUT_H
+
//
// W A R N I N G
// -------------
@@ -36,12 +39,8 @@
//
// We mean it.
-#ifndef QCOLOROUTPUT_P_H
-#define QCOLOROUTPUT_P_H
-
-#include <QtCore/QtGlobal>
-#include <QtCore/QHash>
-#include <QScopedPointer>
+#include <QtCore/qglobal.h>
+#include <QtCore/qscopedpointer.h>
class ColorOutputPrivate;
@@ -86,15 +85,13 @@ public:
DefaultColor = 1 << SpecialShift
};
- typedef QFlags<ColorCodeComponent> ColorCode;
- typedef QHash<int, ColorCode> ColorMapping;
+ using ColorCode = QFlags<ColorCodeComponent>;
+ using ColorMapping = QHash<int, ColorCode>;
ColorOutput(bool silent);
~ColorOutput();
- void setColorMapping(const ColorMapping &cMapping);
- ColorMapping colorMapping() const;
- void insertColorMapping(int colorID, const ColorCode colorCode);
+ void insertMapping(int colorID, ColorCode colorCode);
void writeUncolored(const QString &message);
void write(const QString &message, int color = -1);
@@ -102,9 +99,9 @@ public:
private:
QScopedPointer<ColorOutputPrivate> d;
- Q_DISABLE_COPY(ColorOutput)
+ Q_DISABLE_COPY_MOVE(ColorOutput)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(ColorOutput::ColorCode)
-#endif
+#endif // QCOLOROUTPUT_H
diff --git a/tools/qmllint/qmljstypedescriptionreader.h b/tools/qmllint/qmljstypedescriptionreader.h
deleted file mode 100644
index df215af8d2..0000000000
--- a/tools/qmllint/qmljstypedescriptionreader.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tools applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLJSTYPEDESCRIPTIONREADER_H
-#define QMLJSTYPEDESCRIPTIONREADER_H
-
-#include <private/qqmljsastfwd_p.h>
-#include "fakemetaobject.h"
-
-// for Q_DECLARE_TR_FUNCTIONS
-#include <QCoreApplication>
-
-QT_BEGIN_NAMESPACE
-class QIODevice;
-class QBuffer;
-
-namespace QQmlJS {
-
-class ModuleApiInfo
-{
-public:
- QString uri;
- LanguageUtils::ComponentVersion version;
- QString cppName;
-};
-
-
-class TypeDescriptionReader
-{
- Q_DECLARE_TR_FUNCTIONS(QQmlJS::TypeDescriptionReader)
-
-public:
- explicit TypeDescriptionReader(const QString &fileName, const QString &data);
- ~TypeDescriptionReader();
-
- bool operator()(
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> *objects,
- QList<ModuleApiInfo> *moduleApis,
- QStringList *dependencies);
- QString errorMessage() const;
- QString warningMessage() const;
-
-private:
- void readDocument(AST::UiProgram *ast);
- void readModule(AST::UiObjectDefinition *ast);
- void readDependencies(AST::UiScriptBinding *ast);
- void readComponent(AST::UiObjectDefinition *ast);
- void readModuleApi(AST::UiObjectDefinition *ast);
- void readSignalOrMethod(AST::UiObjectDefinition *ast, bool isMethod, LanguageUtils::FakeMetaObject::Ptr fmo);
- void readProperty(AST::UiObjectDefinition *ast, LanguageUtils::FakeMetaObject::Ptr fmo);
- void readEnum(AST::UiObjectDefinition *ast, LanguageUtils::FakeMetaObject::Ptr fmo);
- void readParameter(AST::UiObjectDefinition *ast, LanguageUtils::FakeMetaMethod *fmm);
-
- QString readStringBinding(AST::UiScriptBinding *ast);
- bool readBoolBinding(AST::UiScriptBinding *ast);
- double readNumericBinding(AST::UiScriptBinding *ast);
- LanguageUtils::ComponentVersion readNumericVersionBinding(AST::UiScriptBinding *ast);
- int readIntBinding(AST::UiScriptBinding *ast);
- void readExports(AST::UiScriptBinding *ast, LanguageUtils::FakeMetaObject::Ptr fmo);
- void readMetaObjectRevisions(AST::UiScriptBinding *ast, LanguageUtils::FakeMetaObject::Ptr fmo);
- void readEnumValues(AST::UiScriptBinding *ast, LanguageUtils::FakeMetaEnum *fme);
-
- void addError(const AST::SourceLocation &loc, const QString &message);
- void addWarning(const AST::SourceLocation &loc, const QString &message);
-
- QString _fileName;
- QString _source;
- QString _errorMessage;
- QString _warningMessage;
- QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> *_objects;
- QList<ModuleApiInfo> *_moduleApis = nullptr;
- QStringList *_dependencies = nullptr;
-};
-
-} // namespace QQmlJS
-QT_END_NAMESPACE
-
-#endif // QMLJSTYPEDESCRIPTIONREADER_H
diff --git a/tools/qmllint/qmllint.pro b/tools/qmllint/qmllint.pro
index 76363a7cd8..2631768b81 100644
--- a/tools/qmllint/qmllint.pro
+++ b/tools/qmllint/qmllint.pro
@@ -4,11 +4,10 @@ QT = core qmldevtools-private
SOURCES += main.cpp \
componentversion.cpp \
- fakemetaobject.cpp \
findunqualified.cpp \
- qmljstypedescriptionreader.cpp \
qcoloroutput.cpp \
- scopetree.cpp
+ scopetree.cpp \
+ typedescriptionreader.cpp
QMAKE_TARGET_DESCRIPTION = QML Syntax Verifier
@@ -16,8 +15,8 @@ load(qt_tool)
HEADERS += \
componentversion.h \
- fakemetaobject.h \
findunqualified.h \
- qmljstypedescriptionreader.h \
- qcoloroutput_p.h \
- scopetree.h
+ metatypes.h \
+ qcoloroutput.h \
+ scopetree.h \
+ typedescriptionreader.h
diff --git a/tools/qmllint/scopetree.cpp b/tools/qmllint/scopetree.cpp
index 1e873cca8f..7e9be92673 100644
--- a/tools/qmllint/scopetree.cpp
+++ b/tools/qmllint/scopetree.cpp
@@ -27,28 +27,27 @@
****************************************************************************/
#include "scopetree.h"
+#include "qcoloroutput.h"
-#include "qcoloroutput_p.h"
+#include <QtCore/qqueue.h>
#include <algorithm>
-#include <QQueue>
-
ScopeTree::ScopeTree(ScopeType type, QString name, ScopeTree *parentScope)
- : m_parentScope(parentScope), m_name(name), m_scopeType(type) {}
+ : m_parentScope(parentScope), m_name(std::move(name)), m_scopeType(type) {}
-ScopeTree *ScopeTree::createNewChildScope(ScopeType type, QString name) {
- Q_ASSERT(type != ScopeType::QMLScope|| !m_parentScope || m_parentScope->m_scopeType == ScopeType::QMLScope || m_parentScope->m_name == "global");
- auto childScope = new ScopeTree{type, name, this};
+ScopeTree *ScopeTree::createNewChildScope(ScopeType type, QString name)
+{
+ Q_ASSERT(type != ScopeType::QMLScope
+ || !m_parentScope
+ || m_parentScope->m_scopeType == ScopeType::QMLScope
+ || m_parentScope->m_name == "global");
+ auto childScope = new ScopeTree{type, std::move(name), this};
m_childScopes.push_back(childScope);
return childScope;
}
-ScopeTree *ScopeTree::parentScope() {
- return m_parentScope;
-}
-
-void ScopeTree::insertJSIdentifier(QString id, QQmlJS::AST::VariableScope scope)
+void ScopeTree::insertJSIdentifier(const QString &id, QQmlJS::AST::VariableScope scope)
{
Q_ASSERT(m_scopeType != ScopeType::QMLScope);
if (scope == QQmlJS::AST::VariableScope::Var) {
@@ -56,29 +55,25 @@ void ScopeTree::insertJSIdentifier(QString id, QQmlJS::AST::VariableScope scope)
while (targetScope->scopeType() != ScopeType::JSFunctionScope) {
targetScope = targetScope->m_parentScope;
}
- targetScope->m_currentScopeJSIdentifiers.insert(id);
+ targetScope->m_jsIdentifiers.insert(id);
} else {
- m_currentScopeJSIdentifiers.insert(id);
+ m_jsIdentifiers.insert(id);
}
}
-void ScopeTree::insertQMLIdentifier(QString id)
-{
- Q_ASSERT(m_scopeType == ScopeType::QMLScope);
- m_currentScopeQMLIdentifiers.insert(id);
-}
-
-void ScopeTree::insertSignalIdentifier(QString id, LanguageUtils::FakeMetaMethod method, QQmlJS::AST::SourceLocation loc, bool hasMultilineHandlerBody)
+void ScopeTree::insertSignalIdentifier(const QString &id, const MetaMethod &method,
+ const QQmlJS::AST::SourceLocation &loc,
+ bool hasMultilineHandlerBody)
{
Q_ASSERT(m_scopeType == ScopeType::QMLScope);
m_injectedSignalIdentifiers.insert(id, {method, loc, hasMultilineHandlerBody});
}
-void ScopeTree::insertPropertyIdentifier(QString id)
+void ScopeTree::insertPropertyIdentifier(const MetaProperty &property)
{
- this->insertQMLIdentifier(id);
- LanguageUtils::FakeMetaMethod method( id + QLatin1String("Changed"), "void");
- this->addMethod(method);
+ addProperty(property);
+ MetaMethod method(property.name() + QLatin1String("Changed"), "void");
+ addMethod(method);
}
void ScopeTree::addUnmatchedSignalHandler(const QString &handler,
@@ -92,52 +87,62 @@ bool ScopeTree::isIdInCurrentScope(const QString &id) const
return isIdInCurrentQMlScopes(id) || isIdInCurrentJSScopes(id);
}
-void ScopeTree::addIdToAccssedIfNotInParentScopes(const QPair<QString, QQmlJS::AST::SourceLocation> &id_loc_pair, const QSet<QString>& unknownImports) {
+void ScopeTree::addIdToAccssedIfNotInParentScopes(
+ const QPair<QString, QQmlJS::AST::SourceLocation> &idLocationPair,
+ const QSet<QString> &unknownImports)
+{
// also do not add id if it is parent
// parent is almost always defined valid in QML, and if we could not find a definition for the current QML component
// not skipping "parent" will lead to many false positives
// Moreover, if the top level item is Item or inherits from it, it will have a parent property to which we would point the user
// which makes for a very nonsensical warning
- auto qmlScope = getCurrentQMLScope();
- if (!isIdInCurrentScope(id_loc_pair.first) && !(id_loc_pair.first == QLatin1String("parent") && qmlScope && unknownImports.contains(qmlScope->name()))) {
- m_accessedIdentifiers.push_back(id_loc_pair);
+ const auto *qmlScope = currentQMLScope();
+ if (!isIdInCurrentScope(idLocationPair.first)
+ && !(idLocationPair.first == QLatin1String("parent")
+ && qmlScope && unknownImports.contains(qmlScope->name()))) {
+ m_accessedIdentifiers.push_back(idLocationPair);
}
}
bool ScopeTree::isVisualRootScope() const
{
- return m_parentScope && m_parentScope->m_parentScope && m_parentScope->m_parentScope->m_parentScope == nullptr;
+ return m_parentScope && m_parentScope->m_parentScope
+ && m_parentScope->m_parentScope->m_parentScope == nullptr;
}
-QString ScopeTree::name() const
+class IssueLocationWithContext
{
- return m_name;
-}
-
-struct IssueLocationWithContext
-{
- IssueLocationWithContext(const QString& code, QQmlJS::AST::SourceLocation location) {
+public:
+ IssueLocationWithContext(const QString &code, const QQmlJS::AST::SourceLocation &location) {
int before = std::max(0,code.lastIndexOf('\n', location.offset));
- beforeText = code.midRef(before+1, location.offset - (before+1) );
- issueText = code.midRef(location.offset, location.length);
- int after = code.indexOf('\n', location.offset + location.length);
- afterText = code.midRef(location.offset+location.length, after - (location.offset+location.length));
+ m_beforeText = code.midRef(before + 1, int(location.offset - (before + 1)));
+ m_issueText = code.midRef(location.offset, location.length);
+ int after = code.indexOf('\n', int(location.offset + location.length));
+ m_afterText = code.midRef(int(location.offset + location.length),
+ int(after - (location.offset+location.length)));
}
- QStringRef beforeText;
- QStringRef issueText;
- QStringRef afterText;
+ QStringRef beforeText() const { return m_beforeText; }
+ QStringRef issueText() const { return m_issueText; }
+ QStringRef afterText() const { return m_afterText; }
+
+private:
+ QStringRef m_beforeText;
+ QStringRef m_issueText;
+ QStringRef m_afterText;
};
-bool ScopeTree::recheckIdentifiers(const QString& code, const QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr> &qmlIDs, const ScopeTree *root, const QString& rootId, ColorOutput& colorOut) const
+bool ScopeTree::recheckIdentifiers(
+ const QString &code, const QHash<QString, ScopeTree::ConstPtr> &qmlIDs,
+ const ScopeTree *root, const QString &rootId, ColorOutput &colorOut) const
{
bool noUnqualifiedIdentifier = true;
// revisit all scopes
- QQueue<const ScopeTree*> workQueue;
+ QQueue<const ScopeTree *> workQueue;
workQueue.enqueue(this);
while (!workQueue.empty()) {
- const ScopeTree* currentScope = workQueue.dequeue();
+ const ScopeTree *currentScope = workQueue.dequeue();
for (const auto &handler : currentScope->m_unmatchedSignalHandlers) {
colorOut.write("Warning: ", Warning);
colorOut.write(QString::fromLatin1(
@@ -147,7 +152,7 @@ bool ScopeTree::recheckIdentifiers(const QString& code, const QHash<QString, Lan
printContext(colorOut, code, handler.second);
}
- for (auto idLocationPair : currentScope->m_accessedIdentifiers) {
+ for (const auto &idLocationPair : qAsConst(currentScope->m_accessedIdentifiers)) {
if (qmlIDs.contains(idLocationPair.first))
continue;
if (currentScope->isIdInCurrentScope(idLocationPair.first)) {
@@ -156,17 +161,17 @@ bool ScopeTree::recheckIdentifiers(const QString& code, const QHash<QString, Lan
noUnqualifiedIdentifier = false;
colorOut.write("Warning: ", Warning);
auto location = idLocationPair.second;
- colorOut.write(QString::asprintf("unqualified access at %d:%d\n", location.startLine,
- location.startColumn), Normal);
+ colorOut.write(QString::fromLatin1("unqualified access at %1:%2\n")
+ .arg(location.startLine).arg(location.startColumn),
+ Normal);
printContext(colorOut, code, location);
// root(JS) --> program(qml) --> (first element)
- if (root->m_childScopes[0]->m_childScopes[0]->m_currentScopeQMLIdentifiers.contains(idLocationPair.first)) {
- ScopeTree *parentScope = currentScope->m_parentScope;
- while (parentScope && parentScope->scopeType() != ScopeType::QMLScope) {
- parentScope = parentScope->m_parentScope;
- }
+ const auto firstElement = root->m_childScopes[0]->m_childScopes[0];
+ if (firstElement->m_properties.contains(idLocationPair.first)
+ || firstElement->m_methods.contains(idLocationPair.first)
+ || firstElement->m_enums.contains(idLocationPair.first)) {
colorOut.write("Note: ", Info);
colorOut.write( idLocationPair.first + QLatin1String(" is a meber of the root element\n"), Normal );
colorOut.write(QLatin1String(" You can qualify the access with its id to avoid this warning:\n"), Normal);
@@ -175,92 +180,87 @@ bool ScopeTree::recheckIdentifiers(const QString& code, const QHash<QString, Lan
colorOut.write(("You first have to give the root element an id\n"));
}
IssueLocationWithContext issueLocationWithContext {code, location};
- colorOut.write(issueLocationWithContext.beforeText.toString(), Normal);
+ colorOut.write(issueLocationWithContext.beforeText().toString(), Normal);
colorOut.write(rootId + QLatin1Char('.'), Hint);
- colorOut.write(issueLocationWithContext.issueText.toString(), Normal);
- colorOut.write(issueLocationWithContext.afterText + QLatin1Char('\n'), Normal);
+ colorOut.write(issueLocationWithContext.issueText().toString(), Normal);
+ colorOut.write(issueLocationWithContext.afterText() + QLatin1Char('\n'), Normal);
} else if (currentScope->isIdInjectedFromSignal(idLocationPair.first)) {
- auto qmlScope = currentScope->getCurrentQMLScope();
- auto methodUsages = qmlScope->m_injectedSignalIdentifiers.values(idLocationPair.first);
+ auto methodUsages = currentScope->currentQMLScope()->m_injectedSignalIdentifiers
+ .values(idLocationPair.first);
auto location = idLocationPair.second;
// sort the list of signal handlers by their occurrence in the source code
// then, we select the first one whose location is after the unqualified id
// and go one step backwards to get the one which we actually need
- std::sort(methodUsages.begin(), methodUsages.end(), [](const MethodUsage m1, const MethodUsage m2) {
- return m1.loc.startLine < m2.loc.startLine || (m1.loc.startLine == m2.loc.startLine && m1.loc.startColumn < m2.loc.startColumn);
+ std::sort(methodUsages.begin(), methodUsages.end(),
+ [](const MethodUsage &m1, const MethodUsage &m2) {
+ return m1.loc.startLine < m2.loc.startLine
+ || (m1.loc.startLine == m2.loc.startLine
+ && m1.loc.startColumn < m2.loc.startColumn);
});
- auto oneBehindIt = std::find_if(methodUsages.begin(), methodUsages.end(), [&location](MethodUsage methodUsage) {
- return location.startLine < methodUsage.loc.startLine || (location.startLine == methodUsage.loc.startLine && location.startColumn < methodUsage.loc.startColumn);
+ auto oneBehindIt = std::find_if(methodUsages.begin(), methodUsages.end(),
+ [&location](const MethodUsage &methodUsage) {
+ return location.startLine < methodUsage.loc.startLine
+ || (location.startLine == methodUsage.loc.startLine
+ && location.startColumn < methodUsage.loc.startColumn);
});
auto methodUsage = *(--oneBehindIt);
colorOut.write("Note:", Info);
- colorOut.write(idLocationPair.first + QString::asprintf(" is accessible in this scope because you are handling a signal at %d:%d\n", methodUsage.loc.startLine, methodUsage.loc.startColumn), Normal);
+ colorOut.write(
+ idLocationPair.first + QString::fromLatin1(
+ " is accessible in this scope because "
+ "you are handling a signal at %1:%2\n")
+ .arg(methodUsage.loc.startLine).arg(methodUsage.loc.startColumn),
+ Normal);
colorOut.write("Consider using a function instead\n", Normal);
IssueLocationWithContext context {code, methodUsage.loc};
- colorOut.write(context.beforeText + QLatin1Char(' '));
+ colorOut.write(context.beforeText() + QLatin1Char(' '));
colorOut.write(methodUsage.hasMultilineHandlerBody ? "function(" : "(", Hint);
const auto parameters = methodUsage.method.parameterNames();
for (int numParams = parameters.size(); numParams > 0; --numParams) {
colorOut.write(parameters.at(parameters.size() - numParams), Hint);
- if (numParams > 1) {
+ if (numParams > 1)
colorOut.write(", ", Hint);
- }
}
colorOut.write(methodUsage.hasMultilineHandlerBody ? ")" : ") => ", Hint);
colorOut.write(" {...", Normal);
}
colorOut.write("\n\n\n", Normal);
}
- for (auto const& childScope: currentScope->m_childScopes) {
+ for (auto const& childScope: currentScope->m_childScopes)
workQueue.enqueue(childScope);
- }
}
return noUnqualifiedIdentifier;
}
-QMap<QString, LanguageUtils::FakeMetaMethod>const &ScopeTree::methods() const
+bool ScopeTree::isIdInCurrentQMlScopes(const QString &id) const
{
- return m_methods;
+ const auto *qmlScope = currentQMLScope();
+ return qmlScope->m_properties.contains(id)
+ || qmlScope->m_methods.contains(id)
+ || qmlScope->m_enums.contains(id);
}
-bool ScopeTree::isIdInCurrentQMlScopes(QString id) const
-{
- auto qmlScope = getCurrentQMLScope();
- return qmlScope->m_currentScopeQMLIdentifiers.contains(id) || qmlScope->m_methods.contains(id);
-}
-
-bool ScopeTree::isIdInCurrentJSScopes(QString id) const
+bool ScopeTree::isIdInCurrentJSScopes(const QString &id) const
{
auto jsScope = this;
while (jsScope) {
- if (jsScope->m_scopeType != ScopeType::QMLScope && jsScope->m_currentScopeJSIdentifiers.contains(id))
+ if (jsScope->m_scopeType != ScopeType::QMLScope && jsScope->m_jsIdentifiers.contains(id))
return true;
jsScope = jsScope->m_parentScope;
}
return false;
}
-bool ScopeTree::isIdInjectedFromSignal(QString id) const
-{
- auto qmlScope = getCurrentQMLScope();
- return qmlScope->m_injectedSignalIdentifiers.contains(id);
-}
-
-const ScopeTree *ScopeTree::getCurrentQMLScope() const
+bool ScopeTree::isIdInjectedFromSignal(const QString &id) const
{
- auto qmlScope = this;
- while (qmlScope && qmlScope->m_scopeType != ScopeType::QMLScope) {
- qmlScope = qmlScope->m_parentScope;
- }
- return qmlScope;
+ return currentQMLScope()->m_injectedSignalIdentifiers.contains(id);
}
-ScopeTree *ScopeTree::getCurrentQMLScope()
+const ScopeTree *ScopeTree::currentQMLScope() const
{
auto qmlScope = this;
- while (qmlScope && qmlScope->m_scopeType != ScopeType::QMLScope) {
+ while (qmlScope && qmlScope->m_scopeType != ScopeType::QMLScope)
qmlScope = qmlScope->m_parentScope;
- }
return qmlScope;
}
@@ -268,30 +268,37 @@ void ScopeTree::printContext(ColorOutput &colorOut, const QString &code,
const QQmlJS::AST::SourceLocation &location) const
{
IssueLocationWithContext issueLocationWithContext {code, location};
- colorOut.write(issueLocationWithContext.beforeText.toString(), Normal);
- colorOut.write(issueLocationWithContext.issueText.toString(), Error);
- colorOut.write(issueLocationWithContext.afterText.toString() + QLatin1Char('\n'), Normal);
- int tabCount = issueLocationWithContext.beforeText.count(QLatin1Char('\t'));
- colorOut.write(QString(" ").repeated(issueLocationWithContext.beforeText.length() - tabCount)
+ colorOut.write(issueLocationWithContext.beforeText().toString(), Normal);
+ colorOut.write(issueLocationWithContext.issueText().toString(), Error);
+ colorOut.write(issueLocationWithContext.afterText().toString() + QLatin1Char('\n'), Normal);
+ int tabCount = issueLocationWithContext.beforeText().count(QLatin1Char('\t'));
+ colorOut.write(QString(" ").repeated(issueLocationWithContext.beforeText().length() - tabCount)
+ QString("\t").repeated(tabCount)
+ QString("^").repeated(location.length)
+ QLatin1Char('\n'), Normal);
}
-ScopeType ScopeTree::scopeType() {return m_scopeType;}
+void ScopeTree::addExport(const QString &name, const QString &package,
+ const ComponentVersion &version)
+{
+ m_exports.append(Export(package, name, version, 0));
+}
-void ScopeTree::addMethod(LanguageUtils::FakeMetaMethod method)
+void ScopeTree::setExportMetaObjectRevision(int exportIndex, int metaObjectRevision)
{
- m_methods.insert(method.methodName(), method);
+ m_exports[exportIndex].setMetaObjectRevision(metaObjectRevision);
}
-void ScopeTree::addMethodsFromMetaObject(LanguageUtils::FakeMetaObject::ConstPtr metaObject)
+ScopeTree::Export::Export(QString package, QString type, const ComponentVersion &version,
+ int metaObjectRevision) :
+ m_package(std::move(package)),
+ m_type(std::move(type)),
+ m_version(version),
+ m_metaObjectRevision(metaObjectRevision)
{
- if (metaObject) {
- auto methodCount = metaObject->methodCount();
- for (auto i = 0; i < methodCount; ++i) {
- auto method = metaObject->method(i);
- this->addMethod(method);
- }
- }
+}
+
+bool ScopeTree::Export::isValid() const
+{
+ return m_version.isValid() || !m_package.isEmpty() || !m_type.isEmpty();
}
diff --git a/tools/qmllint/scopetree.h b/tools/qmllint/scopetree.h
index 52cdc45e96..4b0d4a9539 100644
--- a/tools/qmllint/scopetree.h
+++ b/tools/qmllint/scopetree.h
@@ -29,15 +29,28 @@
#ifndef SCOPETREE_H
#define SCOPETREE_H
-#include "fakemetaobject.h"
-#include "private/qqmljsast_p.h"
-#include "private/qqmljssourcelocation_p.h"
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
-#include <QSet>
-#include <QString>
-#include <QMap>
+#include "metatypes.h"
+#include "componentversion.h"
-enum MessageColors{
+#include <QtQml/private/qqmljsast_p.h>
+#include <QtQml/private/qqmljssourcelocation_p.h>
+
+#include <QtCore/qset.h>
+#include <QtCore/qhash.h>
+#include <QtCore/qstring.h>
+
+enum MessageColors
+{
Error,
Warning,
Info,
@@ -54,58 +67,137 @@ enum class ScopeType
struct MethodUsage
{
- LanguageUtils::FakeMetaMethod method;
+ MetaMethod method;
QQmlJS::AST::SourceLocation loc;
bool hasMultilineHandlerBody;
};
class ColorOutput;
-
-class ScopeTree {
+class ScopeTree
+{
+ Q_DISABLE_COPY_MOVE(ScopeTree)
public:
- ScopeTree(ScopeType type, QString name="<none given>", ScopeTree* parentScope=nullptr);
- ~ScopeTree() {qDeleteAll(m_childScopes);}
+ using Ptr = QSharedPointer<ScopeTree>;
+ using ConstPtr = QSharedPointer<const ScopeTree>;
+
+ class Export {
+ public:
+ Export() = default;
+ Export(QString package, QString type, const ComponentVersion &version,
+ int metaObjectRevision);
+
+ bool isValid() const;
+
+ int metaObjectRevision() const { return m_metaObjectRevision; }
+ void setMetaObjectRevision(int metaObjectRevision)
+ {
+ m_metaObjectRevision = metaObjectRevision;
+ }
- ScopeTree* createNewChildScope(ScopeType type, QString name);
- ScopeTree* parentScope();
+ QString package() const { return m_package; }
+ QString type() const { return m_type; }
- void insertJSIdentifier(QString id, QQmlJS::AST::VariableScope scope);
- void insertQMLIdentifier(QString id);
- void insertSignalIdentifier(QString id, LanguageUtils::FakeMetaMethod method, QQmlJS::AST::SourceLocation loc, bool hasMultilineHandlerBody);
- void insertPropertyIdentifier(QString id); // inserts property as qml identifier as well as the corresponding
+ private:
+ QString m_package;
+ QString m_type;
+ ComponentVersion m_version;
+ int m_metaObjectRevision = 0;
+ };
+
+ ScopeTree(ScopeType type, QString name="<none given>", ScopeTree *parentScope=nullptr);
+ ~ScopeTree() { qDeleteAll(m_childScopes); }
+
+ ScopeTree *createNewChildScope(ScopeType type, QString name);
+ ScopeTree *parentScope() { return m_parentScope; }
+
+ void insertJSIdentifier(const QString &id, QQmlJS::AST::VariableScope scope);
+ void insertSignalIdentifier(const QString &id, const MetaMethod &method,
+ const QQmlJS::AST::SourceLocation &loc, bool hasMultilineHandlerBody);
+ // inserts property as qml identifier as well as the corresponding
+ void insertPropertyIdentifier(const MetaProperty &prop);
void addUnmatchedSignalHandler(const QString &handler,
const QQmlJS::AST::SourceLocation &location);
- bool isIdInCurrentScope(QString const &id) const;
- void addIdToAccssedIfNotInParentScopes(QPair<QString, QQmlJS::AST::SourceLocation> const& id_loc_pair, const QSet<QString>& unknownImports);
+ bool isIdInCurrentScope(const QString &id) const;
+ void addIdToAccssedIfNotInParentScopes(
+ const QPair<QString, QQmlJS::AST::SourceLocation> &idLocationPair,
+ const QSet<QString> &unknownImports);
bool isVisualRootScope() const;
- QString name() const;
+ QString name() const { return m_name; }
+
+ bool recheckIdentifiers(
+ const QString &code, const QHash<QString, ScopeTree::ConstPtr> &qmlIDs,
+ const ScopeTree *root, const QString &rootId, ColorOutput &colorOut) const;
+
+ ScopeType scopeType() const { return m_scopeType; }
+
+ void addMethods(const QHash<QString, MetaMethod> &methods) { m_methods.unite(methods); }
+ void addMethod(const MetaMethod &method) { m_methods.insert(method.methodName(), method); }
+ QHash<QString, MetaMethod> methods() const { return m_methods; }
+
+ void addEnum(const MetaEnum &fakeEnum) { m_enums.insert(fakeEnum.name(), fakeEnum); }
+ QHash<QString, MetaEnum> enums() const { return m_enums; }
- bool recheckIdentifiers(const QString &code, const QHash<QString, LanguageUtils::FakeMetaObject::ConstPtr>& qmlIDs, const ScopeTree *root, const QString& rootId, ColorOutput &colorOut) const;
- ScopeType scopeType();
- void addMethod(LanguageUtils::FakeMetaMethod);
- void addMethodsFromMetaObject(LanguageUtils::FakeMetaObject::ConstPtr metaObject);
- QMap<QString, LanguageUtils::FakeMetaMethod>const & methods() const;
+ QString className() const { return m_className; }
+ void setClassName(const QString &name) { m_className = name; }
+
+ void addExport(const QString &name, const QString &package, const ComponentVersion &version);
+ void setExportMetaObjectRevision(int exportIndex, int metaObjectRevision);
+ QList<Export> exports() const { return m_exports; }
+
+ void setSuperclassName(const QString &superclass) { m_superName = superclass; }
+ QString superclassName() const { return m_superName; }
+
+ void addProperty(const MetaProperty &prop) { m_properties.insert(prop.name(), prop); }
+ QHash<QString, MetaProperty> properties() const { return m_properties; }
+
+ QString defaultPropertyName() const { return m_defaultPropertyName; }
+ void setDefaultPropertyName(const QString &name) { m_defaultPropertyName = name; }
+
+ QString attachedTypeName() const { return m_attachedTypeName; }
+ void setAttachedTypeName(const QString &name) { m_attachedTypeName = name; }
+
+ bool isSingleton() const { return m_isSingleton; }
+ bool isCreatable() const { return m_isCreatable; }
+ bool isComposite() const { return m_isComposite; }
+ void setIsSingleton(bool value) { m_isSingleton = value; }
+ void setIsCreatable(bool value) { m_isCreatable = value; }
+ void setIsComposite(bool value) { m_isSingleton = value; }
private:
- QSet<QString> m_currentScopeJSIdentifiers;
- QSet<QString> m_currentScopeQMLIdentifiers;
+ QSet<QString> m_jsIdentifiers;
QMultiHash<QString, MethodUsage> m_injectedSignalIdentifiers;
- QMap<QString, LanguageUtils::FakeMetaMethod> m_methods;
+
+ QHash<QString, MetaMethod> m_methods;
+ QHash<QString, MetaProperty> m_properties;
+ QHash<QString, MetaEnum> m_enums;
+
QVector<QPair<QString, QQmlJS::AST::SourceLocation>> m_accessedIdentifiers;
- QVector<ScopeTree*> m_childScopes;
- ScopeTree *m_parentScope;
- QString m_name;
- ScopeType m_scopeType;
QVector<QPair<QString, QQmlJS::AST::SourceLocation>> m_unmatchedSignalHandlers;
- bool isIdInCurrentQMlScopes(QString id) const;
- bool isIdInCurrentJSScopes(QString id) const;
- bool isIdInjectedFromSignal(QString id) const;
- const ScopeTree* getCurrentQMLScope() const;
- ScopeTree* getCurrentQMLScope();
- void printContext(ColorOutput& colorOut, const QString &code,
+ QVector<ScopeTree *> m_childScopes;
+ ScopeTree *m_parentScope = nullptr;
+
+ QString m_name;
+ QString m_className;
+ QString m_superName;
+
+ ScopeType m_scopeType = ScopeType::QMLScope;
+ QList<Export> m_exports;
+
+ QString m_defaultPropertyName;
+ QString m_attachedTypeName;
+ bool m_isSingleton = false;
+ bool m_isCreatable = true;
+ bool m_isComposite = false;
+
+ bool isIdInCurrentQMlScopes(const QString &id) const;
+ bool isIdInCurrentJSScopes(const QString &id) const;
+ bool isIdInjectedFromSignal(const QString &id) const;
+ const ScopeTree *currentQMLScope() const;
+ void printContext(ColorOutput &colorOut, const QString &code,
const QQmlJS::AST::SourceLocation &location) const;
};
+
#endif // SCOPETREE_H
diff --git a/tools/qmllint/qmljstypedescriptionreader.cpp b/tools/qmllint/typedescriptionreader.cpp
index b8aecdddb1..4f0cc88800 100644
--- a/tools/qmllint/qmljstypedescriptionreader.cpp
+++ b/tools/qmllint/typedescriptionreader.cpp
@@ -26,25 +26,18 @@
**
****************************************************************************/
-#include "qmljstypedescriptionreader.h"
+#include "typedescriptionreader.h"
-#include <private/qqmljsparser_p.h>
-#include <private/qqmljslexer_p.h>
-#include <private/qqmljsengine_p.h>
+#include <QtQml/private/qqmljsparser_p.h>
+#include <QtQml/private/qqmljslexer_p.h>
+#include <QtQml/private/qqmljsengine_p.h>
-#include <QDir>
-
-#define QTC_ASSERT_STRINGIFY_HELPER(x) #x
-#define QTC_ASSERT_STRINGIFY(x) QTC_ASSERT_STRINGIFY_HELPER(x)
-#define QTC_ASSERT_STRING(cond) qDebug() << (\
- "\"" cond"\" in file " __FILE__ ", line " QTC_ASSERT_STRINGIFY(__LINE__))
-#define QTC_ASSERT(cond, action) if (Q_LIKELY(cond)) {} else { QTC_ASSERT_STRING(#cond); action; } do {} while (0)
+#include <QtCore/qdir.h>
using namespace QQmlJS;
using namespace QQmlJS::AST;
-using namespace LanguageUtils;
-QString toString(const AST::UiQualifiedId *qualifiedId, QChar delimiter = QLatin1Char('.'))
+QString toString(const UiQualifiedId *qualifiedId, QChar delimiter = QLatin1Char('.'))
{
QString result;
@@ -58,17 +51,8 @@ QString toString(const AST::UiQualifiedId *qualifiedId, QChar delimiter = QLatin
return result;
}
-TypeDescriptionReader::TypeDescriptionReader(const QString &fileName, const QString &data)
- : _fileName (fileName), _source(data), _objects(0)
-{
-}
-
-TypeDescriptionReader::~TypeDescriptionReader()
-{
-}
-
bool TypeDescriptionReader::operator()(
- QHash<QString, FakeMetaObject::ConstPtr> *objects,
+ QHash<QString, ScopeTree::ConstPtr> *objects,
QList<ModuleApiInfo> *moduleApis,
QStringList *dependencies)
{
@@ -77,32 +61,22 @@ bool TypeDescriptionReader::operator()(
Lexer lexer(&engine);
Parser parser(&engine);
- lexer.setCode(_source, /*line = */ 1, /*qmlMode = */true);
+ lexer.setCode(m_source, /*lineno = */ 1, /*qmlMode = */true);
if (!parser.parse()) {
- _errorMessage = QString::fromLatin1("%1:%2: %3").arg(
+ m_errorMessage = QString::fromLatin1("%1:%2: %3").arg(
QString::number(parser.errorLineNumber()),
QString::number(parser.errorColumnNumber()),
parser.errorMessage());
return false;
}
- _objects = objects;
- _moduleApis = moduleApis;
- _dependencies = dependencies;
+ m_objects = objects;
+ m_moduleApis = moduleApis;
+ m_dependencies = dependencies;
readDocument(parser.ast());
- return _errorMessage.isEmpty();
-}
-
-QString TypeDescriptionReader::errorMessage() const
-{
- return _errorMessage;
-}
-
-QString TypeDescriptionReader::warningMessage() const
-{
- return _warningMessage;
+ return m_errorMessage.isEmpty();
}
void TypeDescriptionReader::readDocument(UiProgram *ast)
@@ -112,12 +86,12 @@ void TypeDescriptionReader::readDocument(UiProgram *ast)
return;
}
- if (!ast->headers || ast->headers->next || !AST::cast<AST::UiImport *>(ast->headers->headerItem)) {
+ if (!ast->headers || ast->headers->next || !cast<UiImport *>(ast->headers->headerItem)) {
addError(SourceLocation(), tr("Expected a single import."));
return;
}
- UiImport *import = AST::cast<AST::UiImport *>(ast->headers->headerItem);
+ auto *import = cast<UiImport *>(ast->headers->headerItem);
if (toString(import->importUri) != QLatin1String("QtQuick.tooling")) {
addError(import->importToken, tr("Expected import of QtQuick.tooling."));
return;
@@ -129,7 +103,8 @@ void TypeDescriptionReader::readDocument(UiProgram *ast)
}
if (import->version->majorVersion != 1) {
- addError(import->version->firstSourceLocation(), tr("Major version different from 1 not supported."));
+ addError(import->version->firstSourceLocation(),
+ tr("Major version different from 1 not supported."));
return;
}
@@ -138,7 +113,7 @@ void TypeDescriptionReader::readDocument(UiProgram *ast)
return;
}
- UiObjectDefinition *module = AST::cast<UiObjectDefinition *>(ast->members->member);
+ auto *module = cast<UiObjectDefinition *>(ast->members->member);
if (!module) {
addError(SourceLocation(), tr("Expected document to contain a single object definition."));
return;
@@ -156,9 +131,9 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
{
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiObjectDefinition *component = AST::cast<UiObjectDefinition *>(member);
+ auto *component = cast<UiObjectDefinition *>(member);
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (script && (toString(script->qualifiedId) == QStringLiteral("dependencies"))) {
readDependencies(script);
continue;
@@ -168,7 +143,8 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
if (component)
typeName = toString(component->qualifiedTypeNameId);
- if (!component || (typeName != QLatin1String("Component") && typeName != QLatin1String("ModuleApi"))) {
+ if (!component || (typeName != QLatin1String("Component")
+ && typeName != QLatin1String("ModuleApi"))) {
continue;
}
@@ -181,8 +157,8 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast)
void TypeDescriptionReader::addError(const SourceLocation &loc, const QString &message)
{
- _errorMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
- QDir::toNativeSeparators(_fileName),
+ m_errorMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
+ QDir::toNativeSeparators(m_fileName),
QString::number(loc.startLine),
QString::number(loc.startColumn),
message);
@@ -190,8 +166,8 @@ void TypeDescriptionReader::addError(const SourceLocation &loc, const QString &m
void TypeDescriptionReader::addWarning(const SourceLocation &loc, const QString &message)
{
- _warningMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
- QDir::toNativeSeparators(_fileName),
+ m_warningMessage += QString::fromLatin1("%1:%2:%3: %4\n").arg(
+ QDir::toNativeSeparators(m_fileName),
QString::number(loc.startLine),
QString::number(loc.startColumn),
message);
@@ -199,83 +175,82 @@ void TypeDescriptionReader::addWarning(const SourceLocation &loc, const QString
void TypeDescriptionReader::readDependencies(UiScriptBinding *ast)
{
- ExpressionStatement *stmt = AST::cast<ExpressionStatement*>(ast->statement);
+ auto *stmt = cast<ExpressionStatement*>(ast->statement);
if (!stmt) {
addError(ast->statement->firstSourceLocation(), tr("Expected dependency definitions"));
return;
}
- ArrayPattern *exp = AST::cast<ArrayPattern *>(stmt->expression);
+ auto *exp = cast<ArrayPattern *>(stmt->expression);
if (!exp) {
addError(stmt->expression->firstSourceLocation(), tr("Expected dependency definitions"));
return;
}
for (PatternElementList *l = exp->elements; l; l = l->next) {
- //StringLiteral *str = AST::cast<StringLiteral *>(l->element->initializer);
- StringLiteral *str = AST::cast<StringLiteral *>(l->element->initializer);
- *_dependencies << str->value.toString();
+ auto *str = cast<StringLiteral *>(l->element->initializer);
+ *m_dependencies << str->value.toString();
}
}
void TypeDescriptionReader::readComponent(UiObjectDefinition *ast)
{
- FakeMetaObject::Ptr fmo(new FakeMetaObject);
+ ScopeTree::Ptr scope(new ScopeTree(ScopeType::QMLScope));
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiObjectDefinition *component = AST::cast<UiObjectDefinition *>(member);
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *component = cast<UiObjectDefinition *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (component) {
QString name = toString(component->qualifiedTypeNameId);
if (name == QLatin1String("Property"))
- readProperty(component, fmo);
+ readProperty(component, scope);
else if (name == QLatin1String("Method") || name == QLatin1String("Signal"))
- readSignalOrMethod(component, name == QLatin1String("Method"), fmo);
+ readSignalOrMethod(component, name == QLatin1String("Method"), scope);
else if (name == QLatin1String("Enum"))
- readEnum(component, fmo);
+ readEnum(component, scope);
else
addWarning(component->firstSourceLocation(),
- tr("Expected only Property, Method, Signal and Enum object definitions, not \"%1\".")
- .arg(name));
+ tr("Expected only Property, Method, Signal and Enum object definitions, "
+ "not \"%1\".").arg(name));
} else if (script) {
QString name = toString(script->qualifiedId);
if (name == QLatin1String("name")) {
- fmo->setClassName(readStringBinding(script));
+ scope->setClassName(readStringBinding(script));
} else if (name == QLatin1String("prototype")) {
- fmo->setSuperclassName(readStringBinding(script));
+ scope->setSuperclassName(readStringBinding(script));
} else if (name == QLatin1String("defaultProperty")) {
- fmo->setDefaultPropertyName(readStringBinding(script));
+ scope->setDefaultPropertyName(readStringBinding(script));
} else if (name == QLatin1String("exports")) {
- readExports(script, fmo);
+ readExports(script, scope);
} else if (name == QLatin1String("exportMetaObjectRevisions")) {
- readMetaObjectRevisions(script, fmo);
+ readMetaObjectRevisions(script, scope);
} else if (name == QLatin1String("attachedType")) {
- fmo->setAttachedTypeName(readStringBinding(script));
+ scope->setAttachedTypeName(readStringBinding(script));
} else if (name == QLatin1String("isSingleton")) {
- fmo->setIsSingleton(readBoolBinding(script));
+ scope->setIsSingleton(readBoolBinding(script));
} else if (name == QLatin1String("isCreatable")) {
- fmo->setIsCreatable(readBoolBinding(script));
+ scope->setIsCreatable(readBoolBinding(script));
} else if (name == QLatin1String("isComposite")) {
- fmo->setIsComposite(readBoolBinding(script));
+ scope->setIsComposite(readBoolBinding(script));
} else {
addWarning(script->firstSourceLocation(),
- tr("Expected only name, prototype, defaultProperty, attachedType, exports, "
- "isSingleton, isCreatable, isComposite and exportMetaObjectRevisions "
- "script bindings, not \"%1\".").arg(name));
+ tr("Expected only name, prototype, defaultProperty, attachedType, "
+ "exports, isSingleton, isCreatable, isComposite and "
+ "exportMetaObjectRevisions script bindings, not \"%1\".").arg(name));
}
} else {
- addWarning(member->firstSourceLocation(), tr("Expected only script bindings and object definitions."));
+ addWarning(member->firstSourceLocation(),
+ tr("Expected only script bindings and object definitions."));
}
}
- if (fmo->className().isEmpty()) {
+ if (scope->className().isEmpty()) {
addError(ast->firstSourceLocation(), tr("Component definition is missing a name binding."));
return;
}
// ### add implicit export into the package of c++ types
- fmo->addExport(fmo->className(), QStringLiteral("<cpp>"), ComponentVersion());
- fmo->updateFingerprint();
- _objects->insert(fmo->className(), fmo);
+ scope->addExport(scope->className(), QStringLiteral("<cpp>"), ComponentVersion());
+ m_objects->insert(scope->className(), scope);
}
void TypeDescriptionReader::readModuleApi(UiObjectDefinition *ast)
@@ -284,7 +259,7 @@ void TypeDescriptionReader::readModuleApi(UiObjectDefinition *ast)
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (script) {
const QString name = toString(script->qualifiedId);
@@ -304,58 +279,65 @@ void TypeDescriptionReader::readModuleApi(UiObjectDefinition *ast)
}
if (!apiInfo.version.isValid()) {
- addError(ast->firstSourceLocation(), tr("ModuleApi definition has no or invalid version binding."));
+ addError(ast->firstSourceLocation(),
+ tr("ModuleApi definition has no or invalid version binding."));
return;
}
- if (_moduleApis)
- _moduleApis->append(apiInfo);
+ if (m_moduleApis)
+ m_moduleApis->append(apiInfo);
}
-void TypeDescriptionReader::readSignalOrMethod(UiObjectDefinition *ast, bool isMethod, FakeMetaObject::Ptr fmo)
+void TypeDescriptionReader::readSignalOrMethod(UiObjectDefinition *ast, bool isMethod,
+ const ScopeTree::Ptr &scope)
{
- FakeMetaMethod fmm;
+ MetaMethod metaMethod;
// ### confusion between Method and Slot. Method should be removed.
if (isMethod)
- fmm.setMethodType(FakeMetaMethod::Slot);
+ metaMethod.setMethodType(MetaMethod::Slot);
else
- fmm.setMethodType(FakeMetaMethod::Signal);
+ metaMethod.setMethodType(MetaMethod::Signal);
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiObjectDefinition *component = AST::cast<UiObjectDefinition *>(member);
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *component = cast<UiObjectDefinition *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (component) {
QString name = toString(component->qualifiedTypeNameId);
- if (name == QLatin1String("Parameter"))
- readParameter(component, &fmm);
- else
- addWarning(component->firstSourceLocation(), tr("Expected only Parameter object definitions."));
+ if (name == QLatin1String("Parameter")) {
+ readParameter(component, &metaMethod);
+ } else {
+ addWarning(component->firstSourceLocation(),
+ tr("Expected only Parameter object definitions."));
+ }
} else if (script) {
QString name = toString(script->qualifiedId);
- if (name == QLatin1String("name"))
- fmm.setMethodName(readStringBinding(script));
- else if (name == QLatin1String("type"))
- fmm.setReturnType(readStringBinding(script));
- else if (name == QLatin1String("revision"))
- fmm.setRevision(readIntBinding(script));
- else
- addWarning(script->firstSourceLocation(), tr("Expected only name and type script bindings."));
-
+ if (name == QLatin1String("name")) {
+ metaMethod.setMethodName(readStringBinding(script));
+ } else if (name == QLatin1String("type")) {
+ metaMethod.setReturnType(readStringBinding(script));
+ } else if (name == QLatin1String("revision")) {
+ metaMethod.setRevision(readIntBinding(script));
+ } else {
+ addWarning(script->firstSourceLocation(),
+ tr("Expected only name and type script bindings."));
+ }
} else {
- addWarning(member->firstSourceLocation(), tr("Expected only script bindings and object definitions."));
+ addWarning(member->firstSourceLocation(),
+ tr("Expected only script bindings and object definitions."));
}
}
- if (fmm.methodName().isEmpty()) {
- addError(ast->firstSourceLocation(), tr("Method or signal is missing a name script binding."));
+ if (metaMethod.methodName().isEmpty()) {
+ addError(ast->firstSourceLocation(),
+ tr("Method or signal is missing a name script binding."));
return;
}
- fmo->addMethod(fmm);
+ scope->addMethod(metaMethod);
}
-void TypeDescriptionReader::readProperty(UiObjectDefinition *ast, FakeMetaObject::Ptr fmo)
+void TypeDescriptionReader::readProperty(UiObjectDefinition *ast, const ScopeTree::Ptr &scope)
{
QString name;
QString type;
@@ -366,69 +348,75 @@ void TypeDescriptionReader::readProperty(UiObjectDefinition *ast, FakeMetaObject
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (!script) {
addWarning(member->firstSourceLocation(), tr("Expected script binding."));
continue;
}
QString id = toString(script->qualifiedId);
- if (id == QLatin1String("name"))
+ if (id == QLatin1String("name")) {
name = readStringBinding(script);
- else if (id == QLatin1String("type"))
+ } else if (id == QLatin1String("type")) {
type = readStringBinding(script);
- else if (id == QLatin1String("isPointer"))
+ } else if (id == QLatin1String("isPointer")) {
isPointer = readBoolBinding(script);
- else if (id == QLatin1String("isReadonly"))
+ } else if (id == QLatin1String("isReadonly")) {
isReadonly = readBoolBinding(script);
- else if (id == QLatin1String("isList"))
+ } else if (id == QLatin1String("isList")) {
isList = readBoolBinding(script);
- else if (id == QLatin1String("revision"))
+ } else if (id == QLatin1String("revision")) {
revision = readIntBinding(script);
- else
- addWarning(script->firstSourceLocation(), tr("Expected only type, name, revision, isPointer, isReadonly and isList script bindings."));
+ } else {
+ addWarning(script->firstSourceLocation(),
+ tr("Expected only type, name, revision, isPointer, isReadonly and"
+ " isList script bindings."));
+ }
}
if (name.isEmpty() || type.isEmpty()) {
- addError(ast->firstSourceLocation(), tr("Property object is missing a name or type script binding."));
+ addError(ast->firstSourceLocation(),
+ tr("Property object is missing a name or type script binding."));
return;
}
- fmo->addProperty(FakeMetaProperty(name, type, isList, !isReadonly, isPointer, revision));
+ scope->addProperty(MetaProperty(name, type, isList, !isReadonly, isPointer, revision));
}
-void TypeDescriptionReader::readEnum(UiObjectDefinition *ast, FakeMetaObject::Ptr fmo)
+void TypeDescriptionReader::readEnum(UiObjectDefinition *ast, const ScopeTree::Ptr &scope)
{
- FakeMetaEnum fme;
+ MetaEnum metaEnum;
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (!script) {
addWarning(member->firstSourceLocation(), tr("Expected script binding."));
continue;
}
QString name = toString(script->qualifiedId);
- if (name == QLatin1String("name"))
- fme.setName(readStringBinding(script));
- else if (name == QLatin1String("values"))
- readEnumValues(script, &fme);
- else
- addWarning(script->firstSourceLocation(), tr("Expected only name and values script bindings."));
+ if (name == QLatin1String("name")) {
+ metaEnum.setName(readStringBinding(script));
+ } else if (name == QLatin1String("values")) {
+ readEnumValues(script, &metaEnum);
+ } else {
+ addWarning(script->firstSourceLocation(),
+ tr("Expected only name and values script bindings."));
+ }
}
- fmo->addEnum(fme);
+ scope->addEnum(metaEnum);
}
-void TypeDescriptionReader::readParameter(UiObjectDefinition *ast, FakeMetaMethod *fmm)
+void TypeDescriptionReader::readParameter(UiObjectDefinition *ast, MetaMethod *metaMethod)
{
QString name;
QString type;
for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) {
UiObjectMember *member = it->member;
- UiScriptBinding *script = AST::cast<UiScriptBinding *>(member);
+ auto *script = cast<UiScriptBinding *>(member);
if (!script) {
addWarning(member->firstSourceLocation(), tr("Expected script binding."));
continue;
@@ -446,29 +434,30 @@ void TypeDescriptionReader::readParameter(UiObjectDefinition *ast, FakeMetaMetho
} else if (id == QLatin1String("isList")) {
// ### unhandled
} else {
- addWarning(script->firstSourceLocation(), tr("Expected only name and type script bindings."));
+ addWarning(script->firstSourceLocation(),
+ tr("Expected only name and type script bindings."));
}
}
- fmm->addParameter(name, type);
+ metaMethod->addParameter(name, type);
}
QString TypeDescriptionReader::readStringBinding(UiScriptBinding *ast)
{
- QTC_ASSERT(ast, return QString());
+ Q_ASSERT(ast);
if (!ast->statement) {
addError(ast->colonToken, tr("Expected string after colon."));
return QString();
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
addError(ast->statement->firstSourceLocation(), tr("Expected string after colon."));
return QString();
}
- StringLiteral *stringLit = AST::cast<StringLiteral *>(expStmt->expression);
+ auto *stringLit = cast<StringLiteral *>(expStmt->expression);
if (!stringLit) {
addError(expStmt->firstSourceLocation(), tr("Expected string after colon."));
return QString();
@@ -477,23 +466,23 @@ QString TypeDescriptionReader::readStringBinding(UiScriptBinding *ast)
return stringLit->value.toString();
}
-bool TypeDescriptionReader::readBoolBinding(AST::UiScriptBinding *ast)
+bool TypeDescriptionReader::readBoolBinding(UiScriptBinding *ast)
{
- QTC_ASSERT(ast, return false);
+ Q_ASSERT(ast);
if (!ast->statement) {
addError(ast->colonToken, tr("Expected boolean after colon."));
return false;
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
addError(ast->statement->firstSourceLocation(), tr("Expected boolean after colon."));
return false;
}
- TrueLiteral *trueLit = AST::cast<TrueLiteral *>(expStmt->expression);
- FalseLiteral *falseLit = AST::cast<FalseLiteral *>(expStmt->expression);
+ auto *trueLit = cast<TrueLiteral *>(expStmt->expression);
+ auto *falseLit = cast<FalseLiteral *>(expStmt->expression);
if (!trueLit && !falseLit) {
addError(expStmt->firstSourceLocation(), tr("Expected true or false after colon."));
return false;
@@ -502,22 +491,23 @@ bool TypeDescriptionReader::readBoolBinding(AST::UiScriptBinding *ast)
return trueLit;
}
-double TypeDescriptionReader::readNumericBinding(AST::UiScriptBinding *ast)
+double TypeDescriptionReader::readNumericBinding(UiScriptBinding *ast)
{
- QTC_ASSERT(ast, return qQNaN());
+ Q_ASSERT(ast);
if (!ast->statement) {
addError(ast->colonToken, tr("Expected numeric literal after colon."));
return 0;
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
- addError(ast->statement->firstSourceLocation(), tr("Expected numeric literal after colon."));
+ addError(ast->statement->firstSourceLocation(),
+ tr("Expected numeric literal after colon."));
return 0;
}
- NumericLiteral *numericLit = AST::cast<NumericLiteral *>(expStmt->expression);
+ auto *numericLit = cast<NumericLiteral *>(expStmt->expression);
if (!numericLit) {
addError(expStmt->firstSourceLocation(), tr("Expected numeric literal after colon."));
return 0;
@@ -531,26 +521,29 @@ ComponentVersion TypeDescriptionReader::readNumericVersionBinding(UiScriptBindin
ComponentVersion invalidVersion;
if (!ast || !ast->statement) {
- addError((ast ? ast->colonToken : SourceLocation()), tr("Expected numeric literal after colon."));
+ addError((ast ? ast->colonToken : SourceLocation()),
+ tr("Expected numeric literal after colon."));
return invalidVersion;
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
- addError(ast->statement->firstSourceLocation(), tr("Expected numeric literal after colon."));
+ addError(ast->statement->firstSourceLocation(),
+ tr("Expected numeric literal after colon."));
return invalidVersion;
}
- NumericLiteral *numericLit = AST::cast<NumericLiteral *>(expStmt->expression);
+ auto *numericLit = cast<NumericLiteral *>(expStmt->expression);
if (!numericLit) {
addError(expStmt->firstSourceLocation(), tr("Expected numeric literal after colon."));
return invalidVersion;
}
- return ComponentVersion(_source.mid(numericLit->literalToken.begin(), numericLit->literalToken.length));
+ return ComponentVersion(m_source.mid(numericLit->literalToken.begin(),
+ numericLit->literalToken.length));
}
-int TypeDescriptionReader::readIntBinding(AST::UiScriptBinding *ast)
+int TypeDescriptionReader::readIntBinding(UiScriptBinding *ast)
{
double v = readNumericBinding(ast);
int i = static_cast<int>(v);
@@ -563,31 +556,33 @@ int TypeDescriptionReader::readIntBinding(AST::UiScriptBinding *ast)
return i;
}
-void TypeDescriptionReader::readExports(UiScriptBinding *ast, FakeMetaObject::Ptr fmo)
+void TypeDescriptionReader::readExports(UiScriptBinding *ast, const ScopeTree::Ptr &scope)
{
- QTC_ASSERT(ast, return);
+ Q_ASSERT(ast);
if (!ast->statement) {
addError(ast->colonToken, tr("Expected array of strings after colon."));
return;
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
- addError(ast->statement->firstSourceLocation(), tr("Expected array of strings after colon."));
+ addError(ast->statement->firstSourceLocation(),
+ tr("Expected array of strings after colon."));
return;
}
- ArrayPattern *arrayLit = AST::cast<ArrayPattern *>(expStmt->expression);
+ auto *arrayLit = cast<ArrayPattern *>(expStmt->expression);
if (!arrayLit) {
addError(expStmt->firstSourceLocation(), tr("Expected array of strings after colon."));
return;
}
for (PatternElementList *it = arrayLit->elements; it; it = it->next) {
- StringLiteral *stringLit = AST::cast<StringLiteral *>(it->element->initializer);
+ auto *stringLit = cast<StringLiteral *>(it->element->initializer);
if (!stringLit) {
- addError(arrayLit->firstSourceLocation(), tr("Expected array literal with only string literal members."));
+ addError(arrayLit->firstSourceLocation(),
+ tr("Expected array literal with only string literal members."));
return;
}
QString exp = stringLit->value.toString();
@@ -596,7 +591,9 @@ void TypeDescriptionReader::readExports(UiScriptBinding *ast, FakeMetaObject::Pt
ComponentVersion version(exp.mid(spaceIdx + 1));
if (spaceIdx == -1 || !version.isValid()) {
- addError(stringLit->firstSourceLocation(), tr("Expected string literal to contain 'Package/Name major.minor' or 'Name major.minor'."));
+ addError(stringLit->firstSourceLocation(),
+ tr("Expected string literal to contain 'Package/Name major.minor' "
+ "or 'Name major.minor'."));
continue;
}
QString package;
@@ -605,42 +602,46 @@ void TypeDescriptionReader::readExports(UiScriptBinding *ast, FakeMetaObject::Pt
QString name = exp.mid(slashIdx + 1, spaceIdx - (slashIdx+1));
// ### relocatable exports where package is empty?
- fmo->addExport(name, package, version);
+ scope->addExport(name, package, version);
}
}
-void TypeDescriptionReader::readMetaObjectRevisions(UiScriptBinding *ast, FakeMetaObject::Ptr fmo)
+void TypeDescriptionReader::readMetaObjectRevisions(UiScriptBinding *ast,
+ const ScopeTree::Ptr &scope)
{
- QTC_ASSERT(ast, return);
+ Q_ASSERT(ast);
if (!ast->statement) {
addError(ast->colonToken, tr("Expected array of numbers after colon."));
return;
}
- ExpressionStatement *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
- addError(ast->statement->firstSourceLocation(), tr("Expected array of numbers after colon."));
+ addError(ast->statement->firstSourceLocation(),
+ tr("Expected array of numbers after colon."));
return;
}
- ArrayPattern *arrayLit = AST::cast<ArrayPattern *>(expStmt->expression);
+ auto *arrayLit = cast<ArrayPattern *>(expStmt->expression);
if (!arrayLit) {
addError(expStmt->firstSourceLocation(), tr("Expected array of numbers after colon."));
return;
}
int exportIndex = 0;
- const int exportCount = fmo->exports().size();
+ const int exportCount = scope->exports().size();
for (PatternElementList *it = arrayLit->elements; it; it = it->next, ++exportIndex) {
- NumericLiteral *numberLit = cast<NumericLiteral *>(it->element->initializer);
+ auto *numberLit = cast<NumericLiteral *>(it->element->initializer);
if (!numberLit) {
- addError(arrayLit->firstSourceLocation(), tr("Expected array literal with only number literal members."));
+ addError(arrayLit->firstSourceLocation(),
+ tr("Expected array literal with only number literal members."));
return;
}
if (exportIndex >= exportCount) {
- addError(numberLit->firstSourceLocation(), tr("Meta object revision without matching export."));
+ addError(numberLit->firstSourceLocation(),
+ tr("Meta object revision without matching export."));
return;
}
@@ -651,11 +652,11 @@ void TypeDescriptionReader::readMetaObjectRevisions(UiScriptBinding *ast, FakeMe
return;
}
- fmo->setExportMetaObjectRevision(exportIndex, metaObjectRevision);
+ scope->setExportMetaObjectRevision(exportIndex, metaObjectRevision);
}
}
-void TypeDescriptionReader::readEnumValues(AST::UiScriptBinding *ast, LanguageUtils::FakeMetaEnum *fme)
+void TypeDescriptionReader::readEnumValues(UiScriptBinding *ast, MetaEnum *metaEnum)
{
if (!ast)
return;
@@ -664,27 +665,27 @@ void TypeDescriptionReader::readEnumValues(AST::UiScriptBinding *ast, LanguageUt
return;
}
- auto *expStmt = AST::cast<ExpressionStatement *>(ast->statement);
+ auto *expStmt = cast<ExpressionStatement *>(ast->statement);
if (!expStmt) {
addError(ast->statement->firstSourceLocation(), tr("Expected expression after colon."));
return;
}
- if (auto *objectLit = AST::cast<ObjectPattern *>(expStmt->expression)) {
+ if (auto *objectLit = cast<ObjectPattern *>(expStmt->expression)) {
for (PatternPropertyList *it = objectLit->properties; it; it = it->next) {
if (PatternProperty *assignement = it->property) {
- if (auto *name = AST::cast<StringLiteralPropertyName *>(assignement->name)) {
- fme->addKey(name->id.toString());
+ if (auto *name = cast<StringLiteralPropertyName *>(assignement->name)) {
+ metaEnum->addKey(name->id.toString());
continue;
}
}
addError(it->firstSourceLocation(), tr("Expected strings as enum keys."));
}
- } else if (auto *arrayLit = AST::cast<ArrayPattern *>(expStmt->expression)) {
+ } else if (auto *arrayLit = cast<ArrayPattern *>(expStmt->expression)) {
for (PatternElementList *it = arrayLit->elements; it; it = it->next) {
if (PatternElement *element = it->element) {
- if (auto *name = AST::cast<StringLiteral *>(element->initializer)) {
- fme->addKey(name->value.toString());
+ if (auto *name = cast<StringLiteral *>(element->initializer)) {
+ metaEnum->addKey(name->value.toString());
continue;
}
}
diff --git a/tools/qmllint/typedescriptionreader.h b/tools/qmllint/typedescriptionreader.h
new file mode 100644
index 0000000000..5fcbe3abc9
--- /dev/null
+++ b/tools/qmllint/typedescriptionreader.h
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the tools applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TYPEDESCRIPTIONREADER_H
+#define TYPEDESCRIPTIONREADER_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+
+#include "scopetree.h"
+
+#include <QtQml/private/qqmljsastfwd_p.h>
+
+// for Q_DECLARE_TR_FUNCTIONS
+#include <QtCore/qcoreapplication.h>
+
+struct ModuleApiInfo
+{
+ QString uri;
+ ComponentVersion version;
+ QString cppName;
+};
+
+class TypeDescriptionReader
+{
+ Q_DECLARE_TR_FUNCTIONS(TypeDescriptionReader)
+public:
+ TypeDescriptionReader() = default;
+ explicit TypeDescriptionReader(QString fileName, QString data)
+ : m_fileName(std::move(fileName)), m_source(std::move(data)) {}
+
+ bool operator()(
+ QHash<QString, ScopeTree::ConstPtr> *objects,
+ QList<ModuleApiInfo> *moduleApis,
+ QStringList *dependencies);
+
+ QString errorMessage() const { return m_errorMessage; }
+ QString warningMessage() const { return m_warningMessage; }
+
+private:
+ void readDocument(QQmlJS::AST::UiProgram *ast);
+ void readModule(QQmlJS::AST::UiObjectDefinition *ast);
+ void readDependencies(QQmlJS::AST::UiScriptBinding *ast);
+ void readComponent(QQmlJS::AST::UiObjectDefinition *ast);
+ void readModuleApi(QQmlJS::AST::UiObjectDefinition *ast);
+ void readSignalOrMethod(QQmlJS::AST::UiObjectDefinition *ast, bool isMethod,
+ const ScopeTree::Ptr &scope);
+ void readProperty(QQmlJS::AST::UiObjectDefinition *ast, const ScopeTree::Ptr &scope);
+ void readEnum(QQmlJS::AST::UiObjectDefinition *ast, const ScopeTree::Ptr &scope);
+ void readParameter(QQmlJS::AST::UiObjectDefinition *ast, MetaMethod *metaMethod);
+
+ QString readStringBinding(QQmlJS::AST::UiScriptBinding *ast);
+ bool readBoolBinding(QQmlJS::AST::UiScriptBinding *ast);
+ double readNumericBinding(QQmlJS::AST::UiScriptBinding *ast);
+ ComponentVersion readNumericVersionBinding(QQmlJS::AST::UiScriptBinding *ast);
+ int readIntBinding(QQmlJS::AST::UiScriptBinding *ast);
+ void readExports(QQmlJS::AST::UiScriptBinding *ast, const ScopeTree::Ptr &scope);
+ void readMetaObjectRevisions(QQmlJS::AST::UiScriptBinding *ast, const ScopeTree::Ptr &scope);
+ void readEnumValues(QQmlJS::AST::UiScriptBinding *ast, MetaEnum *metaEnum);
+
+ void addError(const QQmlJS::AST::SourceLocation &loc, const QString &message);
+ void addWarning(const QQmlJS::AST::SourceLocation &loc, const QString &message);
+
+ QString m_fileName;
+ QString m_source;
+ QString m_errorMessage;
+ QString m_warningMessage;
+ QHash<QString, ScopeTree::ConstPtr> *m_objects = nullptr;
+ QList<ModuleApiInfo> *m_moduleApis = nullptr;
+ QStringList *m_dependencies = nullptr;
+};
+
+#endif // TYPEDESCRIPTIONREADER_H