cesium 1.18.0 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +2 -3
- data/app/assets/javascripts/Cesium/Assets/approximateTerrainHeights.json +1 -0
- data/app/assets/javascripts/Cesium/Cesium.js +26 -7
- data/app/assets/javascripts/Cesium/Core/ArcGisImageServerTerrainProvider.js +2 -2
- data/app/assets/javascripts/Cesium/Core/AssociativeArray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/AttributeCompression.js +1 -1
- data/app/assets/javascripts/Cesium/Core/AxisAlignedBoundingBox.js +1 -1
- data/app/assets/javascripts/Cesium/Core/BingMapsApi.js +19 -3
- data/app/assets/javascripts/Cesium/Core/BoundingRectangle.js +60 -1
- data/app/assets/javascripts/Cesium/Core/BoundingSphere.js +1 -1
- data/app/assets/javascripts/Cesium/Core/BoxGeometry.js +7 -38
- data/app/assets/javascripts/Cesium/Core/BoxOutlineGeometry.js +6 -2
- data/app/assets/javascripts/Cesium/Core/Cartesian2.js +56 -1
- data/app/assets/javascripts/Cesium/Core/Cartesian3.js +125 -39
- data/app/assets/javascripts/Cesium/Core/Cartesian4.js +56 -1
- data/app/assets/javascripts/Cesium/Core/Cartographic.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CatmullRomSpline.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CesiumTerrainProvider.js +3 -3
- data/app/assets/javascripts/Cesium/Core/CircleGeometry.js +15 -5
- data/app/assets/javascripts/Cesium/Core/CircleOutlineGeometry.js +2 -5
- data/app/assets/javascripts/Cesium/Core/Clock.js +177 -73
- data/app/assets/javascripts/Cesium/Core/ClockRange.js +1 -1
- data/app/assets/javascripts/Cesium/Core/ClockStep.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Color.js +238 -20
- data/app/assets/javascripts/Cesium/Core/ColorGeometryInstanceAttribute.js +1 -1
- data/app/assets/javascripts/Cesium/Core/ComponentDatatype.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CornerType.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CorridorGeometry.js +154 -11
- data/app/assets/javascripts/Cesium/Core/CorridorGeometryLibrary.js +1 -26
- data/app/assets/javascripts/Cesium/Core/CorridorOutlineGeometry.js +13 -10
- data/app/assets/javascripts/Cesium/Core/Credit.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CubicRealPolynomial.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CylinderGeometry.js +15 -14
- data/app/assets/javascripts/Cesium/Core/CylinderGeometryLibrary.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CylinderOutlineGeometry.js +15 -14
- data/app/assets/javascripts/Cesium/Core/DefaultProxy.js +1 -1
- data/app/assets/javascripts/Cesium/Core/DeveloperError.js +7 -1
- data/app/assets/javascripts/Cesium/Core/EarthOrientationParameters.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EarthOrientationParametersSample.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EasingFunction.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipseGeometry.js +75 -12
- data/app/assets/javascripts/Cesium/Core/EllipseGeometryLibrary.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipseOutlineGeometry.js +11 -13
- data/app/assets/javascripts/Cesium/Core/Ellipsoid.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipsoidGeodesic.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipsoidGeometry.js +30 -7
- data/app/assets/javascripts/Cesium/Core/EllipsoidOutlineGeometry.js +8 -3
- data/app/assets/javascripts/Cesium/Core/EllipsoidTangentPlane.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipsoidTerrainProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EllipsoidalOccluder.js +1 -43
- data/app/assets/javascripts/Cesium/Core/EncodedCartesian3.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Event.js +1 -1
- data/app/assets/javascripts/Cesium/Core/EventHelper.js +1 -1
- data/app/assets/javascripts/Cesium/Core/ExtrapolationType.js +1 -1
- data/app/assets/javascripts/Cesium/Core/FeatureDetection.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Fullscreen.js +9 -9
- data/app/assets/javascripts/Cesium/Core/GeographicProjection.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeographicTilingScheme.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Geometry.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeometryAttribute.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeometryAttributes.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeometryInstance.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeometryInstanceAttribute.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GeometryPipeline.js +94 -32
- data/app/assets/javascripts/Cesium/Core/GeometryType.js +1 -1
- data/app/assets/javascripts/Cesium/Core/GregorianDate.js +1 -1
- data/app/assets/javascripts/Cesium/Core/HeadingPitchRange.js +1 -1
- data/app/assets/javascripts/Cesium/Core/HeightmapTerrainData.js +19 -15
- data/app/assets/javascripts/Cesium/Core/HeightmapTessellator.js +2 -2
- data/app/assets/javascripts/Cesium/Core/HermitePolynomialApproximation.js +1 -1
- data/app/assets/javascripts/Cesium/Core/HermiteSpline.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Iau2000Orientation.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Iau2006XysData.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Iau2006XysSample.js +1 -1
- data/app/assets/javascripts/Cesium/Core/IauOrientationAxes.js +1 -1
- data/app/assets/javascripts/Cesium/Core/IauOrientationParameters.js +1 -1
- data/app/assets/javascripts/Cesium/Core/IndexDatatype.js +1 -1
- data/app/assets/javascripts/Cesium/Core/InterpolationAlgorithm.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Intersect.js +1 -1
- data/app/assets/javascripts/Cesium/Core/IntersectionTests.js +19 -6
- data/app/assets/javascripts/Cesium/Core/Intersections2D.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Interval.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Iso8601.js +1 -1
- data/app/assets/javascripts/Cesium/Core/JulianDate.js +3 -3
- data/app/assets/javascripts/Cesium/Core/KeyboardEventModifier.js +1 -1
- data/app/assets/javascripts/Cesium/Core/LagrangePolynomialApproximation.js +1 -1
- data/app/assets/javascripts/Cesium/Core/LeapSecond.js +1 -1
- data/app/assets/javascripts/Cesium/Core/LinearApproximation.js +1 -1
- data/app/assets/javascripts/Cesium/Core/LinearSpline.js +1 -1
- data/app/assets/javascripts/Cesium/Core/MapProjection.js +1 -1
- data/app/assets/javascripts/Cesium/Core/MapboxApi.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Math.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Matrix2.js +17 -1
- data/app/assets/javascripts/Cesium/Core/Matrix3.js +17 -1
- data/app/assets/javascripts/Cesium/Core/Matrix4.js +103 -40
- data/app/assets/javascripts/Cesium/Core/NearFarScalar.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Occluder.js +1 -1
- data/app/assets/javascripts/Cesium/Core/OrientedBoundingBox.js +33 -17
- data/app/assets/javascripts/Cesium/Core/Packable.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PackableForInterpolation.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PinBuilder.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PixelFormat.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Plane.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PointGeometry.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PolygonGeometry.js +291 -114
- data/app/assets/javascripts/Cesium/Core/PolygonGeometryLibrary.js +67 -26
- data/app/assets/javascripts/Cesium/Core/PolygonHierarchy.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PolygonOutlineGeometry.js +30 -23
- data/app/assets/javascripts/Cesium/Core/PolygonPipeline.js +15 -759
- data/app/assets/javascripts/Cesium/Core/PolylineGeometry.js +6 -4
- data/app/assets/javascripts/Cesium/Core/PolylinePipeline.js +2 -59
- data/app/assets/javascripts/Cesium/Core/PolylineVolumeGeometry.js +4 -4
- data/app/assets/javascripts/Cesium/Core/PolylineVolumeGeometryLibrary.js +1 -1
- data/app/assets/javascripts/Cesium/Core/PolylineVolumeOutlineGeometry.js +4 -4
- data/app/assets/javascripts/Cesium/Core/PrimitiveType.js +1 -1
- data/app/assets/javascripts/Cesium/Core/QuadraticRealPolynomial.js +1 -1
- data/app/assets/javascripts/Cesium/Core/QuantizedMeshTerrainData.js +8 -4
- data/app/assets/javascripts/Cesium/Core/QuarticRealPolynomial.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Quaternion.js +1 -1
- data/app/assets/javascripts/Cesium/Core/QuaternionSpline.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Queue.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Ray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Rectangle.js +58 -1
- data/app/assets/javascripts/Cesium/Core/RectangleGeometry.js +68 -10
- data/app/assets/javascripts/Cesium/Core/RectangleGeometryLibrary.js +1 -1
- data/app/assets/javascripts/Cesium/Core/RectangleOutlineGeometry.js +10 -7
- data/app/assets/javascripts/Cesium/Core/ReferenceFrame.js +1 -1
- data/app/assets/javascripts/Cesium/Core/RequestErrorEvent.js +1 -1
- data/app/assets/javascripts/Cesium/Core/RuntimeError.js +8 -1
- data/app/assets/javascripts/Cesium/Core/ScreenSpaceEventHandler.js +32 -11
- data/app/assets/javascripts/Cesium/Core/ScreenSpaceEventType.js +1 -1
- data/app/assets/javascripts/Cesium/Core/ShowGeometryInstanceAttribute.js +1 -2
- data/app/assets/javascripts/Cesium/Core/Simon1994PlanetaryPositions.js +1 -1
- data/app/assets/javascripts/Cesium/Core/SimplePolylineGeometry.js +1 -1
- data/app/assets/javascripts/Cesium/Core/SphereGeometry.js +1 -1
- data/app/assets/javascripts/Cesium/Core/SphereOutlineGeometry.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Spherical.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Spline.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TaskProcessor.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TerrainData.js +3 -1
- data/app/assets/javascripts/Cesium/Core/TerrainEncoding.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TerrainMesh.js +8 -2
- data/app/assets/javascripts/Cesium/Core/TerrainProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TerrainQuantization.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TileProviderError.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TilingScheme.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TimeConstants.js +1 -1
- data/app/assets/javascripts/Cesium/Core/TimeInterval.js +3 -3
- data/app/assets/javascripts/Cesium/Core/TimeIntervalCollection.js +3 -3
- data/app/assets/javascripts/Cesium/Core/TimeStandard.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Tipsify.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Transforms.js +141 -1
- data/app/assets/javascripts/Cesium/Core/TranslationRotationScale.js +2 -2
- data/app/assets/javascripts/Cesium/Core/TridiagonalSystemSolver.js +1 -1
- data/app/assets/javascripts/Cesium/Core/VRTheWorldTerrainProvider.js +2 -2
- data/app/assets/javascripts/Cesium/Core/VertexFormat.js +1 -1
- data/app/assets/javascripts/Cesium/Core/VideoSynchronizer.js +1 -1
- data/app/assets/javascripts/Cesium/Core/Visibility.js +1 -1
- data/app/assets/javascripts/Cesium/Core/WallGeometry.js +5 -7
- data/app/assets/javascripts/Cesium/Core/WallGeometryLibrary.js +20 -9
- data/app/assets/javascripts/Cesium/Core/WallOutlineGeometry.js +3 -6
- data/app/assets/javascripts/Cesium/Core/WebMercatorProjection.js +1 -1
- data/app/assets/javascripts/Cesium/Core/WebMercatorTilingScheme.js +1 -1
- data/app/assets/javascripts/Cesium/Core/WindingOrder.js +1 -1
- data/app/assets/javascripts/Cesium/Core/appendForwardSlash.js +1 -1
- data/app/assets/javascripts/Cesium/Core/arrayRemoveDuplicates.js +101 -0
- data/app/assets/javascripts/Cesium/Core/barycentricCoordinates.js +1 -1
- data/app/assets/javascripts/Cesium/Core/binarySearch.js +1 -1
- data/app/assets/javascripts/Cesium/Core/buildModuleUrl.js +4 -2
- data/app/assets/javascripts/Cesium/Core/cancelAnimationFrame.js +2 -2
- data/app/assets/javascripts/Cesium/Core/clone.js +1 -1
- data/app/assets/javascripts/Cesium/Core/combine.js +1 -1
- data/app/assets/javascripts/Cesium/Core/createGuid.js +1 -1
- data/app/assets/javascripts/Cesium/Core/defaultValue.js +1 -1
- data/app/assets/javascripts/Cesium/Core/defineProperties.js +1 -1
- data/app/assets/javascripts/Cesium/Core/defined.js +2 -2
- data/app/assets/javascripts/Cesium/Core/deprecationWarning.js +7 -10
- data/app/assets/javascripts/Cesium/Core/destroyObject.js +1 -1
- data/app/assets/javascripts/Cesium/Core/formatError.js +1 -1
- data/app/assets/javascripts/Cesium/Core/freezeObject.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getAbsoluteUri.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getBaseUri.js +6 -6
- data/app/assets/javascripts/Cesium/Core/getExtensionFromUri.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getFilenameFromUri.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getImagePixels.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getMagic.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getStringFromTypedArray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/getTimestamp.js +1 -1
- data/app/assets/javascripts/Cesium/Core/isArray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/isCrossOriginUrl.js +1 -1
- data/app/assets/javascripts/Cesium/Core/isLeapYear.js +1 -1
- data/app/assets/javascripts/Cesium/Core/joinUrls.js +9 -11
- data/app/assets/javascripts/Cesium/Core/loadArrayBuffer.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadBlob.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadImage.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadImageFromTypedArray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadImageViaBlob.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadJson.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadJsonp.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadText.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadWithXhr.js +1 -1
- data/app/assets/javascripts/Cesium/Core/loadXML.js +1 -1
- data/app/assets/javascripts/Cesium/Core/mergeSort.js +1 -1
- data/app/assets/javascripts/Cesium/Core/objectToQuery.js +1 -1
- data/app/assets/javascripts/Cesium/Core/oneTimeWarning.js +52 -0
- data/app/assets/javascripts/Cesium/Core/parseResponseHeaders.js +1 -1
- data/app/assets/javascripts/Cesium/Core/pointInsideTriangle.js +1 -1
- data/app/assets/javascripts/Cesium/Core/queryToObject.js +1 -1
- data/app/assets/javascripts/Cesium/Core/requestAnimationFrame.js +2 -2
- data/app/assets/javascripts/Cesium/Core/sampleTerrain.js +2 -2
- data/app/assets/javascripts/Cesium/Core/scaleToGeodeticSurface.js +1 -1
- data/app/assets/javascripts/Cesium/Core/subdivideArray.js +1 -1
- data/app/assets/javascripts/Cesium/Core/throttleRequestByServer.js +1 -1
- data/app/assets/javascripts/Cesium/Core/wrapFunction.js +1 -1
- data/app/assets/javascripts/Cesium/Core/writeTextToCanvas.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/BillboardGraphics.js +17 -3
- data/app/assets/javascripts/Cesium/DataSources/BillboardVisualizer.js +20 -4
- data/app/assets/javascripts/Cesium/DataSources/BoundingSphereState.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/BoxGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/BoxGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CallbackProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CheckerboardMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ColorMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CompositeEntityCollection.js +15 -2
- data/app/assets/javascripts/Cesium/DataSources/CompositeMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CompositePositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CompositeProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ConstantPositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ConstantProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CorridorGeometryUpdater.js +85 -27
- data/app/assets/javascripts/Cesium/DataSources/CorridorGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CustomDataSource.js +14 -1
- data/app/assets/javascripts/Cesium/DataSources/CylinderGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/CylinderGraphics.js +3 -6
- data/app/assets/javascripts/Cesium/DataSources/CzmlDataSource.js +461 -229
- data/app/assets/javascripts/Cesium/DataSources/DataSource.js +9 -1
- data/app/assets/javascripts/Cesium/DataSources/DataSourceClock.js +17 -13
- data/app/assets/javascripts/Cesium/DataSources/DataSourceCollection.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/DataSourceDisplay.js +18 -2
- data/app/assets/javascripts/Cesium/DataSources/DynamicGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/EllipseGeometryUpdater.js +86 -27
- data/app/assets/javascripts/Cesium/DataSources/EllipseGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/EllipsoidGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/EllipsoidGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/Entity.js +2 -2
- data/app/assets/javascripts/Cesium/DataSources/EntityCollection.js +72 -5
- data/app/assets/javascripts/Cesium/DataSources/EntityView.js +13 -17
- data/app/assets/javascripts/Cesium/DataSources/GeoJsonDataSource.js +95 -47
- data/app/assets/javascripts/Cesium/DataSources/GeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/GeometryVisualizer.js +25 -14
- data/app/assets/javascripts/Cesium/DataSources/GridMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ImageMaterialProperty.js +31 -13
- data/app/assets/javascripts/Cesium/DataSources/KmlDataSource.js +999 -177
- data/app/assets/javascripts/Cesium/DataSources/LabelGraphics.js +14 -1
- data/app/assets/javascripts/Cesium/DataSources/LabelVisualizer.js +14 -5
- data/app/assets/javascripts/Cesium/DataSources/MaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ModelGraphics.js +41 -2
- data/app/assets/javascripts/Cesium/DataSources/ModelVisualizer.js +19 -3
- data/app/assets/javascripts/Cesium/DataSources/NodeTransformationProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PathGraphics.js +2 -2
- data/app/assets/javascripts/Cesium/DataSources/PathVisualizer.js +5 -2
- data/app/assets/javascripts/Cesium/DataSources/PointGraphics.js +14 -2
- data/app/assets/javascripts/Cesium/DataSources/PointVisualizer.js +170 -24
- data/app/assets/javascripts/Cesium/DataSources/PolygonGeometryUpdater.js +113 -34
- data/app/assets/javascripts/Cesium/DataSources/PolygonGraphics.js +27 -3
- data/app/assets/javascripts/Cesium/DataSources/PolylineArrowMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineGlowMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineOutlineMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineVolumeGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PolylineVolumeGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PositionPropertyArray.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/Property.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PropertyArray.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/PropertyBag.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/RectangleGeometryUpdater.js +86 -25
- data/app/assets/javascripts/Cesium/DataSources/RectangleGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ReferenceProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/Rotation.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/SampledPositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/SampledProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/ScaledPositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/StaticGeometryColorBatch.js +3 -1
- data/app/assets/javascripts/Cesium/DataSources/StaticGeometryPerMaterialBatch.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/StaticGroundGeometryColorBatch.js +336 -0
- data/app/assets/javascripts/Cesium/DataSources/StaticOutlineGeometryBatch.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/StripeMaterialProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/StripeOrientation.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/TimeIntervalCollectionPositionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/TimeIntervalCollectionProperty.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/VelocityOrientationProperty.js +19 -61
- data/app/assets/javascripts/Cesium/DataSources/VelocityVectorProperty.js +187 -0
- data/app/assets/javascripts/Cesium/DataSources/Visualizer.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/WallGeometryUpdater.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/WallGraphics.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/createMaterialPropertyDescriptor.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/createPropertyDescriptor.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/createRawPropertyDescriptor.js +1 -1
- data/app/assets/javascripts/Cesium/DataSources/dynamicGeometryGetBoundingSphere.js +10 -3
- data/app/assets/javascripts/Cesium/Renderer/AutomaticUniforms.js +25 -1
- data/app/assets/javascripts/Cesium/Renderer/Buffer.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/BufferUsage.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/ClearCommand.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/ComputeCommand.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/ComputeEngine.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/Context.js +16 -18
- data/app/assets/javascripts/Cesium/Renderer/ContextLimits.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/CubeMap.js +2 -2
- data/app/assets/javascripts/Cesium/Renderer/CubeMapFace.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/DrawCommand.js +312 -30
- data/app/assets/javascripts/Cesium/Renderer/Framebuffer.js +2 -2
- data/app/assets/javascripts/Cesium/Renderer/MipmapHint.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/PassState.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/PickFramebuffer.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/PixelDatatype.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/RenderState.js +2 -2
- data/app/assets/javascripts/Cesium/Renderer/Renderbuffer.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/RenderbufferFormat.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/Sampler.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/ShaderCache.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/ShaderProgram.js +3 -4
- data/app/assets/javascripts/Cesium/Renderer/ShaderSource.js +32 -1
- data/app/assets/javascripts/Cesium/Renderer/Texture.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/TextureMagnificationFilter.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/TextureMinificationFilter.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/TextureWrap.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/UniformState.js +36 -11
- data/app/assets/javascripts/Cesium/Renderer/VertexArray.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/VertexArrayFacade.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/WebGLConstants.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/createUniform.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/createUniformArray.js +1 -1
- data/app/assets/javascripts/Cesium/Renderer/loadCubeMap.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Appearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ArcGisMapServerImageryProvider.js +5 -4
- data/app/assets/javascripts/Cesium/Scene/Billboard.js +25 -37
- data/app/assets/javascripts/Cesium/Scene/BillboardCollection.js +49 -25
- data/app/assets/javascripts/Cesium/Scene/BingMapsImageryProvider.js +11 -4
- data/app/assets/javascripts/Cesium/Scene/BingMapsStyle.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/BlendEquation.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/BlendFunction.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/BlendingState.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/Camera.js +397 -187
- data/app/assets/javascripts/Cesium/Scene/CameraEventAggregator.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/CameraEventType.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/CameraFlightPath.js +4 -5
- data/app/assets/javascripts/Cesium/Scene/CreditDisplay.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/CullFace.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/CullingVolume.js +75 -2
- data/app/assets/javascripts/Cesium/Scene/DebugAppearance.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/DebugModelMatrixPrimitive.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/DepthFunction.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/DepthPlane.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/DeviceOrientationCameraController.js +14 -5
- data/app/assets/javascripts/Cesium/Scene/DiscardMissingTileImagePolicy.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/EllipsoidPrimitive.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/EllipsoidSurfaceAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/FXAA.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Fog.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/FrameRateMonitor.js +9 -9
- data/app/assets/javascripts/Cesium/Scene/FrameState.js +39 -1
- data/app/assets/javascripts/Cesium/Scene/FrustumCommands.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/GetFeatureInfoFormat.js +2 -4
- data/app/assets/javascripts/Cesium/Scene/Globe.js +89 -17
- data/app/assets/javascripts/Cesium/Scene/GlobeDepth.js +4 -6
- data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceShaderSet.js +17 -9
- data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTile.js +24 -6
- data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTileProvider.js +171 -118
- data/app/assets/javascripts/Cesium/Scene/GoogleEarthImageryProvider.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/GridImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/GroundPrimitive.js +335 -91
- data/app/assets/javascripts/Cesium/Scene/HeightReference.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/HorizontalOrigin.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Imagery.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ImageryLayer.js +32 -5
- data/app/assets/javascripts/Cesium/Scene/ImageryLayerCollection.js +27 -1
- data/app/assets/javascripts/Cesium/Scene/ImageryLayerFeatureInfo.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ImageryState.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Label.js +26 -11
- data/app/assets/javascripts/Cesium/Scene/LabelCollection.js +11 -7
- data/app/assets/javascripts/Cesium/Scene/LabelStyle.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/MapMode2D.js +32 -0
- data/app/assets/javascripts/Cesium/Scene/MapboxImageryProvider.js +4 -4
- data/app/assets/javascripts/Cesium/Scene/Material.js +6 -6
- data/app/assets/javascripts/Cesium/Scene/MaterialAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Model.js +675 -160
- data/app/assets/javascripts/Cesium/Scene/ModelAnimation.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ModelAnimationCache.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ModelAnimationCollection.js +8 -6
- data/app/assets/javascripts/Cesium/Scene/ModelAnimationLoop.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/ModelAnimationState.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/ModelMaterial.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ModelMesh.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/ModelNode.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/Moon.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/NeverTileDiscardPolicy.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/OIT.js +66 -33
- data/app/assets/javascripts/Cesium/Scene/OrthographicFrustum.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/Pass.js +12 -8
- data/app/assets/javascripts/Cesium/Scene/PerInstanceColorAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PerformanceDisplay.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PerspectiveFrustum.js +3 -3
- data/app/assets/javascripts/Cesium/Scene/PerspectiveOffCenterFrustum.js +4 -4
- data/app/assets/javascripts/Cesium/Scene/PickDepth.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PointAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PointPrimitive.js +5 -13
- data/app/assets/javascripts/Cesium/Scene/PointPrimitiveCollection.js +8 -8
- data/app/assets/javascripts/Cesium/Scene/Polyline.js +5 -3
- data/app/assets/javascripts/Cesium/Scene/PolylineCollection.js +51 -23
- data/app/assets/javascripts/Cesium/Scene/PolylineColorAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PolylineMaterialAppearance.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Primitive.js +75 -46
- data/app/assets/javascripts/Cesium/Scene/PrimitiveCollection.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PrimitivePipeline.js +3 -3
- data/app/assets/javascripts/Cesium/Scene/PrimitiveState.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/QuadtreeOccluders.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/QuadtreePrimitive.js +80 -41
- data/app/assets/javascripts/Cesium/Scene/QuadtreeTile.js +5 -11
- data/app/assets/javascripts/Cesium/Scene/QuadtreeTileLoadState.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/QuadtreeTileProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Scene.js +529 -92
- data/app/assets/javascripts/Cesium/Scene/SceneMode.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/SceneTransforms.js +129 -49
- data/app/assets/javascripts/Cesium/Scene/SceneTransitioner.js +476 -337
- data/app/assets/javascripts/Cesium/Scene/ScreenSpaceCameraController.js +127 -30
- data/app/assets/javascripts/Cesium/Scene/ShadowMap.js +1640 -0
- data/app/assets/javascripts/Cesium/Scene/ShadowMapShader.js +341 -0
- data/app/assets/javascripts/Cesium/Scene/SingleTileImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/SkyAtmosphere.js +101 -33
- data/app/assets/javascripts/Cesium/Scene/SkyBox.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/StencilFunction.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/StencilOperation.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Sun.js +8 -3
- data/app/assets/javascripts/Cesium/Scene/SunPostProcess.js +6 -2
- data/app/assets/javascripts/Cesium/Scene/TerrainState.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/TextureAtlas.js +21 -43
- data/app/assets/javascripts/Cesium/Scene/TileBoundingBox.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/TileCoordinatesImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileDiscardPolicy.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileImagery.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileReplacementQueue.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileState.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileTerrain.js +8 -15
- data/app/assets/javascripts/Cesium/Scene/TweenCollection.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/UrlTemplateImageryProvider.js +9 -9
- data/app/assets/javascripts/Cesium/Scene/VerticalOrigin.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/ViewportQuad.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/WebMapServiceImageryProvider.js +2 -2
- data/app/assets/javascripts/Cesium/Scene/WebMapTileServiceImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/createOpenStreetMapImageryProvider.js +6 -5
- data/app/assets/javascripts/Cesium/Scene/createTangentSpaceDebugPrimitive.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/createTileMapServiceImageryProvider.js +23 -26
- data/app/assets/javascripts/Cesium/Scene/getModelAccessor.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/modelMaterialsCommon.js +1 -1
- data/app/assets/javascripts/Cesium/Shaders/AdjustTranslucentFS.js +14 -11
- data/app/assets/javascripts/Cesium/Shaders/Appearances/AllMaterialAppearanceFS.js +18 -14
- data/app/assets/javascripts/Cesium/Shaders/Appearances/AllMaterialAppearanceVS.js +13 -9
- data/app/assets/javascripts/Cesium/Shaders/Appearances/BasicMaterialAppearanceFS.js +15 -11
- data/app/assets/javascripts/Cesium/Shaders/Appearances/BasicMaterialAppearanceVS.js +10 -6
- data/app/assets/javascripts/Cesium/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +24 -15
- data/app/assets/javascripts/Cesium/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +11 -7
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceColorAppearanceFS.js +15 -11
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceColorAppearanceVS.js +11 -7
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +3 -2
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +9 -5
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PointAppearanceFS.js +4 -2
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PointAppearanceVS.js +8 -5
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PolylineColorAppearanceVS.js +16 -11
- data/app/assets/javascripts/Cesium/Shaders/Appearances/PolylineMaterialAppearanceVS.js +17 -12
- data/app/assets/javascripts/Cesium/Shaders/Appearances/TexturedMaterialAppearanceFS.js +16 -12
- data/app/assets/javascripts/Cesium/Shaders/Appearances/TexturedMaterialAppearanceVS.js +11 -7
- data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionFS.js +16 -12
- data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionVS.glsl +9 -14
- data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionVS.js +197 -142
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/degreesPerRadian.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/depthRange.js +15 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon1.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon2.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon3.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon4.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon5.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon6.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon7.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/infinity.js +8 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/oneOverPi.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/oneOverTwoPi.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passCompute.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passCompute.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passEnvironment.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGlobe.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGround.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGround.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOpaque.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOverlay.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passTranslucent.js +14 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/pi.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverFour.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverSix.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverThree.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverTwo.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/radiansPerDegree.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneMode2D.js +12 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneMode3D.js +12 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneModeColumbusView.js +12 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneModeMorphing.js +12 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/solarRadius.js +14 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/threePiOver2.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/twoPi.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +17 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/CzmBuiltins.js +43 -1
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/RGBToXYZ.js +29 -11
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/XYZToRGB.js +29 -10
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/alphaWeight.js +24 -19
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/antialias.js +35 -10
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeColor.js +13 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeDistance.js +12 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeMatrix.js +15 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeWeights.js +15 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/columbusViewMorph.js +11 -4
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/computePosition.js +23 -2
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cosineAndSine.js +208 -162
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/decompressTextureCoordinates.js +17 -8
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +32 -9
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +11 -4
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidNew.js +13 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates.js +9 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.js +30 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eyeOffset.js +19 -7
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +31 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/fog.js +18 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +15 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getDefaultMaterial.js +26 -10
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getLambertDiffuse.js +22 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getSpecular.js +26 -7
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getWaterNoise.js +36 -25
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getWgs84EllipsoidEC.js +20 -7
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/hue.js +29 -13
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/isEmpty.js +18 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/isFull.js +18 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +20 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/luminance.js +19 -4
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/metersPerPixel.js +40 -27
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/modelToWindowCoordinates.js +36 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/multiplyWithColorBalance.js +17 -8
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/nearFarScalar.js +25 -9
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/octDecode.js +65 -31
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/packDepth.js +17 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/phong.js +53 -23
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/pointAlongRay.js +18 -3
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +82 -71
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/saturation.js +21 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowDepthCompare.js +29 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowVisibility.js +72 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/signNotZero.js +20 -8
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +24 -8
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/translateRelativeToEye.js +39 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/translucentPhong.js +29 -17
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/transpose.js +38 -14
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/unpackDepth.js +17 -5
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/windowToEyeCoordinates.js +34 -9
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/depthRangeStruct.js +9 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/ellipsoid.js +12 -8
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/material.js +22 -10
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/materialInput.js +22 -10
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/ray.js +11 -6
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/raySegment.js +24 -4
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
- data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/shadowParameters.js +20 -0
- data/app/assets/javascripts/Cesium/Shaders/CompositeOITFS.js +18 -8
- data/app/assets/javascripts/Cesium/Shaders/DepthPlaneFS.js +18 -15
- data/app/assets/javascripts/Cesium/Shaders/DepthPlaneVS.js +6 -5
- data/app/assets/javascripts/Cesium/Shaders/EllipsoidFS.js +87 -56
- data/app/assets/javascripts/Cesium/Shaders/EllipsoidVS.js +22 -6
- data/app/assets/javascripts/Cesium/Shaders/GlobeFS.glsl +2 -2
- data/app/assets/javascripts/Cesium/Shaders/GlobeFS.js +184 -101
- data/app/assets/javascripts/Cesium/Shaders/GlobeVS.glsl +8 -7
- data/app/assets/javascripts/Cesium/Shaders/GlobeVS.js +86 -56
- data/app/assets/javascripts/Cesium/Shaders/GroundAtmosphere.js +107 -44
- data/app/assets/javascripts/Cesium/Shaders/Materials/BumpMapMaterial.js +25 -18
- data/app/assets/javascripts/Cesium/Shaders/Materials/CheckerboardMaterial.js +23 -14
- data/app/assets/javascripts/Cesium/Shaders/Materials/DotMaterial.js +12 -7
- data/app/assets/javascripts/Cesium/Shaders/Materials/FadeMaterial.js +25 -19
- data/app/assets/javascripts/Cesium/Shaders/Materials/GridMaterial.js +45 -30
- data/app/assets/javascripts/Cesium/Shaders/Materials/NormalMapMaterial.js +15 -12
- data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineArrowMaterial.js +52 -40
- data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineGlowMaterial.js +12 -7
- data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineOutlineMaterial.js +22 -14
- data/app/assets/javascripts/Cesium/Shaders/Materials/RimLightingMaterial.js +13 -8
- data/app/assets/javascripts/Cesium/Shaders/Materials/StripeMaterial.js +16 -10
- data/app/assets/javascripts/Cesium/Shaders/Materials/Water.js +47 -21
- data/app/assets/javascripts/Cesium/Shaders/PointPrimitiveCollectionFS.js +20 -15
- data/app/assets/javascripts/Cesium/Shaders/PointPrimitiveCollectionVS.js +128 -82
- data/app/assets/javascripts/Cesium/Shaders/PolylineCommon.glsl +2 -2
- data/app/assets/javascripts/Cesium/Shaders/PolylineCommon.js +87 -68
- data/app/assets/javascripts/Cesium/Shaders/PolylineFS.js +11 -9
- data/app/assets/javascripts/Cesium/Shaders/PolylineVS.js +45 -40
- data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/AdditiveBlend.js +10 -6
- data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/BrightPass.js +20 -11
- data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/FXAA.js +223 -136
- data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/GaussianBlur1D.js +29 -17
- data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/PassThrough.js +5 -3
- data/app/assets/javascripts/Cesium/Shaders/ReprojectWebMercatorFS.js +4 -2
- data/app/assets/javascripts/Cesium/Shaders/ReprojectWebMercatorVS.js +6 -3
- data/app/assets/javascripts/Cesium/Shaders/ShadowVolumeFS.js +9 -6
- data/app/assets/javascripts/Cesium/Shaders/ShadowVolumeVS.js +12 -7
- data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereFS.glsl +47 -7
- data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereFS.js +90 -10
- data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereVS.glsl +52 -51
- data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereVS.js +115 -61
- data/app/assets/javascripts/Cesium/Shaders/SkyBoxFS.js +5 -3
- data/app/assets/javascripts/Cesium/Shaders/SkyBoxVS.js +6 -4
- data/app/assets/javascripts/Cesium/Shaders/SunFS.js +4 -2
- data/app/assets/javascripts/Cesium/Shaders/SunTextureFS.js +45 -21
- data/app/assets/javascripts/Cesium/Shaders/SunVS.js +24 -17
- data/app/assets/javascripts/Cesium/Shaders/ViewportQuadFS.js +15 -11
- data/app/assets/javascripts/Cesium/Shaders/ViewportQuadVS.js +7 -6
- data/app/assets/javascripts/Cesium/ThirdParty/NoSleep.js +2 -2
- data/app/assets/javascripts/Cesium/ThirdParty/earcut-2.1.1.js +649 -0
- data/app/assets/javascripts/Cesium/ThirdParty/knockout-3.4.0.js +123 -0
- data/app/assets/javascripts/Cesium/ThirdParty/knockout.js +2 -2
- data/app/assets/javascripts/Cesium/Widgets/Animation/Animation.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Animation/AnimationViewModel.js +4 -24
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.js +5 -5
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPickerViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/ProviderViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js +14 -14
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultTerrainProviderViewModels.js +2 -2
- data/app/assets/javascripts/Cesium/Widgets/CesiumInspector/CesiumInspector.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/CesiumInspector/CesiumInspectorViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/CesiumWidget/CesiumWidget.js +10 -4
- data/app/assets/javascripts/Cesium/Widgets/ClockViewModel.js +76 -133
- data/app/assets/javascripts/Cesium/Widgets/Command.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/FullscreenButton/FullscreenButton.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/FullscreenButton/FullscreenButtonViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Geocoder/Geocoder.js +2 -2
- data/app/assets/javascripts/Cesium/Widgets/Geocoder/GeocoderViewModel.js +9 -5
- data/app/assets/javascripts/Cesium/Widgets/HomeButton/HomeButton.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/HomeButton/HomeButtonViewModel.js +2 -47
- data/app/assets/javascripts/Cesium/Widgets/InfoBox/InfoBox.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/InfoBox/InfoBoxViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/NavigationHelpButton/NavigationHelpButton.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/NavigationHelpButton/NavigationHelpButtonViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/PerformanceWatchdog/PerformanceWatchdogViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/SceneModePicker/SceneModePicker.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/SceneModePicker/SceneModePickerViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/SelectionIndicator/SelectionIndicator.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/SelectionIndicator/SelectionIndicatorViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/SvgPathBindingHandler.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Timeline/Timeline.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Timeline/TimelineHighlightRange.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Timeline/TimelineTrack.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/ToggleButtonViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/VRButton/VRButton.js +2 -3
- data/app/assets/javascripts/Cesium/Widgets/VRButton/VRButtonViewModel.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Viewer/Viewer.js +130 -38
- data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerCesiumInspectorMixin.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerDragDropMixin.js +27 -5
- data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerPerformanceWatchdogMixin.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/createCommand.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/getElement.js +1 -1
- data/app/assets/javascripts/Cesium/Widgets/subscribeAndEvaluate.js +1 -1
- data/app/assets/javascripts/Cesium/Workers/cesiumWorkerBootstrapper.js +1 -23
- data/app/assets/javascripts/Cesium/Workers/combineGeometry.js +801 -190
- data/app/assets/javascripts/Cesium/Workers/createBoxGeometry.js +404 -155
- data/app/assets/javascripts/Cesium/Workers/createBoxOutlineGeometry.js +402 -118
- data/app/assets/javascripts/Cesium/Workers/createCircleGeometry.js +5844 -318
- data/app/assets/javascripts/Cesium/Workers/createCircleOutlineGeometry.js +411 -137
- data/app/assets/javascripts/Cesium/Workers/createCorridorGeometry.js +2273 -277
- data/app/assets/javascripts/Cesium/Workers/createCorridorOutlineGeometry.js +2131 -275
- data/app/assets/javascripts/Cesium/Workers/createCylinderGeometry.js +466 -134
- data/app/assets/javascripts/Cesium/Workers/createCylinderOutlineGeometry.js +465 -133
- data/app/assets/javascripts/Cesium/Workers/createEllipseGeometry.js +5829 -313
- data/app/assets/javascripts/Cesium/Workers/createEllipseOutlineGeometry.js +409 -132
- data/app/assets/javascripts/Cesium/Workers/createEllipsoidGeometry.js +480 -126
- data/app/assets/javascripts/Cesium/Workers/createEllipsoidOutlineGeometry.js +405 -120
- data/app/assets/javascripts/Cesium/Workers/createGeometry.js +801 -190
- data/app/assets/javascripts/Cesium/Workers/createPointGeometry.js +397 -117
- data/app/assets/javascripts/Cesium/Workers/createPolygonGeometry.js +2020 -1892
- data/app/assets/javascripts/Cesium/Workers/createPolygonOutlineGeometry.js +1748 -1845
- data/app/assets/javascripts/Cesium/Workers/createPolylineGeometry.js +755 -211
- data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeGeometry.js +7848 -7187
- data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +9211 -8612
- data/app/assets/javascripts/Cesium/Workers/createRectangleGeometry.js +1758 -1929
- data/app/assets/javascripts/Cesium/Workers/createRectangleOutlineGeometry.js +1657 -1945
- data/app/assets/javascripts/Cesium/Workers/createSimplePolylineGeometry.js +649 -207
- data/app/assets/javascripts/Cesium/Workers/createSphereGeometry.js +481 -127
- data/app/assets/javascripts/Cesium/Workers/createSphereOutlineGeometry.js +406 -121
- data/app/assets/javascripts/Cesium/Workers/createTaskProcessorWorker.js +1 -1
- data/app/assets/javascripts/Cesium/Workers/createVerticesFromHeightmap.js +778 -213
- data/app/assets/javascripts/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +783 -531
- data/app/assets/javascripts/Cesium/Workers/createWallGeometry.js +2323 -1870
- data/app/assets/javascripts/Cesium/Workers/createWallOutlineGeometry.js +2320 -1868
- data/app/assets/javascripts/Cesium/Workers/transferTypedArrayTest.js +1 -1
- data/app/assets/javascripts/Cesium/Workers/upsampleQuantizedTerrainMesh.js +780 -214
- data/app/assets/javascripts/Cesium/main.js +1 -1
- data/lib/cesium/engine.rb +0 -2
- data/lib/cesium/version.rb +1 -1
- data/test/dummy/log/development.log +7 -0
- data/test/dummy/tmp/cache/assets/B70/EA0/sprockets%2F415763926244628691463c356154a895 +0 -0
- data/test/dummy/tmp/cache/assets/BA3/7C0/sprockets%2F9199311873d9097949e7e43421215154 +0 -0
- data/test/dummy/tmp/cache/assets/BB8/EE0/sprockets%2F22646b151508362346e2037627746ed0 +0 -0
- data/test/dummy/tmp/cache/assets/BD4/E30/sprockets%2F63f08889074483c4176494c5763b2291 +0 -0
- data/test/dummy/tmp/cache/assets/BD8/B40/sprockets%2F164720065103c7505436426a256c0e0f +0 -0
- data/test/dummy/tmp/cache/assets/BE6/130/sprockets%2Fa803162154793f1463540d2c30093d69 +0 -0
- data/test/dummy/tmp/cache/assets/C00/920/sprockets%2F4168a71e5976c541d561972b17848434 +0 -0
- data/test/dummy/tmp/cache/assets/C08/870/sprockets%2F36f6990a925f3931d77806412c968733 +0 -0
- data/test/dummy/tmp/cache/assets/C09/580/sprockets%2F249187d5a491008c57209948c865893e +0 -0
- data/test/dummy/tmp/cache/assets/C11/130/sprockets%2F1b030e38f01f4166e1164512847193d4 +0 -0
- data/test/dummy/tmp/cache/assets/C16/010/sprockets%2F44d3496a9801634301be407503c78c05 +0 -0
- data/test/dummy/tmp/cache/assets/C16/BE0/sprockets%2F730c481502395cc21463bcc305986308 +0 -0
- data/test/dummy/tmp/cache/assets/C1D/0F0/sprockets%2Fd185114097044d84160c2b2c197a8776 +0 -0
- data/test/dummy/tmp/cache/assets/C1D/8C0/sprockets%2F5e27813463747ac2a868260fb4224370 +0 -0
- data/test/dummy/tmp/cache/assets/C21/280/sprockets%2F501c5298f4631437a27a6b514783e851 +0 -0
- data/test/dummy/tmp/cache/assets/C23/D40/sprockets%2F6a100052cb79899083d4e93c16294192 +0 -0
- data/test/dummy/tmp/cache/assets/C28/C50/sprockets%2Fa0547c4859498c809088a437023bd254 +0 -0
- data/test/dummy/tmp/cache/assets/C2B/E00/sprockets%2Fc04978048739428a79d6348576ab030a +0 -0
- data/test/dummy/tmp/cache/assets/C2D/2B0/sprockets%2F8fb4c07a40972c58848150577f808351 +0 -0
- data/test/dummy/tmp/cache/assets/C2E/360/sprockets%2F318d19847257c8325ae5d1768373109f +0 -0
- data/test/dummy/tmp/cache/assets/C30/6A0/sprockets%2F86639346b855d519444548bde64d2080 +0 -0
- data/test/dummy/tmp/cache/assets/C31/430/sprockets%2F757866099770079f1160438af16a47dc +0 -0
- data/test/dummy/tmp/cache/assets/C31/890/sprockets%2F82ba164b323d36f31099766199596f73 +0 -0
- data/test/dummy/tmp/cache/assets/C38/390/sprockets%2F1a55d53525172efa026d840b35506014 +0 -0
- data/test/dummy/tmp/cache/assets/C3B/500/sprockets%2F8a8546745e8f5486045f7797c1619b11 +0 -0
- data/test/dummy/tmp/cache/assets/C3C/000/sprockets%2F849cf39629892037a0d865817086d8c3 +0 -0
- data/test/dummy/tmp/cache/assets/C3E/980/sprockets%2F00fce10d03861d2101743695f0716c66 +0 -0
- data/test/dummy/tmp/cache/assets/C41/190/sprockets%2F93fc2cf200a5a781542882095101d056 +0 -0
- data/test/dummy/tmp/cache/assets/C43/910/sprockets%2Fa5310b505465cfc5091562a24c787505 +0 -0
- data/test/dummy/tmp/cache/assets/C44/EF0/sprockets%2F240e8542975a86810b0a22a9b1a67146 +0 -0
- data/test/dummy/tmp/cache/assets/C45/280/sprockets%2F17431114665e693186d90f05f4c0c30a +0 -0
- data/test/dummy/tmp/cache/assets/C48/170/sprockets%2F433accb9424237a1971b90769d040725 +0 -0
- data/test/dummy/tmp/cache/assets/C48/A40/sprockets%2F8019259f130684d1a510dbc34203f887 +0 -0
- data/test/dummy/tmp/cache/assets/C49/100/sprockets%2F2803de2f7f2329384d141864d40005e5 +0 -0
- data/test/dummy/tmp/cache/assets/C4A/720/sprockets%2F7b3e799b999140224211f208a43640ac +0 -0
- data/test/dummy/tmp/cache/assets/C4A/930/sprockets%2Fd88401412b1d606300ec88f32478098a +0 -0
- data/test/dummy/tmp/cache/assets/C4A/B10/sprockets%2F6a04d003d41e0b3667c93653d6406948 +0 -0
- data/test/dummy/tmp/cache/assets/C4A/CD0/sprockets%2F56c4436d8128b0781f3e27192f22a206 +0 -0
- data/test/dummy/tmp/cache/assets/C4A/FE0/sprockets%2F9d13c5426cd241c98670a8c203452455 +0 -0
- data/test/dummy/tmp/cache/assets/C4C/690/sprockets%2F68055490815dd241d825a63e5207de50 +0 -0
- data/test/dummy/tmp/cache/assets/C4C/840/sprockets%2F4a4840159653544c8405091bf3c8b7b2 +0 -0
- data/test/dummy/tmp/cache/assets/C4C/870/sprockets%2F87d9111687142ac781f1436630eb4b16 +0 -0
- data/test/dummy/tmp/cache/assets/C4C/970/sprockets%2F6d3aaf87a41246f4c815449565022901 +0 -0
- data/test/dummy/tmp/cache/assets/C4D/7F0/sprockets%2F7a1a613e8e51e07f56097180649134b2 +0 -0
- data/test/dummy/tmp/cache/assets/C4E/0E0/sprockets%2F45db287304280bac49d406998e341171 +0 -0
- data/test/dummy/tmp/cache/assets/C4E/2C0/sprockets%2F201e128c44919bc76a327a949149d711 +0 -0
- data/test/dummy/tmp/cache/assets/C4E/E90/sprockets%2F94236344d8f073e0855073e296b1c1c2 +0 -0
- data/test/dummy/tmp/cache/assets/C4F/690/sprockets%2F771870445807107490b63bfd6e0b543d +0 -0
- data/test/dummy/tmp/cache/assets/C53/290/sprockets%2Fccc1d66149733e921216e73563904e09 +0 -0
- data/test/dummy/tmp/cache/assets/C53/EC0/sprockets%2F50d8a6419663d2122f30958ca747557a +0 -0
- data/test/dummy/tmp/cache/assets/C53/F70/sprockets%2F2593d93f154598557e0b3c52110f4a93 +0 -0
- data/test/dummy/tmp/cache/assets/C54/680/sprockets%2F31c6133a4541f42b507e5689b076759f +0 -0
- data/test/dummy/tmp/cache/assets/C54/DB0/sprockets%2F2719348e2d22ac92794d138751f702f2 +0 -0
- data/test/dummy/tmp/cache/assets/C55/190/sprockets%2F4954963bb7014c50075c9955e92117ad +0 -0
- data/test/dummy/tmp/cache/assets/C55/260/sprockets%2F327e55ae4e55071a665577d8204068a7 +0 -0
- data/test/dummy/tmp/cache/assets/C56/F70/sprockets%2Fb7936623915940a2406637b4cf39a6a8 +0 -0
- data/test/dummy/tmp/cache/assets/C57/090/sprockets%2F1da581873ec878f18603d04d08628271 +0 -0
- data/test/dummy/tmp/cache/assets/C57/690/sprockets%2F8ec676600b031750853c8417840dd96f +0 -0
- data/test/dummy/tmp/cache/assets/C58/E80/sprockets%2F5a04e8d5c583fd764108461d70570658 +0 -0
- data/test/dummy/tmp/cache/assets/C5A/A30/sprockets%2F72626d58007d569ee313823e7c081c59 +0 -0
- data/test/dummy/tmp/cache/assets/C5C/600/sprockets%2F6ec94c904254580e8691821109d6ad57 +0 -0
- data/test/dummy/tmp/cache/assets/C5D/920/sprockets%2F02a0a3531eb2547a50108216af76052e +0 -0
- data/test/dummy/tmp/cache/assets/C5D/D20/sprockets%2F0a72b69dd9748ee93063018a88534418 +0 -0
- data/test/dummy/tmp/cache/assets/C5F/0D0/sprockets%2F55884638b487591e0c6a547e164d41e3 +0 -0
- data/test/dummy/tmp/cache/assets/C5F/8E0/sprockets%2F05629754bf709956d70b6145a8a538e5 +0 -0
- data/test/dummy/tmp/cache/assets/C60/9A0/sprockets%2F8e864573639a6852d1dac09861431a88 +0 -0
- data/test/dummy/tmp/cache/assets/C61/690/sprockets%2Fef30d34398c6492a49253844e5705f84 +0 -0
- data/test/dummy/tmp/cache/assets/C62/AE0/sprockets%2F73190d40c15416381cfb235a40290a0d +0 -0
- data/test/dummy/tmp/cache/assets/C64/8F0/sprockets%2Fd004e9ae71630e404522735a44c52a11 +0 -0
- data/test/dummy/tmp/cache/assets/C67/000/sprockets%2F459162b63f85d762351846ff602c978e +0 -0
- data/test/dummy/tmp/cache/assets/C67/440/sprockets%2F7b39936ea20f266108d772fa98474956 +0 -0
- data/test/dummy/tmp/cache/assets/C69/C10/sprockets%2F0d7a126eccc4329435124e522220378a +0 -0
- data/test/dummy/tmp/cache/assets/C6A/290/sprockets%2F080307eac72147555366d0e64d1023ab +0 -0
- data/test/dummy/tmp/cache/assets/C6A/A20/sprockets%2F700c900bd7b522d041681823904ae2e4 +0 -0
- data/test/dummy/tmp/cache/assets/C6B/180/sprockets%2Fc06c1202213e2846058431e3e707a2ff +0 -0
- data/test/dummy/tmp/cache/assets/C6C/810/sprockets%2F2718853497b7c397d445ef31f934d458 +0 -0
- data/test/dummy/tmp/cache/assets/C6D/BE0/sprockets%2F64a2905185a109011db1f405b65e267d +0 -0
- data/test/dummy/tmp/cache/assets/C6E/7D0/sprockets%2F86970687f69e155a83e951cec4596043 +0 -0
- data/test/dummy/tmp/cache/assets/C6F/200/sprockets%2F077d53f7ba6e3516496c867968b27774 +0 -0
- data/test/dummy/tmp/cache/assets/C6F/3B0/sprockets%2F072048ba3124b22756e3f534e390f16a +0 -0
- data/test/dummy/tmp/cache/assets/C6F/DF0/sprockets%2F19b991b49958f790691b43cc876c9441 +0 -0
- data/test/dummy/tmp/cache/assets/C70/1B0/sprockets%2F4811e0613a227e101b26d64ffe154683 +0 -0
- data/test/dummy/tmp/cache/assets/C70/1F0/sprockets%2F22a273052fb00b84bce2849f13982530 +0 -0
- data/test/dummy/tmp/cache/assets/C70/580/sprockets%2Fe894a965928c1287872a0fd297b99353 +0 -0
- data/test/dummy/tmp/cache/assets/C70/850/sprockets%2F7be0213040c3acb682e573608e441970 +0 -0
- data/test/dummy/tmp/cache/assets/C70/920/sprockets%2F962b044631a652d42417c109eb24ec81 +0 -0
- data/test/dummy/tmp/cache/assets/C72/120/sprockets%2F0e1a725795d10e13e4164c31e88351d1 +0 -0
- data/test/dummy/tmp/cache/assets/C72/AC0/sprockets%2F44b7435a96cd144c4b5250e01855a821 +0 -0
- data/test/dummy/tmp/cache/assets/C73/5C0/sprockets%2F2080c93263c030d48dc94ea39305327c +0 -0
- data/test/dummy/tmp/cache/assets/C73/DA0/sprockets%2F7181b49b99a79c76839798190aa6059f +0 -0
- data/test/dummy/tmp/cache/assets/C75/FB0/sprockets%2F93279bdd44712b4008b4d29051904f0c +0 -0
- data/test/dummy/tmp/cache/assets/C76/7D0/sprockets%2F4d655f939b8b1a2462ea13042b367711 +0 -0
- data/test/dummy/tmp/cache/assets/C77/780/sprockets%2F8638238293665a14e6ce2dca0a402363 +0 -0
- data/test/dummy/tmp/cache/assets/C7A/080/sprockets%2Fb7920ad71b46043c642816643ce1a795 +0 -0
- data/test/dummy/tmp/cache/assets/C7A/410/sprockets%2F55d7ac1c22d7347551e2a65251d17288 +0 -0
- data/test/dummy/tmp/cache/assets/C7C/060/sprockets%2F32694b33b7720372b42698cc49dab360 +0 -0
- data/test/dummy/tmp/cache/assets/C7C/820/sprockets%2F75345871dc6b88eb502f1ec014518621 +0 -0
- data/test/dummy/tmp/cache/assets/C7C/C90/sprockets%2F92c082511a234b21cf6c479b6f507576 +0 -0
- data/test/dummy/tmp/cache/assets/C7D/2C0/sprockets%2F510dcf322fa428af8292d31657315757 +0 -0
- data/test/dummy/tmp/cache/assets/C7D/600/sprockets%2F24302027765679153e1c3da944e4af4f +0 -0
- data/test/dummy/tmp/cache/assets/C7D/950/sprockets%2F6c0363b13959ad48161b25b1c835657e +0 -0
- data/test/dummy/tmp/cache/assets/C7E/020/sprockets%2Fb4872fbe9811293022084aa304d9864e +0 -0
- data/test/dummy/tmp/cache/assets/C7E/C90/sprockets%2F1f75e76943967aa1351a564142fa052f +0 -0
- data/test/dummy/tmp/cache/assets/C7F/C80/sprockets%2F172018043d58cd572b8e4914de134a79 +0 -0
- data/test/dummy/tmp/cache/assets/C7F/DE0/sprockets%2F20684b3051676c77e9b2fa423363ee71 +0 -0
- data/test/dummy/tmp/cache/assets/C80/0C0/sprockets%2F3400b37f7b6f95f54bf7768165200b32 +0 -0
- data/test/dummy/tmp/cache/assets/C80/140/sprockets%2F171f748250c3977590f1318aa18dd4d2 +0 -0
- data/test/dummy/tmp/cache/assets/C80/6D0/sprockets%2F307ca271082e5c14996c36267a288df0 +0 -0
- data/test/dummy/tmp/cache/assets/C80/710/sprockets%2F41b1692a0f1a77581854ee4b7709913a +0 -0
- data/test/dummy/tmp/cache/assets/C80/CD0/sprockets%2F0032971af77940c1af9e2f460177809a +0 -0
- data/test/dummy/tmp/cache/assets/C81/1D0/sprockets%2F2a5c1b8466476169a6e9127cd511e183 +0 -0
- data/test/dummy/tmp/cache/assets/C82/D20/sprockets%2F16a1605945c145b495cb85886de4603a +0 -0
- data/test/dummy/tmp/cache/assets/C83/180/sprockets%2F49eb5e9d119c601182d7359d1663420f +0 -0
- data/test/dummy/tmp/cache/assets/C83/380/sprockets%2F5e3f360822828773e961b800b9d0f1b5 +0 -0
- data/test/dummy/tmp/cache/assets/C83/520/sprockets%2F04723d8215f9557d6d801cf6b713824b +0 -0
- data/test/dummy/tmp/cache/assets/C83/7D0/sprockets%2F8a78d82e23b532c404b638c51b772855 +0 -0
- data/test/dummy/tmp/cache/assets/C83/A10/sprockets%2F888080c85be8f70236b191a37c1954a1 +0 -0
- data/test/dummy/tmp/cache/assets/C83/C20/sprockets%2F9399873eb3e83ae6409c409311aa0337 +0 -0
- data/test/dummy/tmp/cache/assets/C83/CF0/sprockets%2Fbf48616ee2905ea86820e1435287d601 +0 -0
- data/test/dummy/tmp/cache/assets/C84/090/sprockets%2F8b3262ab072d0c591f8919887aa69150 +0 -0
- data/test/dummy/tmp/cache/assets/C84/1B0/sprockets%2Ff5833fd0038d74016a792bf285d31819 +0 -0
- data/test/dummy/tmp/cache/assets/C84/510/sprockets%2F230e7994085286b76d2ed057d4b453d0 +0 -0
- data/test/dummy/tmp/cache/assets/C84/9D0/sprockets%2F95037f9678608da3a107e507baf73432 +0 -0
- data/test/dummy/tmp/cache/assets/C84/9F0/sprockets%2F93ea52b0048348f92586340f39ad471d +0 -0
- data/test/dummy/tmp/cache/assets/C86/1A0/sprockets%2F46d3f6f265fce039f207282c09068182 +0 -0
- data/test/dummy/tmp/cache/assets/C86/390/sprockets%2Fbf94371a30ea291d595677637e50e136 +0 -0
- data/test/dummy/tmp/cache/assets/C86/F40/sprockets%2Fa74f2353732b85185fdb46302b91796e +0 -0
- data/test/dummy/tmp/cache/assets/C86/FD0/sprockets%2F95be23334957f803517b6b4d2f18e704 +0 -0
- data/test/dummy/tmp/cache/assets/C87/130/sprockets%2F70284d571d967d3e17b3151d58e3d419 +0 -0
- data/test/dummy/tmp/cache/assets/C87/860/sprockets%2F06a90e1784696233013dd6ee75e4549b +0 -0
- data/test/dummy/tmp/cache/assets/C87/990/sprockets%2Fe99c6569107adae32564262cf9313175 +0 -0
- data/test/dummy/tmp/cache/assets/C87/9E0/sprockets%2F6830a5d84c87260428ec40874d25d2f6 +0 -0
- data/test/dummy/tmp/cache/assets/C88/480/sprockets%2Fa10a30c47b2a89644c3971c78845479f +0 -0
- data/test/dummy/tmp/cache/assets/C88/F80/sprockets%2F40018b3244b595e623d6183e8e7d89f1 +0 -0
- data/test/dummy/tmp/cache/assets/C89/C70/sprockets%2F8dfab10881842fb5e999140013f60769 +0 -0
- data/test/dummy/tmp/cache/assets/C8A/970/sprockets%2F9ac0c50557820ea3209b5e8f87182994 +0 -0
- data/test/dummy/tmp/cache/assets/C8B/280/sprockets%2F531c75712039f5913a77f3f8a37c429f +0 -0
- data/test/dummy/tmp/cache/assets/C8B/2B0/sprockets%2F757dfb06ec7a511563928862c5e94611 +0 -0
- data/test/dummy/tmp/cache/assets/C8C/2C0/sprockets%2F440b422a30853a03a2fd5902b62a62d2 +0 -0
- data/test/dummy/tmp/cache/assets/C8E/560/sprockets%2Fd689186c39da83044435b63c38ff6316 +0 -0
- data/test/dummy/tmp/cache/assets/C8E/B50/sprockets%2F1dd74756236ef168e5378ab072486f43 +0 -0
- data/test/dummy/tmp/cache/assets/C8F/000/sprockets%2F01a04205ee116fbb2683034aa55c8720 +0 -0
- data/test/dummy/tmp/cache/assets/C8F/2D0/sprockets%2F04cb2049579f1d33989f85c4333fe058 +0 -0
- data/test/dummy/tmp/cache/assets/C8F/3D0/sprockets%2F9a11673b79cf574111cca89f08768617 +0 -0
- data/test/dummy/tmp/cache/assets/C8F/780/sprockets%2Fe8d1b692466401f8a06c4697ff368280 +0 -0
- data/test/dummy/tmp/cache/assets/C90/3E0/sprockets%2Fed300792c820da1a4a180f3620e15530 +0 -0
- data/test/dummy/tmp/cache/assets/C90/640/sprockets%2Fa6375818960a576f5f7322f600487dcf +0 -0
- data/test/dummy/tmp/cache/assets/C90/F70/sprockets%2F58e63190d56e5b6e83e6487a84e35141 +0 -0
- data/test/dummy/tmp/cache/assets/C91/0D0/sprockets%2F5bd71287903ba95d2fb5743719549e92 +0 -0
- data/test/dummy/tmp/cache/assets/C91/8A0/sprockets%2Fe02395f83f6f5201913e1b888f46f645 +0 -0
- data/test/dummy/tmp/cache/assets/C91/9F0/sprockets%2F6c7a863808922147872566c40f7bcbd9 +0 -0
- data/test/dummy/tmp/cache/assets/C92/590/sprockets%2Fc853abc9c15987065c59c7395f328414 +0 -0
- data/test/dummy/tmp/cache/assets/C92/9A0/sprockets%2F6c85f9c609287aa6552391f576f0f405 +0 -0
- data/test/dummy/tmp/cache/assets/C92/C30/sprockets%2F2377b6f8d46f2a90820935754366f5ce +0 -0
- data/test/dummy/tmp/cache/assets/C92/DE0/sprockets%2F4e99f3610096e97c1287705d942ffb41 +0 -0
- data/test/dummy/tmp/cache/assets/C94/D10/sprockets%2F903d696bc385f21c973d97789a31e504 +0 -0
- data/test/dummy/tmp/cache/assets/C94/EC0/sprockets%2F1b6eff75c92917925b99948d113705d1 +0 -0
- data/test/dummy/tmp/cache/assets/C94/F40/sprockets%2F9a37284984ca20b598cc83b76d792166 +0 -0
- data/test/dummy/tmp/cache/assets/C95/B00/sprockets%2F4c52f13c15086198d5664ea4f775499f +0 -0
- data/test/dummy/tmp/cache/assets/C95/C40/sprockets%2F5215355bd83595661d71909bd8d896be +0 -0
- data/test/dummy/tmp/cache/assets/C95/E80/sprockets%2F188cbb0b17651c27b776977a9965e618 +0 -0
- data/test/dummy/tmp/cache/assets/C95/F70/sprockets%2F7d9b253e09f897f582400c3796c573b4 +0 -0
- data/test/dummy/tmp/cache/assets/C96/130/sprockets%2F65282946954409cc01f088f5c79ac68d +0 -0
- data/test/dummy/tmp/cache/assets/C96/1F0/sprockets%2Fc53ab6d278f5853970ef30296977572b +0 -0
- data/test/dummy/tmp/cache/assets/C96/290/sprockets%2Fa3d8033501e001f443c63c158a3a539d +0 -0
- data/test/dummy/tmp/cache/assets/C96/4C0/sprockets%2F289f946909e090b275a6b4e618a636d9 +0 -0
- data/test/dummy/tmp/cache/assets/C98/010/sprockets%2F3298073c8f769e62c70743ba5e93e945 +0 -0
- data/test/dummy/tmp/cache/assets/C98/D10/sprockets%2F26c19ec2f71a6305b43a823df0301254 +0 -0
- data/test/dummy/tmp/cache/assets/C99/370/sprockets%2F31a8306eb0a214485560f618913aec0a +0 -0
- data/test/dummy/tmp/cache/assets/C99/F10/sprockets%2F42347073fbba17e3be3883820c1000a8 +0 -0
- data/test/dummy/tmp/cache/assets/C9A/D60/sprockets%2F1c018c69d4f01ec016141ee18702b931 +0 -0
- data/test/dummy/tmp/cache/assets/C9B/380/sprockets%2F4e74f5a9e474b193de760499b1924795 +0 -0
- data/test/dummy/tmp/cache/assets/C9B/3A0/sprockets%2Fc094497ae817a3b6ea351032b105e620 +0 -0
- data/test/dummy/tmp/cache/assets/C9B/DF0/sprockets%2Ff7f415b64653f36815f3768c916666ec +0 -0
- data/test/dummy/tmp/cache/assets/C9C/120/sprockets%2F839161c85f65ed8f68d928b6e4041188 +0 -0
- data/test/dummy/tmp/cache/assets/C9C/D40/sprockets%2F72242032d5981411677a1ba91a2dafb6 +0 -0
- data/test/dummy/tmp/cache/assets/C9D/160/sprockets%2Fe44f317cb4c4d30720950d9028ee0121 +0 -0
- data/test/dummy/tmp/cache/assets/C9D/630/sprockets%2Fc6e27b659f5002ae303131e6d14b5371 +0 -0
- data/test/dummy/tmp/cache/assets/C9D/800/sprockets%2F35555164855b7b54f987dcf843cf8608 +0 -0
- data/test/dummy/tmp/cache/assets/C9E/160/sprockets%2F77816cc31480820ade5356034adeb311 +0 -0
- data/test/dummy/tmp/cache/assets/C9E/810/sprockets%2F7b91bc41a55d3247e3d1602637ab4037 +0 -0
- data/test/dummy/tmp/cache/assets/C9F/3A0/sprockets%2F2469356cd21d5a5902b06584ea0b20d5 +0 -0
- data/test/dummy/tmp/cache/assets/CA0/050/sprockets%2Fd4520f127c13e5a8423f01f67c5a4326 +0 -0
- data/test/dummy/tmp/cache/assets/CA0/600/sprockets%2F1554ed77fd047e539e9f682d35088991 +0 -0
- data/test/dummy/tmp/cache/assets/CA0/F30/sprockets%2F982647a591ddc998757090e366d275ed +0 -0
- data/test/dummy/tmp/cache/assets/CA1/7D0/sprockets%2F50a78c30747ead33523476cb40a059c2 +0 -0
- data/test/dummy/tmp/cache/assets/CA1/9B0/sprockets%2F45053226eab1846002ea7c538960dec2 +0 -0
- data/test/dummy/tmp/cache/assets/CA2/AB0/sprockets%2F407fea2123617145a476051d92e05efc +0 -0
- data/test/dummy/tmp/cache/assets/CA2/BC0/sprockets%2F336f5a0e85027c07c4460b10d548a7d4 +0 -0
- data/test/dummy/tmp/cache/assets/CA2/BD0/sprockets%2F49a81581024283ecaadb62346b47f006 +0 -0
- data/test/dummy/tmp/cache/assets/CA5/400/sprockets%2F2b82a7e99c0e05652445e06c1d17d051 +0 -0
- data/test/dummy/tmp/cache/assets/CA5/830/sprockets%2F410b486189cd22c6aa26437262e4fb16 +0 -0
- data/test/dummy/tmp/cache/assets/CA5/CE0/sprockets%2F849135fbf223644334ec2581842bb0ac +0 -0
- data/test/dummy/tmp/cache/assets/CA5/E50/sprockets%2F3e4d2074451614cfb807084ca42447dd +0 -0
- data/test/dummy/tmp/cache/assets/CA6/050/sprockets%2F0870154ae63a5f7c83121ef17d0846b2 +0 -0
- data/test/dummy/tmp/cache/assets/CA6/700/sprockets%2F60e083d5d4a45568066fad1d33b03519 +0 -0
- data/test/dummy/tmp/cache/assets/CA6/AD0/sprockets%2F288da8bd123c34371e2401459e8bd504 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/070/sprockets%2F2d0497e8544ea11f3981814312abd3b5 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/760/sprockets%2Fa271c3b894511332a0e1ab2589f46f39 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/D20/sprockets%2F1f594f974f38ae85702ec10ae4233000 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/D40/sprockets%2F09291437a41fbc8b0053920f836c4b9a +0 -0
- data/test/dummy/tmp/cache/assets/CA8/4C0/sprockets%2F921af2e1125bd4e722b86684326fd251 +0 -0
- data/test/dummy/tmp/cache/assets/CA8/790/sprockets%2F53bf33929435986dd2a0af314b2860b1 +0 -0
- data/test/dummy/tmp/cache/assets/CA8/8A0/sprockets%2F09a719af6b910a477a8e63a67016400e +0 -0
- data/test/dummy/tmp/cache/assets/CA8/A70/sprockets%2F2747015d607d40e647d84f4a7d02b51c +0 -0
- data/test/dummy/tmp/cache/assets/CA8/CF0/sprockets%2F13bc06476e3f5fa270409bd41c760791 +0 -0
- data/test/dummy/tmp/cache/assets/CA8/ED0/sprockets%2F95a93b16c02b6e70c4c44c8497153a22 +0 -0
- data/test/dummy/tmp/cache/assets/CA8/F50/sprockets%2F6c3b801a4e229736f0b183c35d542e29 +0 -0
- data/test/dummy/tmp/cache/assets/CAA/8B0/sprockets%2Ffcec766b6270b4380670c04215991b4c +0 -0
- data/test/dummy/tmp/cache/assets/CAA/8D0/sprockets%2Fb49800d7d861022a35878a725b5f15ab +0 -0
- data/test/dummy/tmp/cache/assets/CAA/BC0/sprockets%2F42078e308f64bba6180ed593c1257a08 +0 -0
- data/test/dummy/tmp/cache/assets/CAA/EF0/sprockets%2F13b3f1125490c5a2e82e24d64f780e39 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/320/sprockets%2F78ac4929439bc866a653a2a12a2a5165 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/4D0/sprockets%2F21a12d7663bea8213a833927457ed4f4 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/720/sprockets%2F491d20bb57b07051ed188bd0f7028894 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/750/sprockets%2F212a47ef9bbb0b0a425335683067f878 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/890/sprockets%2F2f32992c977b6a811f0e38c6110434cb +0 -0
- data/test/dummy/tmp/cache/assets/CAB/D10/sprockets%2F27544d50488ac62f23e860d2f51307ea +0 -0
- data/test/dummy/tmp/cache/assets/CAC/F40/sprockets%2Fcce78188e804745f718a00dc1410e254 +0 -0
- data/test/dummy/tmp/cache/assets/CAD/4B0/sprockets%2F37111738f65d62046cb8e56440fc4ab6 +0 -0
- data/test/dummy/tmp/cache/assets/CAD/6C0/sprockets%2Fe836e0b2710029315f25e31966fa86ae +0 -0
- data/test/dummy/tmp/cache/assets/CAD/7F0/sprockets%2F52a078730ed34d144927702ecd5dc475 +0 -0
- data/test/dummy/tmp/cache/assets/CAD/890/sprockets%2F0b64e08b0310b5955e4274998de205ce +0 -0
- data/test/dummy/tmp/cache/assets/CAD/B70/sprockets%2F57254337db5e0be73c242ea5066744f5 +0 -0
- data/test/dummy/tmp/cache/assets/CAD/BE0/sprockets%2Fb4ae46150b8011119cd56d3789cf2288 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/200/sprockets%2F48c74ad503720c817e9ba301f1b89583 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/290/sprockets%2F8078875c0d64178ad1a11991d25bb44c +0 -0
- data/test/dummy/tmp/cache/assets/CAE/490/sprockets%2F51e43a989180ced34952a2b8c644c530 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/630/sprockets%2F9d24d9f35a4650e41b4645c5d81b0842 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/660/sprockets%2F15b8345da313eea0a96760340c9559e7 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/880/sprockets%2Fd6c9a58dd76ec050444d324819262e20 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/900/sprockets%2F0e397258561ee4b801e90c11134c9a8f +0 -0
- data/test/dummy/tmp/cache/assets/CAE/A40/sprockets%2F037f34c1814912af7f1f5d81080dd962 +0 -0
- data/test/dummy/tmp/cache/assets/CAF/8F0/sprockets%2Fdfb0351981258b34aa1a77478e5027e7 +0 -0
- data/test/dummy/tmp/cache/assets/CAF/F30/sprockets%2F93a3cb60248afb131545f47709fb6645 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/240/sprockets%2F6e09e74c352d05b8f80699035203a1ef +0 -0
- data/test/dummy/tmp/cache/assets/CB0/6C0/sprockets%2Fb052b2fcf6576527d249d81d9251304f +0 -0
- data/test/dummy/tmp/cache/assets/CB0/6E0/sprockets%2Fb6374ab19b20f2254690b9099d1e73b8 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/CB0/sprockets%2F4cf4d8b16152352bc516a4985b74d159 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/CE0/sprockets%2F27b63550e66772dd1a53c2f583f1e921 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/DA0/sprockets%2F4b44084421b0deeb1d2586e46b676793 +0 -0
- data/test/dummy/tmp/cache/assets/CB0/EF0/sprockets%2Fa01136a757d377c8efd38821723f82c0 +0 -0
- data/test/dummy/tmp/cache/assets/CB1/370/sprockets%2F590488652cd4303cc682fe9c941400cc +0 -0
- data/test/dummy/tmp/cache/assets/CB1/720/sprockets%2F018fab435fc393f71862ec3d10737934 +0 -0
- data/test/dummy/tmp/cache/assets/CB1/EA0/sprockets%2F4759506f0564d9c58127be282a1dbd51 +0 -0
- data/test/dummy/tmp/cache/assets/CB1/EE0/sprockets%2F931d2725b8c14ed84a31e373fc813188 +0 -0
- data/test/dummy/tmp/cache/assets/CB2/300/sprockets%2F224075f1624945daf1f76df5b3689c00 +0 -0
- data/test/dummy/tmp/cache/assets/CB2/360/sprockets%2F837c1d6062902933d1293dc73a7cdf47 +0 -0
- data/test/dummy/tmp/cache/assets/CB2/5A0/sprockets%2F434a0c6d7c301964022e91e8f99bb727 +0 -0
- data/test/dummy/tmp/cache/assets/CB2/E80/sprockets%2F4745738104a5b1a1952a3df67955e8da +0 -0
- data/test/dummy/tmp/cache/assets/CB3/360/sprockets%2F957ef101ecd45863632de600c9597a30 +0 -0
- data/test/dummy/tmp/cache/assets/CB3/720/sprockets%2F9d2028796498a1ab2c9bbb05665a0964 +0 -0
- data/test/dummy/tmp/cache/assets/CB3/AA0/sprockets%2F1a5341f5bbe847df26e716510318779c +0 -0
- data/test/dummy/tmp/cache/assets/CB3/CA0/sprockets%2F1d2306c646f5e2bf436be4914a949364 +0 -0
- data/test/dummy/tmp/cache/assets/CB3/F40/sprockets%2F65e40dc324ca81a9e17856342a77e591 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/240/sprockets%2F940b55ae0d29d6602ca1776712f6f928 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/790/sprockets%2F7dd7073112b9c5019e753ffa56463b66 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/890/sprockets%2F7f8ab6f90720f3f6b19243c41b366465 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/A60/sprockets%2Fa8fe69f6103d6939050046f08db165b5 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/C50/sprockets%2Ff9ed4040f57f633876cd232780fa0128 +0 -0
- data/test/dummy/tmp/cache/assets/CB4/D90/sprockets%2F5fb974e230f8a43f0146694636b621fc +0 -0
- data/test/dummy/tmp/cache/assets/CB5/200/sprockets%2F769c51757781c4a190185baf1297eb3a +0 -0
- data/test/dummy/tmp/cache/assets/CB5/220/sprockets%2F014337688f75cc53366e1dee09642f0c +0 -0
- data/test/dummy/tmp/cache/assets/CB5/310/sprockets%2F2833f6b19a5ac7453729822f259b2db6 +0 -0
- data/test/dummy/tmp/cache/assets/CB5/610/sprockets%2F33ac72c81dc2a77850687691f1172c8d +0 -0
- data/test/dummy/tmp/cache/assets/CB5/B60/sprockets%2Fd29dae0ef3568721735ec72217826a28 +0 -0
- data/test/dummy/tmp/cache/assets/CB5/D90/sprockets%2F794b6d6ac1939404bb8e644725c0f155 +0 -0
- data/test/dummy/tmp/cache/assets/CB6/110/sprockets%2Fef8631566777061408af1c64bd43b3d9 +0 -0
- data/test/dummy/tmp/cache/assets/CB6/2C0/sprockets%2F84ca6c105bf1676b9b712908174747de +0 -0
- data/test/dummy/tmp/cache/assets/CB7/2E0/sprockets%2Ff1ed26933745612dc769d5fb75c17321 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/A10/sprockets%2Fd34b045e6d4215367bcf6f08e4638926 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/C10/sprockets%2F262600ead4686290c10b01aa60e0ce20 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/D40/sprockets%2F699ef7310dacea441646312a965f7923 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/D70/sprockets%2F2cdf87e3d1b3659309903e519a7251f5 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/F00/sprockets%2F4e642eb013c8669a50db2fa895234779 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2Fe11b1d418699c10ce19c92b8a8562992 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/3B0/sprockets%2Ff293c101ef37e37fad1336567f288805 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/550/sprockets%2F4979e71c0cc90484d185942e6ba104e7 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/740/sprockets%2F86f24d82550d1d67070d828c593cda29 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/7F0/sprockets%2F09b29c8ae26818da63953740870abb86 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/980/sprockets%2F49c37cd6ce40901b895305f7393e53a5 +0 -0
- data/test/dummy/tmp/cache/assets/CB8/AC0/sprockets%2F31296d9a08823af1b68971b91645fb5c +0 -0
- data/test/dummy/tmp/cache/assets/CB8/B30/sprockets%2F13f7cb02749922719ffa184c96160a8f +0 -0
- data/test/dummy/tmp/cache/assets/CB8/CE0/sprockets%2Fd82b3fa60209f7b3e19775f13806785a +0 -0
- data/test/dummy/tmp/cache/assets/CB9/260/sprockets%2F7cfb2307bb86615c7743d75d164e9354 +0 -0
- data/test/dummy/tmp/cache/assets/CB9/680/sprockets%2F769814cdb49069f4d3c4d73317a360b8 +0 -0
- data/test/dummy/tmp/cache/assets/CB9/BE0/sprockets%2F5616190f6338dd921fae3517868cc8a2 +0 -0
- data/test/dummy/tmp/cache/assets/CB9/D80/sprockets%2Fb71db9a0566b74607e170a9679c5276d +0 -0
- data/test/dummy/tmp/cache/assets/CB9/FB0/sprockets%2F284a0fe46e42c9d28f912830cf479604 +0 -0
- data/test/dummy/tmp/cache/assets/CB9/FC0/sprockets%2Fae273d06916808a44c8c47b744d2883e +0 -0
- data/test/dummy/tmp/cache/assets/CB9/FD0/sprockets%2F868358f2ee30f4326e761014cd2576ee +0 -0
- data/test/dummy/tmp/cache/assets/CBA/1A0/sprockets%2F8d919816a78bf3c2342a9810f35c26c8 +0 -0
- data/test/dummy/tmp/cache/assets/CBA/FE0/sprockets%2Fbcdc17a3d142901246f0010d01d63a92 +0 -0
- data/test/dummy/tmp/cache/assets/CBB/4A0/sprockets%2F836b47264a423975db0f9b8d494424fb +0 -0
- data/test/dummy/tmp/cache/assets/CBB/5D0/sprockets%2F7965dc683e03140b80566dbd76677f0c +0 -0
- data/test/dummy/tmp/cache/assets/CBB/A70/sprockets%2F7d2284b9010bf8c6791f192496a48f3c +0 -0
- data/test/dummy/tmp/cache/assets/CBB/C00/sprockets%2Ff9a9076aa8206b5af62e6759423c3459 +0 -0
- data/test/dummy/tmp/cache/assets/CBC/B00/sprockets%2F781e0bd52bee4781ff663069a5941079 +0 -0
- data/test/dummy/tmp/cache/assets/CBD/1B0/sprockets%2F8d8816a2a02333e97652d4be4d5c7977 +0 -0
- data/test/dummy/tmp/cache/assets/CBD/8F0/sprockets%2Fa06568f2e94fe5040f3f1f18e0965476 +0 -0
- data/test/dummy/tmp/cache/assets/CBD/F90/sprockets%2F96237bbf67793f5df1545a4608345b1f +0 -0
- data/test/dummy/tmp/cache/assets/CBE/150/sprockets%2F6709c8934146f58d1d8e0386b385b1dc +0 -0
- data/test/dummy/tmp/cache/assets/CBE/C50/sprockets%2Ff9a19372c0905a91eb97d9798b131c55 +0 -0
- data/test/dummy/tmp/cache/assets/CBE/C70/sprockets%2F0b854864714ec43d7fd4d62a495d1894 +0 -0
- data/test/dummy/tmp/cache/assets/CBF/0B0/sprockets%2F8b64669d931f40a85fb4b56431769fb2 +0 -0
- data/test/dummy/tmp/cache/assets/CBF/2F0/sprockets%2F663199019e22fac7e8f7dbc876443721 +0 -0
- data/test/dummy/tmp/cache/assets/CBF/8B0/sprockets%2F97895a24c544a015857f2fc94b47d53d +0 -0
- data/test/dummy/tmp/cache/assets/CBF/E20/sprockets%2Fc0e317c628dccdb0418071361a11b342 +0 -0
- data/test/dummy/tmp/cache/assets/CC0/1E0/sprockets%2F153766c84f6119b4238b753ff92cc57e +0 -0
- data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F26cd86b84410a02a601212bd2236f6da +0 -0
- data/test/dummy/tmp/cache/assets/CC1/0C0/sprockets%2Ff1db17a26e4b3c3570f9972f57940779 +0 -0
- data/test/dummy/tmp/cache/assets/CC1/3B0/sprockets%2F737207abfffd639437c1659e439629d0 +0 -0
- data/test/dummy/tmp/cache/assets/CC1/AA0/sprockets%2F267c43786e51759667824117ceea5ade +0 -0
- data/test/dummy/tmp/cache/assets/CC1/E10/sprockets%2F6a72d98c94d5e89008d0515f0467fb47 +0 -0
- data/test/dummy/tmp/cache/assets/CC1/EA0/sprockets%2Fc361f5bd9186644d45e91e77e8700c65 +0 -0
- data/test/dummy/tmp/cache/assets/CC2/070/sprockets%2F50f57bd3b454979837b58a044d892a9c +0 -0
- data/test/dummy/tmp/cache/assets/CC2/820/sprockets%2F9723ad49856657ae3df92c726914a5b4 +0 -0
- data/test/dummy/tmp/cache/assets/CC2/850/sprockets%2F0991ccdfb7d10695d34851e69d719735 +0 -0
- data/test/dummy/tmp/cache/assets/CC2/B00/sprockets%2F75f12caf383557d3a572971d099566fd +0 -0
- data/test/dummy/tmp/cache/assets/CC3/1D0/sprockets%2Fe05f83785d87559e712ef7331136b7fa +0 -0
- data/test/dummy/tmp/cache/assets/CC3/2F0/sprockets%2Fa76e9c1a4024f8697e1493825e4f239f +0 -0
- data/test/dummy/tmp/cache/assets/CC3/520/sprockets%2Faaa0355000f0805367da5825e31e5b2d +0 -0
- data/test/dummy/tmp/cache/assets/CC3/CD0/sprockets%2F4ff64f374e84188231f8460486f4d4cb +0 -0
- data/test/dummy/tmp/cache/assets/CC3/FE0/sprockets%2F6a49a6093617b8d69096cd49d86801af +0 -0
- data/test/dummy/tmp/cache/assets/CC4/210/sprockets%2F941735f953ac8c797ab549ee3063e815 +0 -0
- data/test/dummy/tmp/cache/assets/CC4/610/sprockets%2F0f600ac692c703702d410becdb436560 +0 -0
- data/test/dummy/tmp/cache/assets/CC5/340/sprockets%2F79c459809c63e81dbf88caa155961760 +0 -0
- data/test/dummy/tmp/cache/assets/CC5/FB0/sprockets%2F80e0c2f9390c8a479972b8841e949cb3 +0 -0
- data/test/dummy/tmp/cache/assets/CC6/340/sprockets%2Faf04460bb9266d71004db70120f0ed74 +0 -0
- data/test/dummy/tmp/cache/assets/CC7/560/sprockets%2F749218952e9de9fd31469d955da0a770 +0 -0
- data/test/dummy/tmp/cache/assets/CC7/C90/sprockets%2F86038323baeaf54599ae8856744f297c +0 -0
- data/test/dummy/tmp/cache/assets/CC8/2A0/sprockets%2F3a8642f97f97582307a90a8414e7de9e +0 -0
- data/test/dummy/tmp/cache/assets/CC8/5C0/sprockets%2F623593ea6c022c4642dd63c52ae1201e +0 -0
- data/test/dummy/tmp/cache/assets/CC8/B10/sprockets%2Fd9164d28d858d600bd68333f9c17796f +0 -0
- data/test/dummy/tmp/cache/assets/CC9/1B0/sprockets%2F4d312d451724beb0b28b853dc259401a +0 -0
- data/test/dummy/tmp/cache/assets/CC9/200/sprockets%2F742fb8ce196abf238199836fd7457166 +0 -0
- data/test/dummy/tmp/cache/assets/CC9/720/sprockets%2F4640bd1191bd9e37a578f8799c3757c7 +0 -0
- data/test/dummy/tmp/cache/assets/CC9/7B0/sprockets%2Fabc7b6219110ac27372a23cc6956513b +0 -0
- data/test/dummy/tmp/cache/assets/CC9/E30/sprockets%2F77b10d6c0995c9d5691faa55783887f2 +0 -0
- data/test/dummy/tmp/cache/assets/CC9/EA0/sprockets%2Fa571e551db777b73999fc805787b306f +0 -0
- data/test/dummy/tmp/cache/assets/CCA/380/sprockets%2Fe073c91452b0924043eb4dd1d3a3626b +0 -0
- data/test/dummy/tmp/cache/assets/CCA/920/sprockets%2F215205e30fddd55921aa2e9086730c0b +0 -0
- data/test/dummy/tmp/cache/assets/CCB/0F0/sprockets%2Fb7445a8b50d583c3401b86c1b6c304d0 +0 -0
- data/test/dummy/tmp/cache/assets/CCB/380/sprockets%2F36b8a4080e2a0dc2a4f43aa933945423 +0 -0
- data/test/dummy/tmp/cache/assets/CCB/E20/sprockets%2F79ec53487306397cd3e8569fbb27581d +0 -0
- data/test/dummy/tmp/cache/assets/CCC/080/sprockets%2F1d990a5a2f7133c864bdc253de820001 +0 -0
- data/test/dummy/tmp/cache/assets/CCC/9C0/sprockets%2F9c4f952df49a196a50e49f848c056657 +0 -0
- data/test/dummy/tmp/cache/assets/CCD/2A0/sprockets%2Fd8e7588c5343d749e07d68a53931df93 +0 -0
- data/test/dummy/tmp/cache/assets/CCD/320/sprockets%2F39bf4604985317d62f187f34f76c9f5e +0 -0
- data/test/dummy/tmp/cache/assets/CCD/400/sprockets%2Ff7db620709d9861e813887a2b485f88f +0 -0
- data/test/dummy/tmp/cache/assets/CCD/540/sprockets%2Fe0a827b1d64b02b6c604f39208723ae2 +0 -0
- data/test/dummy/tmp/cache/assets/CCE/890/sprockets%2F9103b5078baff06bf0b346b0a3637850 +0 -0
- data/test/dummy/tmp/cache/assets/CCF/5D0/sprockets%2F231033ec0602e5e3479e9e45a32dc2a5 +0 -0
- data/test/dummy/tmp/cache/assets/CCF/A80/sprockets%2Fb1ee31427714b62bf2715112e59eee11 +0 -0
- data/test/dummy/tmp/cache/assets/CCF/DB0/sprockets%2F65ae3451660470d13147eaed413eac55 +0 -0
- data/test/dummy/tmp/cache/assets/CCF/DD0/sprockets%2F48b052bf1038b30ff6ca155265c3b276 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/040/sprockets%2Fc7969f4117330ae6bc1626e100c02ae8 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/060/sprockets%2F194200d1635fd24089c114cace0fd809 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/310/sprockets%2F825eb4414b555ce140fc46ad24b48061 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/CC0/sprockets%2F771b3a4436b40d00e3890464eb91cbd3 +0 -0
- data/test/dummy/tmp/cache/assets/CD2/3D0/sprockets%2F71f7f67333976f4c98c59233dd3827ff +0 -0
- data/test/dummy/tmp/cache/assets/CD2/4A0/sprockets%2F991fe86378937a4f7e4e5819e5c34e14 +0 -0
- data/test/dummy/tmp/cache/assets/CD2/790/sprockets%2F4c0c03eb3164a4f3b90d114c8862592f +0 -0
- data/test/dummy/tmp/cache/assets/CD2/A70/sprockets%2Fafa74f1e22c50a7d66281a60d0341795 +0 -0
- data/test/dummy/tmp/cache/assets/CD2/BD0/sprockets%2F4903eb530840a7a76ee4fa931e108b12 +0 -0
- data/test/dummy/tmp/cache/assets/CD3/940/sprockets%2F641b837eeb02a10631a0d20acd987887 +0 -0
- data/test/dummy/tmp/cache/assets/CD3/EF0/sprockets%2F90c59425e8b8e5aa14316c4301b71bc6 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/5E0/sprockets%2Fa205678e1618b5bc0332f74f062ab8b6 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/8F0/sprockets%2Ff6b7441a9ecc030939344a1c4e6c1028 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/950/sprockets%2Fa9d42b8887502bfbaea025306a772550 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/A30/sprockets%2Ff3112c09e4e2e532317914748bd0df0d +0 -0
- data/test/dummy/tmp/cache/assets/CD4/A70/sprockets%2F3583df2e043a1b817e472354c2b7d1a7 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/B00/sprockets%2F0111854211a8785de20af26e9e8d5bb1 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/BD0/sprockets%2Fb805aac67c1040af26d8e841804d7308 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/C30/sprockets%2F8146caa7c2d5a8410bf19b14d4602893 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/D30/sprockets%2F6741dd0454f9080fa418ed09a192ab40 +0 -0
- data/test/dummy/tmp/cache/assets/CD5/900/sprockets%2F0603a31cdcdf8ec2872219242c65f336 +0 -0
- data/test/dummy/tmp/cache/assets/CD5/CC0/sprockets%2F843089224034e8c141f9c547cb00bdcd +0 -0
- data/test/dummy/tmp/cache/assets/CD5/F50/sprockets%2F120f1500069ba842c60db619f9e6ac85 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/0D0/sprockets%2F3dc8011007c8862be4e12b98cf691a40 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/510/sprockets%2F15410f3d417f3870b7b09f9f3a0c5b43 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/A10/sprockets%2F2fe23b7d391780f61215a714e2b7ec05 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/A90/sprockets%2F667a0820029dd4632401c94ef04cdfd5 +0 -0
- data/test/dummy/tmp/cache/assets/CD6/D70/sprockets%2Fb3ac25a40753c9b2472e3e759334ae61 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/370/sprockets%2F71dd9364063592e030066a72ba77ddbc +0 -0
- data/test/dummy/tmp/cache/assets/CD7/720/sprockets%2F2d8001653bf8cf5347a1cb3836e257d0 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/760/sprockets%2F7a82d6b6895ca9a5e3a414318f11a430 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/780/sprockets%2F08596628d7b1440d26ba09e251ffe2a0 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/AF0/sprockets%2F8ea5147f262ca0db032440670e576f7d +0 -0
- data/test/dummy/tmp/cache/assets/CD7/FE0/sprockets%2Fc1900103439ec4a366c54f6574f48aba +0 -0
- data/test/dummy/tmp/cache/assets/CD8/B20/sprockets%2F364405189b0c5f332ae0fe14a05f95d8 +0 -0
- data/test/dummy/tmp/cache/assets/CD8/C00/sprockets%2Fe3431564d507425b4d87a2d48aa8a34d +0 -0
- data/test/dummy/tmp/cache/assets/CD8/D10/sprockets%2F443f419118cbe6bf5e16765d32a9400a +0 -0
- data/test/dummy/tmp/cache/assets/CD9/200/sprockets%2F3427d0dd3c506916339cf92e307ae04d +0 -0
- data/test/dummy/tmp/cache/assets/CD9/3C0/sprockets%2Fb082b86281b7a873eb2250f31854afd4 +0 -0
- data/test/dummy/tmp/cache/assets/CD9/830/sprockets%2F056590d09da88c9b1920143a3b37d6ea +0 -0
- data/test/dummy/tmp/cache/assets/CD9/8D0/sprockets%2F7d0adf8915d0b1fca18f919929104220 +0 -0
- data/test/dummy/tmp/cache/assets/CDA/2C0/sprockets%2F40a829c1758af25c8238f3070ab5d0c9 +0 -0
- data/test/dummy/tmp/cache/assets/CDA/700/sprockets%2F24c5884ae3352ca70a9546d02bb6e844 +0 -0
- data/test/dummy/tmp/cache/assets/CDA/8B0/sprockets%2F14f573b31a508fc9a74d384a82104ec7 +0 -0
- data/test/dummy/tmp/cache/assets/CDB/360/sprockets%2F840a5e454cf0a80d6c294432eac39258 +0 -0
- data/test/dummy/tmp/cache/assets/CDB/390/sprockets%2F53426e5c2fbb6e454271f97b01b872c1 +0 -0
- data/test/dummy/tmp/cache/assets/CDB/FE0/sprockets%2F010d42b73ce096ab163fc07b846f4697 +0 -0
- data/test/dummy/tmp/cache/assets/CDB/FF0/sprockets%2F28a75074023f9a605dc4578ecfd2e122 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/3A0/sprockets%2F2bdb3f8510205db3f3bf4605947851f7 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/910/sprockets%2F4127b7bf7565f5eb82a54f5012c7512d +0 -0
- data/test/dummy/tmp/cache/assets/CDC/9C0/sprockets%2F81c08804c53996c9cbbbb9c5b0471025 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/C80/sprockets%2F0bfd35e879aa5b71147405519bff2622 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/C90/sprockets%2Fdf275148311cc0a3c977d1d52683e4a7 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/D70/sprockets%2F3a839de3659ba10d4f72a04e624327d7 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/E00/sprockets%2Fc1f1468ab4aee474745a15710e4a9538 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/F20/sprockets%2Fc35c0a48695530638225806ba4fae6bf +0 -0
- data/test/dummy/tmp/cache/assets/CDC/F40/sprockets%2Fc342722b6d9e42814386ef1de21b8a53 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/3E0/sprockets%2Fa8a24b94a9671009427cea4d884aa256 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/4E0/sprockets%2F7a22053281c92bb5f06995dcb1bc5866 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/5A0/sprockets%2Fb7dfa40599517f39400db36240fa16c9 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/770/sprockets%2F29c146b4b8a6109f305da7a6d47386a5 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/820/sprockets%2F013468b4581ca790dae9f03f70071fd8 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/8C0/sprockets%2Fbee326071215e6c434c0f091f38c5e88 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/B20/sprockets%2Ff408a3907451b845100f92d7e904fbfa +0 -0
- data/test/dummy/tmp/cache/assets/CDD/BE0/sprockets%2F8756a8072a115c8ec63a7ec2461485ba +0 -0
- data/test/dummy/tmp/cache/assets/CDD/C10/sprockets%2Fcc0b9b27c73e2960c038ff5112b38666 +0 -0
- data/test/dummy/tmp/cache/assets/CDD/D40/sprockets%2F57d10e644e2935b92803de4516fa3b5c +0 -0
- data/test/dummy/tmp/cache/assets/CDE/400/sprockets%2F1a1e6562a81a5be59fe6c205797711d3 +0 -0
- data/test/dummy/tmp/cache/assets/CDE/5B0/sprockets%2F2949a1487f82baa4bb0121945db7d288 +0 -0
- data/test/dummy/tmp/cache/assets/CDE/640/sprockets%2F39d72e391539a0a64982ecde1200f66a +0 -0
- data/test/dummy/tmp/cache/assets/CDE/660/sprockets%2F7a61352a3829824ad29457df3e23eca4 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/3A0/sprockets%2F3ae02eef2a1aa9779480d1027828c865 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/400/sprockets%2Fa008852da54f1bf9693830b51658ac7b +0 -0
- data/test/dummy/tmp/cache/assets/CDF/410/sprockets%2F72f4f8b59311d00416f921a7a9c7fe14 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/610/sprockets%2F50b229b6ae22759d78144894a10dfb4e +0 -0
- data/test/dummy/tmp/cache/assets/CDF/6C0/sprockets%2F44a74e092fc54e346f6a361f056503fe +0 -0
- data/test/dummy/tmp/cache/assets/CDF/750/sprockets%2F150a7c3c91a07a30e664fa886693ad67 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/A70/sprockets%2F06f44917744447f1655c4d2aad5d0de4 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/B40/sprockets%2Fbb77dbf8982340452a6bda4e53053494 +0 -0
- data/test/dummy/tmp/cache/assets/CDF/B40/sprockets%2Fd90abc6d71641d7c219031c864af9754 +0 -0
- data/test/dummy/tmp/cache/assets/CE0/0A0/sprockets%2F9f83fa0f5605423cc68165c3b7f1b831 +0 -0
- data/test/dummy/tmp/cache/assets/CE0/150/sprockets%2Fff06616bc548913b33660c93ea6663ac +0 -0
- data/test/dummy/tmp/cache/assets/CE0/310/sprockets%2F9ee5a8c15b510b043e88f5826cc33409 +0 -0
- data/test/dummy/tmp/cache/assets/CE0/340/sprockets%2F284aa881b4e78191f904a950baf6209b +0 -0
- data/test/dummy/tmp/cache/assets/CE0/6A0/sprockets%2Fbc57607042f83d29d06adb986528c31b +0 -0
- data/test/dummy/tmp/cache/assets/CE0/DE0/sprockets%2F39b36b9c6a734b4dad50930d88540d72 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/0C0/sprockets%2Fc394dea3dc5163500f7a9eb265953347 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/470/sprockets%2F983d99d27b4b3592a5e6ac7d073010f2 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/4D0/sprockets%2F6225b3f8be16410c0c82288fb84944cf +0 -0
- data/test/dummy/tmp/cache/assets/CE1/6D0/sprockets%2Ff9c5663fd99dc061ae23541a08e40680 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/710/sprockets%2F26af7b6d5c4ba2939130f3984b3f6415 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/DD0/sprockets%2F92603e14dbdc46d0105d70a886889f0e +0 -0
- data/test/dummy/tmp/cache/assets/CE1/E50/sprockets%2F3c417ddc0b7d41ef67749ca332316578 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/F70/sprockets%2F344548525d95f8dcb0f266cf75ba4220 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/2E0/sprockets%2F43321dc8922d569786f3e3493b1aca2e +0 -0
- data/test/dummy/tmp/cache/assets/CE2/3B0/sprockets%2F8553af0a6d6470721b885f1f072fe2c7 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/500/sprockets%2F30f8a44a9e40ac4f70d91679a90a8607 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/6F0/sprockets%2F804bb91ff37d3660bff1145654590bd7 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/870/sprockets%2Fdfc00541846d52d8664d7090e03b9eb8 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/8A0/sprockets%2Fa2c93e9943480db60c7708231eda937b +0 -0
- data/test/dummy/tmp/cache/assets/CE2/950/sprockets%2F663338454ffec19c3c93b8006070d5de +0 -0
- data/test/dummy/tmp/cache/assets/CE2/9E0/sprockets%2F66a32be0e7d4510279e1fd8671a74d83 +0 -0
- data/test/dummy/tmp/cache/assets/CE2/F10/sprockets%2Fa5794166683dc3f6ef423306a092ec4c +0 -0
- data/test/dummy/tmp/cache/assets/CE3/160/sprockets%2F9b7a40c1f4ef4229b043a96698de4234 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/290/sprockets%2F2b7625038f6f3a615b5d49c507eb638c +0 -0
- data/test/dummy/tmp/cache/assets/CE3/470/sprockets%2Fa13229635ceb37ef34c94f4a1877117f +0 -0
- data/test/dummy/tmp/cache/assets/CE3/4B0/sprockets%2F4ef804e2710c5921fd770bf913ae8068 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/520/sprockets%2F6476f636c225ae17b555e2f90322b8fc +0 -0
- data/test/dummy/tmp/cache/assets/CE3/5A0/sprockets%2F13f6bb14f6138bc58c48704d03378d9d +0 -0
- data/test/dummy/tmp/cache/assets/CE3/B60/sprockets%2Fa2e894941598cd923e2c4c9052e03af1 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/E60/sprockets%2Ffb6b2018c00f29225e926afcd3788863 +0 -0
- data/test/dummy/tmp/cache/assets/CE3/FC0/sprockets%2F66711511a9b1286d5548c6bf1c7bf3e8 +0 -0
- data/test/dummy/tmp/cache/assets/CE4/0C0/sprockets%2F54039551e7915c9bb5d514c4be46d27e +0 -0
- data/test/dummy/tmp/cache/assets/CE4/130/sprockets%2F9a139942cd593a872cd21af5372ff235 +0 -0
- data/test/dummy/tmp/cache/assets/CE4/140/sprockets%2F95c089facf860ae0b332b6671642917e +0 -0
- data/test/dummy/tmp/cache/assets/CE4/970/sprockets%2F32866ea407500e99bb62e5c62a8617df +0 -0
- data/test/dummy/tmp/cache/assets/CE5/2C0/sprockets%2F2e7e02748f316add5563de824b9526d2 +0 -0
- data/test/dummy/tmp/cache/assets/CE5/380/sprockets%2F2b93db591cc871673288fe40d14f360e +0 -0
- data/test/dummy/tmp/cache/assets/CE5/840/sprockets%2F11b05d355ea016da79fe243f9805999b +0 -0
- data/test/dummy/tmp/cache/assets/CE5/A40/sprockets%2Fb3d6e316b2b9e457c2f7037a96d01859 +0 -0
- data/test/dummy/tmp/cache/assets/CE5/C80/sprockets%2F37e6a27fa0588533d06cb58e09b4b584 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/0B0/sprockets%2Fb3e8c9040f2df4229b9d142588b59c16 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/210/sprockets%2F6b9b4b82ed79654259f177c02d8bc040 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/250/sprockets%2Fed7d322e28c360a5be419f8c83557534 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/320/sprockets%2Fed9936a17a2843e6059215d19fb209ed +0 -0
- data/test/dummy/tmp/cache/assets/CE6/380/sprockets%2Fd01c51f0838d8e83705f7ce63225b97b +0 -0
- data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2Ffd590df3a5e39763c7258802d8233c1c +0 -0
- data/test/dummy/tmp/cache/assets/CE7/7E0/sprockets%2F9081847a834bbf79fd76a55c1148dc20 +0 -0
- data/test/dummy/tmp/cache/assets/CE7/950/sprockets%2Fff862019c138153201ac6ccd597987ed +0 -0
- data/test/dummy/tmp/cache/assets/CE7/9F0/sprockets%2F037a29d79b76c928626f3a3bcd87310e +0 -0
- data/test/dummy/tmp/cache/assets/CE7/F00/sprockets%2Fe93ef14e64157334de37b164fa2d1589 +0 -0
- data/test/dummy/tmp/cache/assets/CE8/2C0/sprockets%2F1fd87d34113f4744598518fe09ddd0e0 +0 -0
- data/test/dummy/tmp/cache/assets/CE8/870/sprockets%2F1574e536fd30e824bb3e916f82a9066f +0 -0
- data/test/dummy/tmp/cache/assets/CE8/910/sprockets%2F080f8c0b62830c954799a2d5edf591d2 +0 -0
- data/test/dummy/tmp/cache/assets/CE8/CD0/sprockets%2F93de125e583b5e116af4d5159af69076 +0 -0
- data/test/dummy/tmp/cache/assets/CE8/FB0/sprockets%2F2c33796115a3ea9eead9620776473eb8 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/380/sprockets%2Fdb39605a961a8c0f9150d48ca81938f7 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/8F0/sprockets%2F505f0e4ca77daae7369943e392a85607 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/9C0/sprockets%2Fbf411959ef26087692cb04c7a98f4a50 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/C60/sprockets%2F7eef977dbc06c32f097f2825166603b3 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/DA0/sprockets%2F44572af4a8be42d567e38e80a729651d +0 -0
- data/test/dummy/tmp/cache/assets/CEA/310/sprockets%2Ff042d3ef9f0b34c3996563990f703a7b +0 -0
- data/test/dummy/tmp/cache/assets/CEA/650/sprockets%2F23e7e5e0a1649a489dd3ef092e851933 +0 -0
- data/test/dummy/tmp/cache/assets/CEA/790/sprockets%2F08888489e9e0723c2ee23b2e13f0ee36 +0 -0
- data/test/dummy/tmp/cache/assets/CEA/8C0/sprockets%2F4d757db04f37413787a19a4579bb5bb9 +0 -0
- data/test/dummy/tmp/cache/assets/CEA/8F0/sprockets%2F9a6c20bb09238891ef59fc17547b286a +0 -0
- data/test/dummy/tmp/cache/assets/CEA/D20/sprockets%2F1976f0ca183934d8bc849b53f170ef08 +0 -0
- data/test/dummy/tmp/cache/assets/CEA/D40/sprockets%2F13f82f6e55726a092f6718777cb3ab3e +0 -0
- data/test/dummy/tmp/cache/assets/CEB/130/sprockets%2F80df7fdb158154fe724b345592f274b7 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/1D0/sprockets%2Fb3014c30d4b5ad090fb00a5a303b7929 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/570/sprockets%2Fa479c9185e3057b9044491bc5bf6fb38 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/660/sprockets%2F8d5dac99dad6219456d03326811e58e7 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/8A0/sprockets%2F159eb5218f66cb1523956585e1add78c +0 -0
- data/test/dummy/tmp/cache/assets/CEB/E20/sprockets%2F2392417f6ade39578bbc805a7f15458d +0 -0
- data/test/dummy/tmp/cache/assets/CEC/230/sprockets%2F06c6439d6734e9122d0429d99bd76ceb +0 -0
- data/test/dummy/tmp/cache/assets/CEC/290/sprockets%2F7077b1e5731389d9236ffae8142e8bd3 +0 -0
- data/test/dummy/tmp/cache/assets/CEC/350/sprockets%2F6e753e09528676b0667afde7e251c8b0 +0 -0
- data/test/dummy/tmp/cache/assets/CEC/4C0/sprockets%2Fdd5b21c9738f4781b4d32d6425835fd8 +0 -0
- data/test/dummy/tmp/cache/assets/CEC/700/sprockets%2F41fb69b7745f7118f9fd12843d354d1d +0 -0
- data/test/dummy/tmp/cache/assets/CEC/830/sprockets%2Fc4e97e059861f48bd5d644184e14b8a1 +0 -0
- data/test/dummy/tmp/cache/assets/CEC/9B0/sprockets%2F623d2921e3b7bd6cbe9288253e18e776 +0 -0
- data/test/dummy/tmp/cache/assets/CEC/FC0/sprockets%2F0d2e77a643248769fd2f6c6d34389bc0 +0 -0
- data/test/dummy/tmp/cache/assets/CED/3F0/sprockets%2F2e9385419f85782925bea76024cddde0 +0 -0
- data/test/dummy/tmp/cache/assets/CED/4D0/sprockets%2F370f12be838ce375948b6d4f37a46c37 +0 -0
- data/test/dummy/tmp/cache/assets/CED/610/sprockets%2F8f08d75c4e213f271c616476ee59d8b2 +0 -0
- data/test/dummy/tmp/cache/assets/CED/610/sprockets%2Fc464c2668d8d57244934c45b9a28e7ba +0 -0
- data/test/dummy/tmp/cache/assets/CED/820/sprockets%2F95259b083f2fe5806fc98b262fca2437 +0 -0
- data/test/dummy/tmp/cache/assets/CED/9C0/sprockets%2F25aa2692a87f9b8f53c70b525997e42b +0 -0
- data/test/dummy/tmp/cache/assets/CEE/280/sprockets%2F76be09b87b67819e2d65b3ac61910d96 +0 -0
- data/test/dummy/tmp/cache/assets/CEE/320/sprockets%2F6ef494b9dfed486274ef54901251c172 +0 -0
- data/test/dummy/tmp/cache/assets/CEE/440/sprockets%2F05a5ffa8911066898ad595b4b9971d1c +0 -0
- data/test/dummy/tmp/cache/assets/CEE/5E0/sprockets%2Fcd968453ce27bc7dc058e871c6976111 +0 -0
- data/test/dummy/tmp/cache/assets/CEF/F90/sprockets%2Fb3af8b93c6e451443df642e6846179f4 +0 -0
- data/test/dummy/tmp/cache/assets/CEF/FB0/sprockets%2F1344982637e6864df2f0e60bcfcc9745 +0 -0
- data/test/dummy/tmp/cache/assets/CEF/FF0/sprockets%2F616967591b95dfe51f4eb048f0ed4426 +0 -0
- data/test/dummy/tmp/cache/assets/CF0/2D0/sprockets%2F2a12ef035037b0440f54e40e6ad2db70 +0 -0
- data/test/dummy/tmp/cache/assets/CF0/3E0/sprockets%2F0219f445a952da190d37779cef6ea499 +0 -0
- data/test/dummy/tmp/cache/assets/CF0/8D0/sprockets%2Fd87a027ff95cd7b9080555d76f16824a +0 -0
- data/test/dummy/tmp/cache/assets/CF0/C60/sprockets%2F6dd5c450564d64588695223ef7d2fe4a +0 -0
- data/test/dummy/tmp/cache/assets/CF0/CD0/sprockets%2F4452429dc09139968df6e8b57bb8ad24 +0 -0
- data/test/dummy/tmp/cache/assets/CF0/D70/sprockets%2Fef73b2f0c344ef70e7935b876d544187 +0 -0
- data/test/dummy/tmp/cache/assets/CF1/2F0/sprockets%2F7259bd2bd5768d0f7fc5176be3884614 +0 -0
- data/test/dummy/tmp/cache/assets/CF1/7D0/sprockets%2F66b85d77b399e98bc9387a3811ab1d14 +0 -0
- data/test/dummy/tmp/cache/assets/CF2/740/sprockets%2F8729f01be5f82ddd5185b7e38773708a +0 -0
- data/test/dummy/tmp/cache/assets/CF2/970/sprockets%2F9d71592e5dd487a7135c722e2a7f45f9 +0 -0
- data/test/dummy/tmp/cache/assets/CF3/1F0/sprockets%2F022005741ac6e3b8b0d0b3d64c29b92b +0 -0
- data/test/dummy/tmp/cache/assets/CF3/200/sprockets%2F86629853277ff066ff97a8f0d1b3a5a4 +0 -0
- data/test/dummy/tmp/cache/assets/CF3/3C0/sprockets%2F51e42f76f5859c6497179b22b40c8dde +0 -0
- data/test/dummy/tmp/cache/assets/CF3/620/sprockets%2F6e512892899d83e072fcffd654254b1d +0 -0
- data/test/dummy/tmp/cache/assets/CF3/850/sprockets%2Fb94be7f87b7b2159d9909e90e0f90620 +0 -0
- data/test/dummy/tmp/cache/assets/CF3/8F0/sprockets%2F979d1a04836f5c2e9c291e23ef79367a +0 -0
- data/test/dummy/tmp/cache/assets/CF4/230/sprockets%2Ff23ca5926549df84d0e5744bf881628e +0 -0
- data/test/dummy/tmp/cache/assets/CF4/2A0/sprockets%2F7fe03b6e6847eaaf067731842957d92f +0 -0
- data/test/dummy/tmp/cache/assets/CF4/4B0/sprockets%2Fe71842466354e399f04d0ce8c6fe953d +0 -0
- data/test/dummy/tmp/cache/assets/CF4/5E0/sprockets%2F9796c9a8269cae458eb3537f9b30c234 +0 -0
- data/test/dummy/tmp/cache/assets/CF4/6F0/sprockets%2F9cb6c3571023113b0af4a1a326fb7b29 +0 -0
- data/test/dummy/tmp/cache/assets/CF4/9E0/sprockets%2F3ec2020f0e16ea2409a9ab577e013a35 +0 -0
- data/test/dummy/tmp/cache/assets/CF5/050/sprockets%2F9bbb9f0428f7f282017d43ed8376758f +0 -0
- data/test/dummy/tmp/cache/assets/CF5/E20/sprockets%2F0081f109024251dfd417f9f1a6cd0ba1 +0 -0
- data/test/dummy/tmp/cache/assets/CF5/E70/sprockets%2F234ba1c230c43ee15548087dc4a3f04a +0 -0
- data/test/dummy/tmp/cache/assets/CF6/3F0/sprockets%2Fc8a187687d86c86d20ccd8d39258428a +0 -0
- data/test/dummy/tmp/cache/assets/CF6/880/sprockets%2Ff7f85513ffd669855b1bd5358193d5d2 +0 -0
- data/test/dummy/tmp/cache/assets/CF7/900/sprockets%2F25954532c431e017d2233aed3dd10edc +0 -0
- data/test/dummy/tmp/cache/assets/CF7/F70/sprockets%2Fae6e6576ed90a32b820967df2b797397 +0 -0
- data/test/dummy/tmp/cache/assets/CF8/420/sprockets%2F646a9a8f589a6440b5a91498666ffbb5 +0 -0
- data/test/dummy/tmp/cache/assets/CF8/460/sprockets%2Fed2bf0482ac1b94d79998947722594bf +0 -0
- data/test/dummy/tmp/cache/assets/CF8/D50/sprockets%2F85b7586ada7412939757fedf63a8b644 +0 -0
- data/test/dummy/tmp/cache/assets/CF8/E50/sprockets%2F6728e09dd75320afa91170a4bfbb0030 +0 -0
- data/test/dummy/tmp/cache/assets/CF9/710/sprockets%2Fa6680189367ffaf80c58dc19d6583e38 +0 -0
- data/test/dummy/tmp/cache/assets/CF9/CA0/sprockets%2Fe3287c6767a894efd1e4461ae21599e8 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/070/sprockets%2F242580b78eb63aa6b89e6b62789796ee +0 -0
- data/test/dummy/tmp/cache/assets/CFA/0D0/sprockets%2F05ccf5ba00db8fbb271a929924530043 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/2C0/sprockets%2F1d13d50c44706754611cd6b6d1cc30ed +0 -0
- data/test/dummy/tmp/cache/assets/CFA/570/sprockets%2F71fa5e8db4d49036a8b201022d54cb23 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/640/sprockets%2Ff60ca5388719314b4780ba2eba530a1a +0 -0
- data/test/dummy/tmp/cache/assets/CFA/720/sprockets%2Fdc2ea106de9ab60be261248f21059224 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/B50/sprockets%2F8505a240bc3a2e4b1a953417c73ebc72 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/DC0/sprockets%2F7fd2f2c83201801df1a530c2f650f26a +0 -0
- data/test/dummy/tmp/cache/assets/CFA/E80/sprockets%2F1e3305c0e72303f1d85bc3e7d5a1b067 +0 -0
- data/test/dummy/tmp/cache/assets/CFB/180/sprockets%2Fac8c5119b033c030096e7e37e0a95a0c +0 -0
- data/test/dummy/tmp/cache/assets/CFB/980/sprockets%2F7d6839a51b968136f9f8d2bf3349e53e +0 -0
- data/test/dummy/tmp/cache/assets/CFB/AB0/sprockets%2F4310d259c9d51b895d0b3c1a6eb031d2 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/0E0/sprockets%2Fe99f6ace35113dfc044311e14a605a51 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/260/sprockets%2F0e71d529f601042aaf154b7d7a7d7b10 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/530/sprockets%2F30c81913fe6fa70899924896cbe78bc7 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/9F0/sprockets%2F7922cd5ca1a340f4b4d450bad4551916 +0 -0
- data/test/dummy/tmp/cache/assets/CFC/D80/sprockets%2F077bef6b6c40a38e35144a20051c5f1f +0 -0
- data/test/dummy/tmp/cache/assets/CFC/FB0/sprockets%2F2b13bc27bbe25b0e17b73e567734700c +0 -0
- data/test/dummy/tmp/cache/assets/CFD/170/sprockets%2F42cfd4e964989e13191824ef9fc548d4 +0 -0
- data/test/dummy/tmp/cache/assets/CFD/400/sprockets%2F0dfc8e84ff74a1051c840840aab16051 +0 -0
- data/test/dummy/tmp/cache/assets/CFD/470/sprockets%2Fd1eb4316039dba02de282ac28358b913 +0 -0
- data/test/dummy/tmp/cache/assets/CFD/530/sprockets%2Fc3236310ab22e4d1c9519d3f33bf62a8 +0 -0
- data/test/dummy/tmp/cache/assets/CFD/B10/sprockets%2Fd709e935422bb4948d69e2c744ff695f +0 -0
- data/test/dummy/tmp/cache/assets/CFD/C30/sprockets%2F4861b94cbe06b03c26bb73d6e0e43213 +0 -0
- data/test/dummy/tmp/cache/assets/CFE/0C0/sprockets%2F2751741fbca2a0c193703763ff6c13da +0 -0
- data/test/dummy/tmp/cache/assets/CFE/A80/sprockets%2F9331b1565d97cf408ab413022ec07ccb +0 -0
- data/test/dummy/tmp/cache/assets/CFE/AE0/sprockets%2F7c886a80519554ea620aac2325bb1ce0 +0 -0
- data/test/dummy/tmp/cache/assets/CFE/AF0/sprockets%2Fcf3dde9e1202c5192390b23371a4b37c +0 -0
- data/test/dummy/tmp/cache/assets/CFF/030/sprockets%2F67435e26ad42d483d12a4aeb5f04802b +0 -0
- data/test/dummy/tmp/cache/assets/CFF/070/sprockets%2F1b3bc280c5e8d2f2e426d75064f310b4 +0 -0
- data/test/dummy/tmp/cache/assets/CFF/0E0/sprockets%2Ff63db558958bc9e0278f78a6f7d72705 +0 -0
- data/test/dummy/tmp/cache/assets/CFF/1A0/sprockets%2F39530e913daa380b1b4fd535119f1e0e +0 -0
- data/test/dummy/tmp/cache/assets/CFF/220/sprockets%2F99056183f5c3e22ebe6a63c2323a1ab2 +0 -0
- data/test/dummy/tmp/cache/assets/CFF/670/sprockets%2F9376a8c2f4a797fec7d6492bf8208594 +0 -0
- data/test/dummy/tmp/cache/assets/CFF/860/sprockets%2F5c7d2a10419532611c629aef1e62ed3b +0 -0
- data/test/dummy/tmp/cache/assets/CFF/8A0/sprockets%2F8bbd3b8c70a0998b0703d3222d4a3c45 +0 -0
- data/test/dummy/tmp/cache/assets/D00/180/sprockets%2Fc46253339a0af89b71ab34d039ad82b0 +0 -0
- data/test/dummy/tmp/cache/assets/D00/1C0/sprockets%2F1003ca26c60873d279c257fdea14ea25 +0 -0
- data/test/dummy/tmp/cache/assets/D00/5E0/sprockets%2F40611fe44dda10993c1b28b4b93225cf +0 -0
- data/test/dummy/tmp/cache/assets/D00/C10/sprockets%2F169d5c9cc4598e63f95577f52e9da370 +0 -0
- data/test/dummy/tmp/cache/assets/D00/F60/sprockets%2Fb032c07696f4ff12c2024db22555f6ad +0 -0
- data/test/dummy/tmp/cache/assets/D01/0E0/sprockets%2F134d0dd2f5cfc525b317e232a479e900 +0 -0
- data/test/dummy/tmp/cache/assets/D01/A60/sprockets%2F3ca75cfcf2037d5364e4531448da120d +0 -0
- data/test/dummy/tmp/cache/assets/D02/5F0/sprockets%2F47c2f882e0175d7d56d9d885f7bf2597 +0 -0
- data/test/dummy/tmp/cache/assets/D02/9C0/sprockets%2F4bdf76951ce2310ecc12870dac901904 +0 -0
- data/test/dummy/tmp/cache/assets/D03/620/sprockets%2F81d03fe39eae417f80342ae66242af10 +0 -0
- data/test/dummy/tmp/cache/assets/D03/8B0/sprockets%2Febcb583b805d6193b261002efcf52067 +0 -0
- data/test/dummy/tmp/cache/assets/D03/A20/sprockets%2Fe530a3ae26f349ac8c10647e621b2f36 +0 -0
- data/test/dummy/tmp/cache/assets/D04/3A0/sprockets%2F2d5c0cc93688011b7d71a3aa5373b48e +0 -0
- data/test/dummy/tmp/cache/assets/D04/B00/sprockets%2F00735a4a37eb6126f08bd35c3488cda5 +0 -0
- data/test/dummy/tmp/cache/assets/D04/B30/sprockets%2F2f43c49fb8c3d1d80ba81307c44821c3 +0 -0
- data/test/dummy/tmp/cache/assets/D04/CD0/sprockets%2Fceb7645ca4df4b8e5d42161232623c70 +0 -0
- data/test/dummy/tmp/cache/assets/D05/3B0/sprockets%2F61fc14de47c1d0400f5fdc17565e9033 +0 -0
- data/test/dummy/tmp/cache/assets/D05/430/sprockets%2F76629c52ae8228b6f4d8ded97d691888 +0 -0
- data/test/dummy/tmp/cache/assets/D05/4A0/sprockets%2F61c2c0d2ca2aa0fcf877c81532257469 +0 -0
- data/test/dummy/tmp/cache/assets/D05/930/sprockets%2F5ed590a61f704c61e17d72ca2af87103 +0 -0
- data/test/dummy/tmp/cache/assets/D05/EB0/sprockets%2F88780a60baac2a29c14c09a2f3c95229 +0 -0
- data/test/dummy/tmp/cache/assets/D05/F90/sprockets%2Ff656115176f84c4fb4790c03aa11cdf1 +0 -0
- data/test/dummy/tmp/cache/assets/D06/010/sprockets%2Fd3f70dc8d4dbb2b2590212294418cf27 +0 -0
- data/test/dummy/tmp/cache/assets/D06/300/sprockets%2F5e2e9da172903ee0aa476447f0a4d217 +0 -0
- data/test/dummy/tmp/cache/assets/D06/FE0/sprockets%2F9a0cd09294a56d31c4390b823ad51e7d +0 -0
- data/test/dummy/tmp/cache/assets/D07/1F0/sprockets%2F5635d72ea41c7982ec9323d125ba02ed +0 -0
- data/test/dummy/tmp/cache/assets/D07/390/sprockets%2Fdd33e50087f613fb14d4a22f7bc63807 +0 -0
- data/test/dummy/tmp/cache/assets/D07/680/sprockets%2F2921bb7defb45d60b04558a3e012686f +0 -0
- data/test/dummy/tmp/cache/assets/D07/8D0/sprockets%2F823cf8df688427fe2569f999750f23eb +0 -0
- data/test/dummy/tmp/cache/assets/D08/7C0/sprockets%2F5b865128ca116b17bb159d968e6aae10 +0 -0
- data/test/dummy/tmp/cache/assets/D08/A10/sprockets%2F7764ebd1a9c4f03b9f2d3a52232026e8 +0 -0
- data/test/dummy/tmp/cache/assets/D08/C30/sprockets%2F25800231754c73509b45efc8caaf52cf +0 -0
- data/test/dummy/tmp/cache/assets/D08/E10/sprockets%2Fd004e64e4981c97f2046e2cb5e6ba420 +0 -0
- data/test/dummy/tmp/cache/assets/D09/0E0/sprockets%2F861a0a04ea603309d93a883f25f9fb2c +0 -0
- data/test/dummy/tmp/cache/assets/D09/100/sprockets%2Fd696fb8fbd707484e69f9815a79387d2 +0 -0
- data/test/dummy/tmp/cache/assets/D09/210/sprockets%2F0c57094235e32edddcc747ed202873b3 +0 -0
- data/test/dummy/tmp/cache/assets/D09/3D0/sprockets%2F724ad72478f44b426da0224da92cee54 +0 -0
- data/test/dummy/tmp/cache/assets/D09/5E0/sprockets%2F3318d97233cc6ec853c21cb33f8a190d +0 -0
- data/test/dummy/tmp/cache/assets/D09/680/sprockets%2F6e5aeb11318f3a858b8c24d0038474eb +0 -0
- data/test/dummy/tmp/cache/assets/D09/820/sprockets%2F85b308247d96cd3f111ad8a444cd841b +0 -0
- data/test/dummy/tmp/cache/assets/D09/940/sprockets%2F117b8bef6f033eabf80c8376160b4247 +0 -0
- data/test/dummy/tmp/cache/assets/D09/B40/sprockets%2Fdc13f0ec5c52056111f8d7ab958343d7 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/0E0/sprockets%2F4b9ea32c5ae7b75b362b7071b35d2739 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/1A0/sprockets%2F0dadca80c1376047e97c5256acd77127 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/300/sprockets%2F00165b651485bfc396a57ea3951aca9c +0 -0
- data/test/dummy/tmp/cache/assets/D0A/590/sprockets%2F660e4ed70999ad0fb5402f2b8322f0e2 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/720/sprockets%2F3f99583002696fb4d521dee231e2a3da +0 -0
- data/test/dummy/tmp/cache/assets/D0A/810/sprockets%2F9cc7c89425ba1686a18a1d8beb005209 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/890/sprockets%2F8a5a29d81021eced955403acf246c790 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/B90/sprockets%2F84a57505123dc77ee41c5b9261cd52cd +0 -0
- data/test/dummy/tmp/cache/assets/D0A/CB0/sprockets%2F01b7bc8d4406b16b212891ef72eeb775 +0 -0
- data/test/dummy/tmp/cache/assets/D0A/F30/sprockets%2F64a591be6f28b5b7124aa6053fb6490e +0 -0
- data/test/dummy/tmp/cache/assets/D0B/130/sprockets%2F42a66ff402fe17f41184d0ecb68c6424 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/220/sprockets%2F282c3ab5703c68d4a44172e8a3d665de +0 -0
- data/test/dummy/tmp/cache/assets/D0B/430/sprockets%2F946f48f97b74e7c38a90b851d7899c6e +0 -0
- data/test/dummy/tmp/cache/assets/D0B/5F0/sprockets%2Feed5c02da0683664c842f6cc009b8632 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/640/sprockets%2F9366c3e436388b239ebcda0fc24520f1 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/730/sprockets%2F72842ad2887cb116fae708af921a4c16 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/800/sprockets%2F128694f9db7bd2ff0bac9c0322372453 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/B00/sprockets%2F75a80653b8109c70d939afa19cd31db2 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/C90/sprockets%2Fbb750bf14bd815c15c9d372358a29c91 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/E60/sprockets%2F5d8a090323b68ecf521164e70eff23b7 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/090/sprockets%2F3bf824532b35b3d3fe6a08c4185e0e95 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/1C0/sprockets%2Fee732f263dba34752073c7ff91361ad4 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/430/sprockets%2Fd02a0759b11f6518dcf0ed0894a760e8 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/570/sprockets%2Fcd362c2a0626ffdf755b794076a40a82 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/610/sprockets%2Fd5649ac600c7962a0883a78a9cc1da05 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/6B0/sprockets%2Fd18e543f7d154cc106243bf2f6c27f72 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/760/sprockets%2F5043d114bc66f610c93969ca647deaf0 +0 -0
- data/test/dummy/tmp/cache/assets/D0C/C30/sprockets%2F3ea6ea3b7d011db381536746695e5dd2 +0 -0
- data/test/dummy/tmp/cache/assets/D0D/090/sprockets%2F53622478b6257527acbb51c6f9bbb42f +0 -0
- data/test/dummy/tmp/cache/assets/D0D/570/sprockets%2F72ee1883b6c0209c1611a552a8eb7ef9 +0 -0
- data/test/dummy/tmp/cache/assets/D0D/980/sprockets%2F41ef6c755cac1d2da9e452d238603197 +0 -0
- data/test/dummy/tmp/cache/assets/D0D/ED0/sprockets%2F3788b0aca5aec5145a257eb5955507f3 +0 -0
- data/test/dummy/tmp/cache/assets/D0D/F70/sprockets%2Fcbe13926041dc94c8ddb4a781146249e +0 -0
- data/test/dummy/tmp/cache/assets/D0E/220/sprockets%2Fcbf6939f3475ee87b88994b97b7715d6 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/290/sprockets%2F059437fa9369eff7004cdb1f0b36380b +0 -0
- data/test/dummy/tmp/cache/assets/D0E/2E0/sprockets%2F2a282da6089ac07527d4eb070f6f758b +0 -0
- data/test/dummy/tmp/cache/assets/D0E/3C0/sprockets%2F5c55a77e185d6b730fcf1b1297b431d5 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/620/sprockets%2F3de38432c45ddc16e6d8553416c1cf26 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/9C0/sprockets%2F5cd42d2b2e5d7839ef077276b52b9a00 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/A10/sprockets%2F05ebd4b57720dbc2c207882946bd47a9 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/C00/sprockets%2F010b6f849ec9259fa3de514a18e74a32 +0 -0
- data/test/dummy/tmp/cache/assets/D0E/FB0/sprockets%2F211db87b55b9f2ec7d75111aa1922f99 +0 -0
- data/test/dummy/tmp/cache/assets/D0F/000/sprockets%2F483b8bb18b87ece00226c80fb1f61965 +0 -0
- data/test/dummy/tmp/cache/assets/D0F/560/sprockets%2F18f67b27b2141576c51de1c3d2b9f38e +0 -0
- data/test/dummy/tmp/cache/assets/D0F/560/sprockets%2F5f923aab9c0522298d836e8ae0c1426f +0 -0
- data/test/dummy/tmp/cache/assets/D0F/870/sprockets%2F2e97e46c0514892b18bbb2d7a4e4862a +0 -0
- data/test/dummy/tmp/cache/assets/D0F/980/sprockets%2Fdaa14ed9a3657161c56c66483e2d17e4 +0 -0
- data/test/dummy/tmp/cache/assets/D0F/DE0/sprockets%2F69bf7ad2a1388f3e306a7320a882af38 +0 -0
- data/test/dummy/tmp/cache/assets/D10/300/sprockets%2F21c9f4b074feb773e4e223e35691f30e +0 -0
- data/test/dummy/tmp/cache/assets/D10/410/sprockets%2F5fa7802b4854988b4cb0bee2e0d34491 +0 -0
- data/test/dummy/tmp/cache/assets/D10/730/sprockets%2F3dab68310e657844a5adcb9e180790c7 +0 -0
- data/test/dummy/tmp/cache/assets/D10/850/sprockets%2Fc9d90745ea3ca04d148d40409e9b82f4 +0 -0
- data/test/dummy/tmp/cache/assets/D10/8F0/sprockets%2F9ced9499938561d5a5889d9a93c08d9f +0 -0
- data/test/dummy/tmp/cache/assets/D10/CB0/sprockets%2F732e6da303a457dd84651c7a746ed9b1 +0 -0
- data/test/dummy/tmp/cache/assets/D10/EF0/sprockets%2F346fda251eb63406780ce6e3c337a88d +0 -0
- data/test/dummy/tmp/cache/assets/D10/FC0/sprockets%2F563f9f7eb632fc32ab885a1bc2127429 +0 -0
- data/test/dummy/tmp/cache/assets/D11/2F0/sprockets%2Fe6f61417924f79c80bbe47a75b08a03b +0 -0
- data/test/dummy/tmp/cache/assets/D11/510/sprockets%2F48f352a44fa4fc68f850537d1c6c06c2 +0 -0
- data/test/dummy/tmp/cache/assets/D11/660/sprockets%2F18364ce3b27ed0747916df341d8fad14 +0 -0
- data/test/dummy/tmp/cache/assets/D11/AD0/sprockets%2F3c0e80cb649c82b7c42d0914be888a36 +0 -0
- data/test/dummy/tmp/cache/assets/D11/C40/sprockets%2F04aecf869ffe1036d6a34e5412b37548 +0 -0
- data/test/dummy/tmp/cache/assets/D11/CA0/sprockets%2F771462dbc4b5ca18a79675e303a9f1e5 +0 -0
- data/test/dummy/tmp/cache/assets/D11/F80/sprockets%2F708e296fdc9635072ba21545affaf452 +0 -0
- data/test/dummy/tmp/cache/assets/D12/320/sprockets%2F45d98b1a0f4df9794921bed2f0f71015 +0 -0
- data/test/dummy/tmp/cache/assets/D12/6A0/sprockets%2Fb27002b49aed22f5f982089695eba4c4 +0 -0
- data/test/dummy/tmp/cache/assets/D12/7C0/sprockets%2F1f2db5b36886d30af1f230790f3e8f47 +0 -0
- data/test/dummy/tmp/cache/assets/D12/890/sprockets%2F4a3f3b35d4b821627f348b7db2268ec9 +0 -0
- data/test/dummy/tmp/cache/assets/D13/0B0/sprockets%2F8fa65d01a766afba41822191f99ab685 +0 -0
- data/test/dummy/tmp/cache/assets/D13/2B0/sprockets%2F2f9ce439715127b74621f3dbb6bc861f +0 -0
- data/test/dummy/tmp/cache/assets/D13/380/sprockets%2Fc3f62e9c3083521dff321d75592b99aa +0 -0
- data/test/dummy/tmp/cache/assets/D13/490/sprockets%2F6fdcca903e16974a7065620d8e8a155d +0 -0
- data/test/dummy/tmp/cache/assets/D13/740/sprockets%2Ffe5b9163b9c64525852a6cdb161cb783 +0 -0
- data/test/dummy/tmp/cache/assets/D13/9A0/sprockets%2F3813c433df54f19eb7257aed6e2287c1 +0 -0
- data/test/dummy/tmp/cache/assets/D13/9D0/sprockets%2F8ce730879e6e086a1e53115b046d1dff +0 -0
- data/test/dummy/tmp/cache/assets/D13/E70/sprockets%2Ff65d6f1d244dc0a17109771f887f3a3d +0 -0
- data/test/dummy/tmp/cache/assets/D14/0F0/sprockets%2Ff82e9e555d5326ff2226159aeec16c12 +0 -0
- data/test/dummy/tmp/cache/assets/D14/220/sprockets%2F84a72d24ac9ea56176e018ee138d9f05 +0 -0
- data/test/dummy/tmp/cache/assets/D14/3F0/sprockets%2F719e0a69eb9aa68caa2d672675b62660 +0 -0
- data/test/dummy/tmp/cache/assets/D14/400/sprockets%2F049f119c2b9b2da78355c1187fdc865a +0 -0
- data/test/dummy/tmp/cache/assets/D14/8B0/sprockets%2Fc08dff89cf0e8ba261b442283749e062 +0 -0
- data/test/dummy/tmp/cache/assets/D14/C90/sprockets%2F33b03169fab0ff73ae417887b690a4f9 +0 -0
- data/test/dummy/tmp/cache/assets/D14/CE0/sprockets%2F9d9cc6b0e34afb42924876e23963b50b +0 -0
- data/test/dummy/tmp/cache/assets/D15/010/sprockets%2F7d43d9dd12a5902d5eb03e8061e689e6 +0 -0
- data/test/dummy/tmp/cache/assets/D15/030/sprockets%2Fa5affe567dc74a8321744f5902f6d531 +0 -0
- data/test/dummy/tmp/cache/assets/D15/4B0/sprockets%2F643ea4288c39b957a82be0621f4a9d4c +0 -0
- data/test/dummy/tmp/cache/assets/D15/4D0/sprockets%2F3ff5fa34513b93faa9fc167536585a52 +0 -0
- data/test/dummy/tmp/cache/assets/D15/6B0/sprockets%2F3bfbac97eb5796307418d0f0e679144a +0 -0
- data/test/dummy/tmp/cache/assets/D15/790/sprockets%2F1c3f4f891ad225c51c5f71e7e6847e22 +0 -0
- data/test/dummy/tmp/cache/assets/D15/7D0/sprockets%2F326e2817cf99c2e9a933a936b3ca126d +0 -0
- data/test/dummy/tmp/cache/assets/D15/7F0/sprockets%2F747aa65b72a2066c93638af05bfc49f6 +0 -0
- data/test/dummy/tmp/cache/assets/D15/DC0/sprockets%2Fe0070306dd5f89aebbe73936d01e9990 +0 -0
- data/test/dummy/tmp/cache/assets/D16/0C0/sprockets%2F58fb9abfdb670a8502813dc88487711a +0 -0
- data/test/dummy/tmp/cache/assets/D16/200/sprockets%2Fc74cd1183d9a36031f7961945ec7bed4 +0 -0
- data/test/dummy/tmp/cache/assets/D16/2C0/sprockets%2Fa90ad78854c9bd1156e3866eb0e234f5 +0 -0
- data/test/dummy/tmp/cache/assets/D16/350/sprockets%2F481fad5a50bfc8c5b239b627690669f1 +0 -0
- data/test/dummy/tmp/cache/assets/D16/4D0/sprockets%2Fc39108a25f0ff6c6c087932b9ed0e565 +0 -0
- data/test/dummy/tmp/cache/assets/D16/E90/sprockets%2Ff6f373fe403f4421e5eef7cf14870118 +0 -0
- data/test/dummy/tmp/cache/assets/D16/F50/sprockets%2F64609577d7841668dec220ed4d0ccd1f +0 -0
- data/test/dummy/tmp/cache/assets/D17/040/sprockets%2F8ad5a2866ec65662f970520395ecbaf2 +0 -0
- data/test/dummy/tmp/cache/assets/D17/160/sprockets%2Fbae77b58c1fd2e9072306427e86727cc +0 -0
- data/test/dummy/tmp/cache/assets/D17/350/sprockets%2F872313faadc302ebc49306696cc9689d +0 -0
- data/test/dummy/tmp/cache/assets/D17/4F0/sprockets%2Fb75a0450ac61cf9f16983cee94b76165 +0 -0
- data/test/dummy/tmp/cache/assets/D17/720/sprockets%2Fd88740a269159b5ed542cac385cc5a94 +0 -0
- data/test/dummy/tmp/cache/assets/D17/780/sprockets%2Fd5c58fccc3367e80721dc613866bf660 +0 -0
- data/test/dummy/tmp/cache/assets/D17/860/sprockets%2F138e6bcec6692bd3e6760d23a49e2287 +0 -0
- data/test/dummy/tmp/cache/assets/D17/AA0/sprockets%2Fc0f895b740d8d572e5d1495f80a23e6a +0 -0
- data/test/dummy/tmp/cache/assets/D17/C50/sprockets%2Fc3f3c439bf5e484757eee298b106062a +0 -0
- data/test/dummy/tmp/cache/assets/D17/F70/sprockets%2F9c39629de564e4a296b2db0c471fb941 +0 -0
- data/test/dummy/tmp/cache/assets/D18/280/sprockets%2Fc70f5cc8315cd0dc493329f9463c8b56 +0 -0
- data/test/dummy/tmp/cache/assets/D18/290/sprockets%2F5cb980f53c999c04b9b0b930dd08266e +0 -0
- data/test/dummy/tmp/cache/assets/D18/300/sprockets%2F4b5e886e88a00ab8ad527b679cc12179 +0 -0
- data/test/dummy/tmp/cache/assets/D18/540/sprockets%2F2e14b68eb93ccb58bf790f0715166f19 +0 -0
- data/test/dummy/tmp/cache/assets/D18/5B0/sprockets%2Faab076893f33e5c552fb70c1827c8d96 +0 -0
- data/test/dummy/tmp/cache/assets/D18/5C0/sprockets%2F806ddba8f1127fcc8e5a108b86937744 +0 -0
- data/test/dummy/tmp/cache/assets/D18/610/sprockets%2Ffb8ca45b4472354d827192c7ea25f89a +0 -0
- data/test/dummy/tmp/cache/assets/D18/690/sprockets%2F2273c14180eb2ce398b7f4fec8188f26 +0 -0
- data/test/dummy/tmp/cache/assets/D18/790/sprockets%2Fd685dcaf46894a095d72ae68035e2d05 +0 -0
- data/test/dummy/tmp/cache/assets/D18/960/sprockets%2Fb2599041fd51dcfc454185da95ee2396 +0 -0
- data/test/dummy/tmp/cache/assets/D18/A30/sprockets%2Fed6c096e33c730609fd681f9c342a86a +0 -0
- data/test/dummy/tmp/cache/assets/D18/B30/sprockets%2F1ef8de2df042157368b285697adb538a +0 -0
- data/test/dummy/tmp/cache/assets/D19/220/sprockets%2Fd109923d72986131f9ceb24d65dc92fb +0 -0
- data/test/dummy/tmp/cache/assets/D19/420/sprockets%2F379a804e588c4e9ca18e4ee3306653ac +0 -0
- data/test/dummy/tmp/cache/assets/D19/730/sprockets%2Fce771c3ae2127f91a0f67f7f2f571774 +0 -0
- data/test/dummy/tmp/cache/assets/D19/AE0/sprockets%2F29dd77cb7d01481f308397bbb7618b9c +0 -0
- data/test/dummy/tmp/cache/assets/D19/CF0/sprockets%2Ff8dda9781cbd3a795752581028d4e70a +0 -0
- data/test/dummy/tmp/cache/assets/D1A/5D0/sprockets%2F5131b11116be12111ba22e43df8f2fec +0 -0
- data/test/dummy/tmp/cache/assets/D1A/630/sprockets%2F2174485dc959e692517f81ebccc18ad1 +0 -0
- data/test/dummy/tmp/cache/assets/D1A/670/sprockets%2F4f45089e5678ba2b1c06518bde98a7d4 +0 -0
- data/test/dummy/tmp/cache/assets/D1A/AB0/sprockets%2F3c731bd6b32d6881f6724639e47fcee1 +0 -0
- data/test/dummy/tmp/cache/assets/D1A/D80/sprockets%2Fe285d6ec19c323360f5f5495befa8345 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/000/sprockets%2F33b9a53497029670f2a64dc3fb9fdc86 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/000/sprockets%2Fe9444b550979532e5dc13f0e0f177eff +0 -0
- data/test/dummy/tmp/cache/assets/D1B/0C0/sprockets%2F7ca1fa05d6f3e9394ed1439949cb2690 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/B70/sprockets%2F68152d6df8d2af0717e60e5387e8ac18 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/D20/sprockets%2Fa8faebab8e88716f8f6a373628203364 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/D60/sprockets%2Fb70f31481add8338f2d9c64e6187bc95 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/E30/sprockets%2Fae987ee8829c3e5b215bc5f323d61627 +0 -0
- data/test/dummy/tmp/cache/assets/D1B/F30/sprockets%2Fd0809029790934fadf2cbc395a548cf8 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/030/sprockets%2Fdee6c3ab722997fff9127c31767e0415 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/230/sprockets%2F064c29ce898edd6351a50e4179c4a6e8 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/280/sprockets%2Ff7739e72d2907f6dbda12ba3896e0619 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/470/sprockets%2F377c82344c98c9a1f1a984a2fda5d683 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/540/sprockets%2F334e02662b45fcc11013c90d2ebaad05 +0 -0
- data/test/dummy/tmp/cache/assets/D1C/8F0/sprockets%2F95222ee74605c7485eee7a0f703dce68 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/010/sprockets%2Fe9ee683526f75ecb43b74f4d834012b9 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/460/sprockets%2Fc964116863a0e39db98ac9ba1c1f8976 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/4B0/sprockets%2Fe238270322125853fceb96fd7e4f95ee +0 -0
- data/test/dummy/tmp/cache/assets/D1D/7C0/sprockets%2F2658affbe8bc283984784335105edea6 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/C90/sprockets%2Fa688522a4494897a6f6a5e6b80b0c4ff +0 -0
- data/test/dummy/tmp/cache/assets/D1D/FC0/sprockets%2F71971d1f863f746f20a99bbd62de51d7 +0 -0
- data/test/dummy/tmp/cache/assets/D1E/280/sprockets%2Faf6e30265d55b19575089dd09eb9f44e +0 -0
- data/test/dummy/tmp/cache/assets/D1E/360/sprockets%2Facdf07f1f658079c6e3d916663b26d56 +0 -0
- data/test/dummy/tmp/cache/assets/D1E/550/sprockets%2F8e92d88c23785f2b3b11ce99ac06936c +0 -0
- data/test/dummy/tmp/cache/assets/D1E/640/sprockets%2Fb6659a71e769a42269dbf4f3c358e21f +0 -0
- data/test/dummy/tmp/cache/assets/D1E/650/sprockets%2Fcdcfe9d0458130ee48e49b14977353f4 +0 -0
- data/test/dummy/tmp/cache/assets/D1E/DC0/sprockets%2F645b6ef3a71597548d3e8f7a5043ff0d +0 -0
- data/test/dummy/tmp/cache/assets/D1F/2D0/sprockets%2Fe03a6cf19f5d7f693510d90b62f569c9 +0 -0
- data/test/dummy/tmp/cache/assets/D1F/4E0/sprockets%2F77275f55c523218e6d47af5fa85ad29e +0 -0
- data/test/dummy/tmp/cache/assets/D1F/640/sprockets%2Ff2cc190ca52597fd57599f41a7a9723e +0 -0
- data/test/dummy/tmp/cache/assets/D1F/8A0/sprockets%2F28491fd6bb09d8836c1cc0f05f9797a5 +0 -0
- data/test/dummy/tmp/cache/assets/D1F/AA0/sprockets%2F458c88821b0948ba750dd2ea679ae86d +0 -0
- data/test/dummy/tmp/cache/assets/D1F/E60/sprockets%2F07f2a6848ce8d680ba61f828bb9d3890 +0 -0
- data/test/dummy/tmp/cache/assets/D21/2E0/sprockets%2Fc795f0286e2ec5f0d79f179eac158731 +0 -0
- data/test/dummy/tmp/cache/assets/D21/4E0/sprockets%2F15129dcb96697f9eb74fe1fe82a17316 +0 -0
- data/test/dummy/tmp/cache/assets/D21/6C0/sprockets%2F7dbd24986e6074d4907487ab2fc7ce72 +0 -0
- data/test/dummy/tmp/cache/assets/D21/AF0/sprockets%2F8d56bc7093bd548af93f398c08c28c70 +0 -0
- data/test/dummy/tmp/cache/assets/D22/810/sprockets%2F95f75e1268ef8fce5d69b01157e3109e +0 -0
- data/test/dummy/tmp/cache/assets/D22/990/sprockets%2F1bc4ab3477ad23231f11422f42fdda18 +0 -0
- data/test/dummy/tmp/cache/assets/D22/B50/sprockets%2Ff9319c6e43e983c216f99aca73c4844b +0 -0
- data/test/dummy/tmp/cache/assets/D22/E10/sprockets%2F65e527527104f4eb64e9afd7856fe3f3 +0 -0
- data/test/dummy/tmp/cache/assets/D23/150/sprockets%2F030c2207a3052f84ecfa2b05af8c42a8 +0 -0
- data/test/dummy/tmp/cache/assets/D23/1B0/sprockets%2F3ae20324133b89e4391da32bbd1af23d +0 -0
- data/test/dummy/tmp/cache/assets/D23/3E0/sprockets%2F89eb745583edfe3c2f09a856c61c7651 +0 -0
- data/test/dummy/tmp/cache/assets/D23/550/sprockets%2F8ae9f4f4e1c90f843150364d8e8e595a +0 -0
- data/test/dummy/tmp/cache/assets/D23/5B0/sprockets%2F1f95e34b784460e6699debf56b6a4e15 +0 -0
- data/test/dummy/tmp/cache/assets/D23/5F0/sprockets%2F8b8841f36e4be6308855d6cfb4409e9b +0 -0
- data/test/dummy/tmp/cache/assets/D23/B10/sprockets%2Fc06e6ed7f709f8005e084ddd989269b0 +0 -0
- data/test/dummy/tmp/cache/assets/D24/770/sprockets%2F1e5491fe1b520f41a6cfb52d46da0003 +0 -0
- data/test/dummy/tmp/cache/assets/D24/8B0/sprockets%2Ff465f90a8991a2c4986f13b87f9c0fb2 +0 -0
- data/test/dummy/tmp/cache/assets/D24/9A0/sprockets%2F723667858e3fc7af44b1f68c9e17d2e2 +0 -0
- data/test/dummy/tmp/cache/assets/D24/AC0/sprockets%2F8d22996f1c4a36f3d49a1e5997aa7e56 +0 -0
- data/test/dummy/tmp/cache/assets/D24/EB0/sprockets%2F9d429705deb41789a37705f3c67ee4ee +0 -0
- data/test/dummy/tmp/cache/assets/D25/220/sprockets%2F608588a7c74acdb9e9f13b9a66b46953 +0 -0
- data/test/dummy/tmp/cache/assets/D25/590/sprockets%2Faa1c19bcc0b1257c0b1987c82825b0c1 +0 -0
- data/test/dummy/tmp/cache/assets/D25/5B0/sprockets%2F56355268a998595bebb9b6c42ba875af +0 -0
- data/test/dummy/tmp/cache/assets/D25/A10/sprockets%2F8459d7a6e879de2a674d224bd7b960d5 +0 -0
- data/test/dummy/tmp/cache/assets/D25/B10/sprockets%2F31587c7769f852ce8f3fe4064ec14c7c +0 -0
- data/test/dummy/tmp/cache/assets/D26/090/sprockets%2F96098fae84af37c7199177bea92533af +0 -0
- data/test/dummy/tmp/cache/assets/D26/8D0/sprockets%2Fdd06c9b99fe167f48a99d1350c837d35 +0 -0
- data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2F211f9fe1812bba01a705b8207daa239f +0 -0
- data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Fb09f146e78fc920d934ee9e19dc92284 +0 -0
- data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Ff78c003cad298697456d86b714e36eff +0 -0
- data/test/dummy/tmp/cache/assets/D27/800/sprockets%2Fbda3823ab830a10b16a96087f6ca6c03 +0 -0
- data/test/dummy/tmp/cache/assets/D28/800/sprockets%2F3c02ffc712301d473a7af7719ca3ab31 +0 -0
- data/test/dummy/tmp/cache/assets/D28/950/sprockets%2Ff17a0aaa22dc704c67096b804c5ab471 +0 -0
- data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2F09f462027d72b7e7de9fd98087dfc373 +0 -0
- data/test/dummy/tmp/cache/assets/D29/040/sprockets%2F02b88051f350e24596d3fe3340bacbaa +0 -0
- data/test/dummy/tmp/cache/assets/D29/840/sprockets%2F402201ec92b1b3bb45245e5a6bdda948 +0 -0
- data/test/dummy/tmp/cache/assets/D29/950/sprockets%2F2a027eeac6051acbc93563ef44345d01 +0 -0
- data/test/dummy/tmp/cache/assets/D29/BD0/sprockets%2F8c85bb6d4859250bcff55847487d65bd +0 -0
- data/test/dummy/tmp/cache/assets/D29/F00/sprockets%2F40adb76487003a4ab13615c01fc97ead +0 -0
- data/test/dummy/tmp/cache/assets/D29/F80/sprockets%2F3d888988ef5e7292bf1f181eb622b19f +0 -0
- data/test/dummy/tmp/cache/assets/D2A/530/sprockets%2Fc3c476dc0fef40502fa3c935a10330c8 +0 -0
- data/test/dummy/tmp/cache/assets/D2A/5A0/sprockets%2Fd520d019a6a1ba7853bc8ab0c25445c8 +0 -0
- data/test/dummy/tmp/cache/assets/D2A/8A0/sprockets%2Fc2ae580fda7ad422395ab21533a72e33 +0 -0
- data/test/dummy/tmp/cache/assets/D2A/E70/sprockets%2Fb3dc3e00630d3fbac07174c782331c9d +0 -0
- data/test/dummy/tmp/cache/assets/D2C/090/sprockets%2F37e2bcd7a00ea56b8a58181023a3f71d +0 -0
- data/test/dummy/tmp/cache/assets/D2C/200/sprockets%2Fea42ef470e90c4282457aaab741e1d20 +0 -0
- data/test/dummy/tmp/cache/assets/D2C/230/sprockets%2Ff9ed5894f5a416a7c4bf59117d792f49 +0 -0
- data/test/dummy/tmp/cache/assets/D2C/2D0/sprockets%2Fc3d17948d766d978e393bdd1781cc49d +0 -0
- data/test/dummy/tmp/cache/assets/D2C/420/sprockets%2Fff47f6f47f5fb84b813d75969c12d436 +0 -0
- data/test/dummy/tmp/cache/assets/D2C/C30/sprockets%2F4c45fa4505e5938b24204663eaacbba1 +0 -0
- data/test/dummy/tmp/cache/assets/D2C/C90/sprockets%2F4a6a04460007524debf322dbd2d748ed +0 -0
- data/test/dummy/tmp/cache/assets/D2C/CF0/sprockets%2Fbe3d5250223d54ca33db9039b92ad36b +0 -0
- data/test/dummy/tmp/cache/assets/D2D/750/sprockets%2F7fa91d4380a87f8be94605bd49949fd6 +0 -0
- data/test/dummy/tmp/cache/assets/D2D/860/sprockets%2Ff5003f0f4a20770b1d06e19b980c2fec +0 -0
- data/test/dummy/tmp/cache/assets/D2E/170/sprockets%2F74d1aebb319115da8451b4e00ae8f338 +0 -0
- data/test/dummy/tmp/cache/assets/D2E/170/sprockets%2Fe6a334436c00a177c4ba453a4df309fe +0 -0
- data/test/dummy/tmp/cache/assets/D2E/AA0/sprockets%2F3995ff450d69e4f972be748ca7834ab8 +0 -0
- data/test/dummy/tmp/cache/assets/D2F/750/sprockets%2Fe2a3783cf749ff959ee3128ce923b994 +0 -0
- data/test/dummy/tmp/cache/assets/D2F/950/sprockets%2F8f1c56d5b377af88a8896e279b2f634e +0 -0
- data/test/dummy/tmp/cache/assets/D2F/B90/sprockets%2F348310802c3fd47de3854ad2c73adda0 +0 -0
- data/test/dummy/tmp/cache/assets/D30/020/sprockets%2F505a1083ccd6e6787acd291db05a3a35 +0 -0
- data/test/dummy/tmp/cache/assets/D30/200/sprockets%2Fa2f1ab1cf6a773164ef3a240b092876c +0 -0
- data/test/dummy/tmp/cache/assets/D30/280/sprockets%2F1b72a1bc53ae152e338bac388742df35 +0 -0
- data/test/dummy/tmp/cache/assets/D30/380/sprockets%2Fcae2f87a008a1175c61745cdad2780a4 +0 -0
- data/test/dummy/tmp/cache/assets/D30/800/sprockets%2F29aa0abdc4d9559d0106c227f385ca60 +0 -0
- data/test/dummy/tmp/cache/assets/D30/860/sprockets%2F54721d2472da2b68b4117ae416bdcdc7 +0 -0
- data/test/dummy/tmp/cache/assets/D30/9F0/sprockets%2Fd45b9299eb2827664ff94f548daf518e +0 -0
- data/test/dummy/tmp/cache/assets/D30/A60/sprockets%2Fb8f58930c97253b39abcc115acc124a1 +0 -0
- data/test/dummy/tmp/cache/assets/D30/AE0/sprockets%2F04ac8121e3246b33cdfa62f905bb49f3 +0 -0
- data/test/dummy/tmp/cache/assets/D30/BF0/sprockets%2Fe4e84f11d27afb83120e34ad54f01a48 +0 -0
- data/test/dummy/tmp/cache/assets/D30/C70/sprockets%2F54f1716129d313e30dff8f21cd00a4ee +0 -0
- data/test/dummy/tmp/cache/assets/D30/D00/sprockets%2Fa4278112be39200de394ca5c5aeb7b46 +0 -0
- data/test/dummy/tmp/cache/assets/D30/F10/sprockets%2F465c3d452345580daadcf5932c0fc1a3 +0 -0
- data/test/dummy/tmp/cache/assets/D31/F40/sprockets%2F98e56dbef366363d878197884bd2daf5 +0 -0
- data/test/dummy/tmp/cache/assets/D32/540/sprockets%2F4dce62322241cbf7de05fd80342e8a61 +0 -0
- data/test/dummy/tmp/cache/assets/D32/A20/sprockets%2F312a5122c497e50fb1a32e4fc7c5ea77 +0 -0
- data/test/dummy/tmp/cache/assets/D32/B10/sprockets%2F2a27e017a0c879621dcbf40fe91ba238 +0 -0
- data/test/dummy/tmp/cache/assets/D32/D70/sprockets%2Fda7da389106c83aafd914ca2e4014608 +0 -0
- data/test/dummy/tmp/cache/assets/D33/020/sprockets%2F01c4a2531f1c7324d8dbef0645f0e6e7 +0 -0
- data/test/dummy/tmp/cache/assets/D33/060/sprockets%2F117f814b864eaf00a3a91f89a4dbb062 +0 -0
- data/test/dummy/tmp/cache/assets/D33/4B0/sprockets%2F880ea9eead5c5dd1216b9563038a4a00 +0 -0
- data/test/dummy/tmp/cache/assets/D33/570/sprockets%2F4ee3083a14b4cba4158cb3d527ed2495 +0 -0
- data/test/dummy/tmp/cache/assets/D33/890/sprockets%2Fbcb860ab607140a1d739f8c127fe057b +0 -0
- data/test/dummy/tmp/cache/assets/D33/A10/sprockets%2F252c911c7ecb3b378ca58511ba79a42c +0 -0
- data/test/dummy/tmp/cache/assets/D33/BE0/sprockets%2F962b00cab2180a85c58ca205de7565ee +0 -0
- data/test/dummy/tmp/cache/assets/D34/1D0/sprockets%2F311225bc49faae3c839eb24232fe76d1 +0 -0
- data/test/dummy/tmp/cache/assets/D34/650/sprockets%2Fb741123e3d70c9ec63515d194a1cfd7a +0 -0
- data/test/dummy/tmp/cache/assets/D34/880/sprockets%2F6ea174533a4ab2c4455f56e4ccb4811f +0 -0
- data/test/dummy/tmp/cache/assets/D34/950/sprockets%2Fa9ab3c0627dd00d6b037ddf42259448d +0 -0
- data/test/dummy/tmp/cache/assets/D34/AB0/sprockets%2Ffd3bd7d7ca6b39b102f2e286f0461107 +0 -0
- data/test/dummy/tmp/cache/assets/D34/CF0/sprockets%2F4f93aa82b61ce48090350e1e4ce204ef +0 -0
- data/test/dummy/tmp/cache/assets/D34/E10/sprockets%2F74034ea037bd6434c8eb68ccf2b3026d +0 -0
- data/test/dummy/tmp/cache/assets/D34/F10/sprockets%2F8e2570cc10ce5d1a88cb70e23ba80783 +0 -0
- data/test/dummy/tmp/cache/assets/D35/4B0/sprockets%2Fe0e3c624373b0c0038ccd087f9a8d4d3 +0 -0
- data/test/dummy/tmp/cache/assets/D35/9C0/sprockets%2Ffd51df36dcc611642a50f460a4c197c6 +0 -0
- data/test/dummy/tmp/cache/assets/D35/DC0/sprockets%2F4271a256db0b166be553384b7e8ccad4 +0 -0
- data/test/dummy/tmp/cache/assets/D36/020/sprockets%2F7e78b42ca2f717752a2b1d262a5ad27f +0 -0
- data/test/dummy/tmp/cache/assets/D36/0F0/sprockets%2Fcc0211f5aa98029c59d8ff0e055c9b10 +0 -0
- data/test/dummy/tmp/cache/assets/D36/220/sprockets%2F6246256acf41d8b8c1551b905db32ddd +0 -0
- data/test/dummy/tmp/cache/assets/D36/230/sprockets%2F3c16319ad1da2566bea8d38ad5a77325 +0 -0
- data/test/dummy/tmp/cache/assets/D36/860/sprockets%2F6e22ec7ea9943cbab166c291b711472a +0 -0
- data/test/dummy/tmp/cache/assets/D36/990/sprockets%2F2508cad8b402c37cc09f6dfa6222c476 +0 -0
- data/test/dummy/tmp/cache/assets/D36/AD0/sprockets%2Fbb238ccd373ef74d05ba241c5f810729 +0 -0
- data/test/dummy/tmp/cache/assets/D36/E50/sprockets%2F43b67afc1a948300095d5f0fc3e41ea7 +0 -0
- data/test/dummy/tmp/cache/assets/D37/190/sprockets%2F1b0a29942409f65198f4dd0b107ddabf +0 -0
- data/test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F3941d2daeba5fdb39206366a69b645a1 +0 -0
- data/test/dummy/tmp/cache/assets/D37/340/sprockets%2F9b14483f8eabb0bb815c1275b05f67a5 +0 -0
- data/test/dummy/tmp/cache/assets/D37/3D0/sprockets%2F8f6dcfb531329d1ea60dc0983f41d033 +0 -0
- data/test/dummy/tmp/cache/assets/D37/780/sprockets%2Fec34f1a3407b6838dd62343a4cf3e1c7 +0 -0
- data/test/dummy/tmp/cache/assets/D37/900/sprockets%2Febe3008d566af1190d271b270e74c9bf +0 -0
- data/test/dummy/tmp/cache/assets/D37/990/sprockets%2F08438adf3e196cbe41a39a50a34d6f43 +0 -0
- data/test/dummy/tmp/cache/assets/D37/B20/sprockets%2F3ce30ec934ca2db7968dc170e2206a66 +0 -0
- data/test/dummy/tmp/cache/assets/D37/DD0/sprockets%2F5596e2d48f78dc5962ee112fe8d9399f +0 -0
- data/test/dummy/tmp/cache/assets/D37/DE0/sprockets%2F92e9570516bd069ed02b6b54be113eea +0 -0
- data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F18060fd4371473efaa135cea6076ced7 +0 -0
- data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F390cea618b99119ed0464d6a81b4bb2a +0 -0
- data/test/dummy/tmp/cache/assets/D37/F20/sprockets%2F16df6ed68997bc0c45996cff6797760b +0 -0
- data/test/dummy/tmp/cache/assets/D37/FB0/sprockets%2Fa91fcd2fc7631616b25bb8522a7d45a6 +0 -0
- data/test/dummy/tmp/cache/assets/D38/140/sprockets%2F4079eb6113850c5bb0bf8d1bd29e941d +0 -0
- data/test/dummy/tmp/cache/assets/D38/200/sprockets%2Fbc07f823d9abf9115b066cf67b26c051 +0 -0
- data/test/dummy/tmp/cache/assets/D38/250/sprockets%2F7701084fe6eb8e57c306d1ceeb0015e5 +0 -0
- data/test/dummy/tmp/cache/assets/D38/3A0/sprockets%2F17e2b185c523471dbc3fce74385d34bb +0 -0
- data/test/dummy/tmp/cache/assets/D38/570/sprockets%2F61b134e50dc0762f5fa4b92e68a802fd +0 -0
- data/test/dummy/tmp/cache/assets/D38/5A0/sprockets%2F05c60f19fe5c929377109d0acb6bc1d2 +0 -0
- data/test/dummy/tmp/cache/assets/D38/A90/sprockets%2Fe5d173da497d0b0ec3e1e93f5d472213 +0 -0
- data/test/dummy/tmp/cache/assets/D38/C20/sprockets%2F3d9fb25a1f0def521f89bc71092a4901 +0 -0
- data/test/dummy/tmp/cache/assets/D38/C60/sprockets%2F35b3e86d753c2ace3d20b3fa5459e091 +0 -0
- data/test/dummy/tmp/cache/assets/D38/C80/sprockets%2F0c40fce56bb9b9d01f5112c7974a22f7 +0 -0
- data/test/dummy/tmp/cache/assets/D39/050/sprockets%2F3406276fc15fbf075d244d2b7d5d9ac1 +0 -0
- data/test/dummy/tmp/cache/assets/D39/090/sprockets%2F391807084d2d05fb51a6f857cb3cfb3a +0 -0
- data/test/dummy/tmp/cache/assets/D39/180/sprockets%2F81a53f304a41a21977cecb8ab3568f4e +0 -0
- data/test/dummy/tmp/cache/assets/D39/180/sprockets%2F893de2bf113e285c30b3d74e146fa7a4 +0 -0
- data/test/dummy/tmp/cache/assets/D39/2E0/sprockets%2F9eb5ff48d2360d72d896595f71ef77f9 +0 -0
- data/test/dummy/tmp/cache/assets/D39/440/sprockets%2Fc0b90a4d3bc660db1e865f329364d9b3 +0 -0
- data/test/dummy/tmp/cache/assets/D39/570/sprockets%2F00640f4a599ee9f23b4f2377d1ba0c7b +0 -0
- data/test/dummy/tmp/cache/assets/D39/670/sprockets%2F3ceb02555854acc1e9b950f80d1a6f80 +0 -0
- data/test/dummy/tmp/cache/assets/D39/970/sprockets%2F74cbac51616a63a922f1ea7716e169cd +0 -0
- data/test/dummy/tmp/cache/assets/D39/E60/sprockets%2Fb2b694b416276b2ced81c926c65bcb60 +0 -0
- data/test/dummy/tmp/cache/assets/D39/F30/sprockets%2F1f5d352f97c8a3828dda9014611caed0 +0 -0
- data/test/dummy/tmp/cache/assets/D3A/050/sprockets%2F2da25665d8a0f229b1509e86afec2b80 +0 -0
- data/test/dummy/tmp/cache/assets/D3A/140/sprockets%2F01ee9c5ce6ab0fd011b0584955fe7337 +0 -0
- data/test/dummy/tmp/cache/assets/D3A/340/sprockets%2Ffa4cc89d1060a2e28c618df61b12875c +0 -0
- data/test/dummy/tmp/cache/assets/D3A/480/sprockets%2F2c623b9833b72f21230c6d7b9ec5fa6c +0 -0
- data/test/dummy/tmp/cache/assets/D3A/720/sprockets%2Fb5b3e2f3157e0c52d380fe3f94b96d01 +0 -0
- data/test/dummy/tmp/cache/assets/D3A/8A0/sprockets%2F91b4d0e462a4a841d5a7df5562de72e2 +0 -0
- data/test/dummy/tmp/cache/assets/D3A/9E0/sprockets%2F62f2cbed105a1411ff3e9f2f7167089a +0 -0
- data/test/dummy/tmp/cache/assets/D3A/F00/sprockets%2Fa682b6bc9df4741b972e1f371d70d0c0 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/080/sprockets%2F007cc1999cf3c568c32d35a48bcb343b +0 -0
- data/test/dummy/tmp/cache/assets/D3B/1B0/sprockets%2F3aa8045c2b099ad8a5f37d9523bb6b55 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/2C0/sprockets%2F5f98712fffc4d6ac560ec126317c3d10 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/760/sprockets%2F22c078eb83157c2b38a1a5d6d6aef925 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/8C0/sprockets%2Fe4622c65b4e60b1c9464a7f08ebeb903 +0 -0
- data/test/dummy/tmp/cache/assets/D3B/950/sprockets%2F5d83f8acdd5d02159e10e0532c682e8b +0 -0
- data/test/dummy/tmp/cache/assets/D3B/F70/sprockets%2F20db54bbc3acc7e74e591466a75522c9 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/0D0/sprockets%2F073ca7ba66cd78eaa19534bc574d5317 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/0E0/sprockets%2F143b7730fcb2613d79af709c3a8fa55c +0 -0
- data/test/dummy/tmp/cache/assets/D3C/870/sprockets%2F51d9cef4de63228a0c0a41ac89b49258 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/980/sprockets%2F003e4c454b7d12de5a863b45e94ec47d +0 -0
- data/test/dummy/tmp/cache/assets/D3C/9B0/sprockets%2Fee4a76b790fba505cf9b577321118cb3 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/A80/sprockets%2Fb1b8fb435100acde83b7794667d0f55b +0 -0
- data/test/dummy/tmp/cache/assets/D3C/C20/sprockets%2F36ebf6fae0ed08d0366818a4e63830d1 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/D60/sprockets%2Fc7ba7158b9c4d176fd4c0230069ea5d6 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/FD0/sprockets%2F4b44f3268c024ed9995b52ad30c3c8bc +0 -0
- data/test/dummy/tmp/cache/assets/D3C/FE0/sprockets%2F24f6d543983043d0d1feefacb090196e +0 -0
- data/test/dummy/tmp/cache/assets/D3D/210/sprockets%2F28a6f4bdaf689094b6a09121dbbe1476 +0 -0
- data/test/dummy/tmp/cache/assets/D3D/970/sprockets%2F8c3fa39c04a27661633af6952dace4e3 +0 -0
- data/test/dummy/tmp/cache/assets/D3D/C10/sprockets%2F48581f8b1580d984413b3fab2dd9bcb0 +0 -0
- data/test/dummy/tmp/cache/assets/D3D/C30/sprockets%2Fc5213c2edff881f6715b82f148cd007b +0 -0
- data/test/dummy/tmp/cache/assets/D3D/D80/sprockets%2F9c0cbc841bf606ddec0963173c2894a4 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/0B0/sprockets%2Fc1186ea6268e63a1f7a660dd1768bd3b +0 -0
- data/test/dummy/tmp/cache/assets/D3E/240/sprockets%2Fd40ed280ab0708b0e619f709eb68c9c4 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/2B0/sprockets%2F4d280812e44d52559f57e2afdd1bca56 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/500/sprockets%2Fe0d19b79ad67649fb3c1cf715a11a393 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/520/sprockets%2F4765d7ea3ba6a5d16231c29de0d958c4 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/880/sprockets%2Fb745e535cb3165fc1882efcd903ed034 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/A00/sprockets%2F5f0492202676cecb4d3ffa49d610d65e +0 -0
- data/test/dummy/tmp/cache/assets/D3E/A50/sprockets%2F1b32762a6614ecff6b77934ff9b0a5a1 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/AD0/sprockets%2F933941a230bea56ca69e1df56d5f07f2 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/ED0/sprockets%2F3d738409aa99ac466e77d0aeb2cd6150 +0 -0
- data/test/dummy/tmp/cache/assets/D3E/F00/sprockets%2F8f159505cdb7a6e1170b91ff5c2c18e3 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/280/sprockets%2F13e050b7a477cc5fd1ee4083bd599e71 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/3E0/sprockets%2Fef152ffc3b86506be616e326f20c27f5 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/570/sprockets%2Fa33a6f2619d9e53bad331f8e04b738a9 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/590/sprockets%2F94fabee73d36410bdd216a2547f99b16 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/5E0/sprockets%2Fcbf1d7fac4114ec9059f87f2a0936342 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/B90/sprockets%2Fb98ad8b0651a07fa27790a1cc977be16 +0 -0
- data/test/dummy/tmp/cache/assets/D40/2A0/sprockets%2F6e3ea5fbeff0a58c3782e181e5430472 +0 -0
- data/test/dummy/tmp/cache/assets/D40/350/sprockets%2Fb8d0e083f40a26ff64f605285045fcef +0 -0
- data/test/dummy/tmp/cache/assets/D40/740/sprockets%2F263bd7c97b6f2a3f3c82c6c1d6a41873 +0 -0
- data/test/dummy/tmp/cache/assets/D40/810/sprockets%2F6003489e39c622ea2527b9ec61e7ecbb +0 -0
- data/test/dummy/tmp/cache/assets/D40/880/sprockets%2F7813c7a2e234b7d2dcca77bff3315587 +0 -0
- data/test/dummy/tmp/cache/assets/D40/9A0/sprockets%2Fb09fd34326b7d7a238e247c9f2aa2b87 +0 -0
- data/test/dummy/tmp/cache/assets/D40/D20/sprockets%2F47e105703f9f1ea7c8da4508b7763cca +0 -0
- data/test/dummy/tmp/cache/assets/D40/F10/sprockets%2F8149df5844bbe3a8205c469a29b3c2eb +0 -0
- data/test/dummy/tmp/cache/assets/D41/410/sprockets%2F22edb903fc08a47f75beb47d5e096361 +0 -0
- data/test/dummy/tmp/cache/assets/D41/540/sprockets%2Ff05b4b5481ce50788dd254f33bd77aa7 +0 -0
- data/test/dummy/tmp/cache/assets/D41/5E0/sprockets%2F79d1b0f2ef48f72114cfc1e7189f41c1 +0 -0
- data/test/dummy/tmp/cache/assets/D41/C00/sprockets%2F08791f8723ba99285dc032a1febcfe05 +0 -0
- data/test/dummy/tmp/cache/assets/D41/E30/sprockets%2F0a50215c4d6fb949f17fa6c69c05e4e5 +0 -0
- data/test/dummy/tmp/cache/assets/D41/F00/sprockets%2Ff9b62079e2c23fb68ec4e34b2f52921b +0 -0
- data/test/dummy/tmp/cache/assets/D42/0C0/sprockets%2Fae17be1f5b63976f45fdb0d45e240287 +0 -0
- data/test/dummy/tmp/cache/assets/D42/180/sprockets%2F9f136ad5150d873084dfc8fc4ef20e52 +0 -0
- data/test/dummy/tmp/cache/assets/D42/6C0/sprockets%2Feefb3bf65b9531ae414d60991a54a568 +0 -0
- data/test/dummy/tmp/cache/assets/D42/740/sprockets%2Fd671638ace8452e53de83b0b8f21dc73 +0 -0
- data/test/dummy/tmp/cache/assets/D42/AC0/sprockets%2Fc5ae257ce91660cf1d694bd7f283180b +0 -0
- data/test/dummy/tmp/cache/assets/D43/010/sprockets%2F99f2034c5afbf60c8d6d7a9b52615b80 +0 -0
- data/test/dummy/tmp/cache/assets/D43/180/sprockets%2F77aa2f22b06e86bde4652662f7f3fb44 +0 -0
- data/test/dummy/tmp/cache/assets/D43/3C0/sprockets%2F0bbea991fc5823892656b5cf52a26bf3 +0 -0
- data/test/dummy/tmp/cache/assets/D43/770/sprockets%2F54f1826aad6b2ffd39e74741a4567a1f +0 -0
- data/test/dummy/tmp/cache/assets/D44/2B0/sprockets%2F3ad39d2fc61e52af9f763e55526ae811 +0 -0
- data/test/dummy/tmp/cache/assets/D44/410/sprockets%2Faff2c973a38dda06b82fe9250757c146 +0 -0
- data/test/dummy/tmp/cache/assets/D44/500/sprockets%2F21a29ea628b20f49e94865c60bcb8dd7 +0 -0
- data/test/dummy/tmp/cache/assets/D44/610/sprockets%2F015d093ebf54e2bd91f81f7c4c85a098 +0 -0
- data/test/dummy/tmp/cache/assets/D44/740/sprockets%2F3ab786df73a67cab584b9e533f634d11 +0 -0
- data/test/dummy/tmp/cache/assets/D44/840/sprockets%2F9fbf3c57246341509cc2b79b1ca4f9c6 +0 -0
- data/test/dummy/tmp/cache/assets/D44/970/sprockets%2F648de6a616d5c62248ffe00859dc0c1e +0 -0
- data/test/dummy/tmp/cache/assets/D44/CF0/sprockets%2F612899c13686e28debad09c5df15c2d1 +0 -0
- data/test/dummy/tmp/cache/assets/D45/0C0/sprockets%2F516fc9d887a1ad9640352f26fcd2a90e +0 -0
- data/test/dummy/tmp/cache/assets/D45/3D0/sprockets%2F55e171c4e73a7d6485c6ba5c1663afe8 +0 -0
- data/test/dummy/tmp/cache/assets/D45/630/sprockets%2F4057a5865c88d6bff9e4ff43f50a1b10 +0 -0
- data/test/dummy/tmp/cache/assets/D45/7F0/sprockets%2F204e7166ba9740fdd44ecf84ff4d4470 +0 -0
- data/test/dummy/tmp/cache/assets/D45/BD0/sprockets%2Fbc5657521c68a4d1a48decf5649365da +0 -0
- data/test/dummy/tmp/cache/assets/D46/0B0/sprockets%2Fe25e1919f53af4fe48caa29a4039719c +0 -0
- data/test/dummy/tmp/cache/assets/D46/2A0/sprockets%2F298292c84f0e15f90bfc6aa75cd039f3 +0 -0
- data/test/dummy/tmp/cache/assets/D46/5B0/sprockets%2F5d006b6678e543be4caf73ac762d755f +0 -0
- data/test/dummy/tmp/cache/assets/D46/610/sprockets%2F0f7fe1a1c4c86f26d477a1a4f4c88906 +0 -0
- data/test/dummy/tmp/cache/assets/D46/6D0/sprockets%2F5c5c2ed4c5b6ef33d157f955d7e41902 +0 -0
- data/test/dummy/tmp/cache/assets/D46/890/sprockets%2F5ca5e9e8272bf7e14e20f4ea81078d91 +0 -0
- data/test/dummy/tmp/cache/assets/D46/910/sprockets%2F8953f1c40aae7d8a9a7196e34b3148de +0 -0
- data/test/dummy/tmp/cache/assets/D46/A00/sprockets%2Fd15c6cb08ebf8797713e952ab6f154d1 +0 -0
- data/test/dummy/tmp/cache/assets/D46/C30/sprockets%2Ff5ac37c7c007684e128ebb4c387f8b09 +0 -0
- data/test/dummy/tmp/cache/assets/D46/D20/sprockets%2Fafcff74e0c596d4014caf09274253e89 +0 -0
- data/test/dummy/tmp/cache/assets/D46/E30/sprockets%2F2743604000c3caab937a02accd3c71bb +0 -0
- data/test/dummy/tmp/cache/assets/D46/E90/sprockets%2F2c2cf7b08d87d19e01573e9c0d972af5 +0 -0
- data/test/dummy/tmp/cache/assets/D47/250/sprockets%2Ff454a48261a92c98e55a9b2e9acff430 +0 -0
- data/test/dummy/tmp/cache/assets/D47/2E0/sprockets%2F704ecaf274e48a7580b3aae979a97c50 +0 -0
- data/test/dummy/tmp/cache/assets/D47/3B0/sprockets%2F7ff55581118e0181ecf59a7a5cb3cf48 +0 -0
- data/test/dummy/tmp/cache/assets/D47/5C0/sprockets%2F68f9e6a027bd2b7aeb7751454d7af247 +0 -0
- data/test/dummy/tmp/cache/assets/D47/A40/sprockets%2F8f06e434276a6eced1522deb9d9d8027 +0 -0
- data/test/dummy/tmp/cache/assets/D47/D90/sprockets%2Fe1c556e7d92e1d2b512e547746d73bef +0 -0
- data/test/dummy/tmp/cache/assets/D47/F30/sprockets%2F95b3748e9aae1797d3cb5cc720c1f266 +0 -0
- data/test/dummy/tmp/cache/assets/D48/0B0/sprockets%2F30a04c89c989d773b306c21bf8d64def +0 -0
- data/test/dummy/tmp/cache/assets/D48/140/sprockets%2Fe57106ab8293a7f3d776e690bbd447dc +0 -0
- data/test/dummy/tmp/cache/assets/D48/180/sprockets%2F760b662df9e52cdf625807f2d5a51a9e +0 -0
- data/test/dummy/tmp/cache/assets/D48/210/sprockets%2F32168c495dbc6784b0f398dc9a8cae12 +0 -0
- data/test/dummy/tmp/cache/assets/D48/2D0/sprockets%2F0be50e01c1aee3d2e4b1167bc704b150 +0 -0
- data/test/dummy/tmp/cache/assets/D48/3B0/sprockets%2Fd8418ab89f1d64859a83ed83bde050a3 +0 -0
- data/test/dummy/tmp/cache/assets/D48/3F0/sprockets%2F95af62f8399e2434dddaa8e622073b3f +0 -0
- data/test/dummy/tmp/cache/assets/D48/610/sprockets%2F04cb90fbd5ec4f92106f6268f2987b2e +0 -0
- data/test/dummy/tmp/cache/assets/D48/F10/sprockets%2Fb3111df9478d4ad38897db3a4fb286c5 +0 -0
- data/test/dummy/tmp/cache/assets/D48/F70/sprockets%2F773649806672f43eb7429cdfac0febb1 +0 -0
- data/test/dummy/tmp/cache/assets/D49/000/sprockets%2Fd94896eee0f35a0a966393090fcc3fc1 +0 -0
- data/test/dummy/tmp/cache/assets/D49/370/sprockets%2F56bf43f01cedd6c95f90f37cd5331757 +0 -0
- data/test/dummy/tmp/cache/assets/D49/D70/sprockets%2Fb9e7a4cd11a1fbd665187834e795b44f +0 -0
- data/test/dummy/tmp/cache/assets/D49/F00/sprockets%2F6a89ca8c96f50072b95d70df61cc7b80 +0 -0
- data/test/dummy/tmp/cache/assets/D4A/0B0/sprockets%2Fa339d447533dfdab55192ed95e5e91c6 +0 -0
- data/test/dummy/tmp/cache/assets/D4A/580/sprockets%2F9ec98f3f247fb14bf451730449d1cb7e +0 -0
- data/test/dummy/tmp/cache/assets/D4A/650/sprockets%2F824d6a94276cdd80a615348f4cb7dfe5 +0 -0
- data/test/dummy/tmp/cache/assets/D4A/9C0/sprockets%2Fb33796ae4af40993b4e8c7ef324f06f3 +0 -0
- data/test/dummy/tmp/cache/assets/D4A/B40/sprockets%2Fbf77934b4ad18295b9eae7a5f32c9316 +0 -0
- data/test/dummy/tmp/cache/assets/D4A/BF0/sprockets%2Fc564d4cc768137c7f5a3ffad2166684c +0 -0
- data/test/dummy/tmp/cache/assets/D4A/CE0/sprockets%2Fc6f977bde89d1a1910507fa495290bcf +0 -0
- data/test/dummy/tmp/cache/assets/D4A/EF0/sprockets%2Fb6b3aa8642c8fa584f0376d4648d7c8b +0 -0
- data/test/dummy/tmp/cache/assets/D4B/3C0/sprockets%2F26891ba685ff4c6f9d4f2f1c6242f03f +0 -0
- data/test/dummy/tmp/cache/assets/D4B/430/sprockets%2F3717d58544de674bf0f87b1fd67a45ac +0 -0
- data/test/dummy/tmp/cache/assets/D4B/440/sprockets%2F0f661ce7dd63adff2444327c83c5f678 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/4F0/sprockets%2Fd57bb48b0c6ea8859a4fda0d88592624 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/920/sprockets%2F3f9aa27e107a5a864ed768825d47bbe7 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/CE0/sprockets%2F2e96cfae6d4a435e37970c055ac589e4 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/D30/sprockets%2Ff7549dc58e2b8520272e8db83ea6ac65 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/EB0/sprockets%2F90e1f184458ccb432d9fddb8994423af +0 -0
- data/test/dummy/tmp/cache/assets/D4B/F30/sprockets%2F87e2067c8a98c80860ca18525aefaff4 +0 -0
- data/test/dummy/tmp/cache/assets/D4C/B10/sprockets%2F8885160be6866e27b6e5fa2c49a4c5da +0 -0
- data/test/dummy/tmp/cache/assets/D4D/6B0/sprockets%2F42f643654eb2b4737e87decb738fc6a5 +0 -0
- data/test/dummy/tmp/cache/assets/D4D/8F0/sprockets%2F81f8c1d4e17c7829dbdef5171e84d561 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/0F0/sprockets%2F1ec59da25b29654f5ce86a66c999ba22 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/110/sprockets%2Fcf0a2ac2c576aa71029323062dfb5a1c +0 -0
- data/test/dummy/tmp/cache/assets/D4E/4C0/sprockets%2Ff1bec818b617e964d6a5f1ef8f339540 +0 -0
- data/test/dummy/tmp/cache/assets/D4E/8E0/sprockets%2F0d70620be0274ccaa6743a0b2092bded +0 -0
- data/test/dummy/tmp/cache/assets/D4E/DD0/sprockets%2F287ba626c4f5b4639b2890e9d8f5eb2c +0 -0
- data/test/dummy/tmp/cache/assets/D4E/DE0/sprockets%2F382aafa1acb033c709e7789d9878bd59 +0 -0
- data/test/dummy/tmp/cache/assets/D4F/360/sprockets%2F91ecbdd16b46d37e46b95d95347b68f1 +0 -0
- data/test/dummy/tmp/cache/assets/D4F/400/sprockets%2Fa39424f3692471f84bf5f4ca5d3f92ff +0 -0
- data/test/dummy/tmp/cache/assets/D4F/470/sprockets%2F3370d5f56c376be2ee02890a6a7f9f9f +0 -0
- data/test/dummy/tmp/cache/assets/D4F/A60/sprockets%2F7e7b2a309fe6c9274de094b52d7399cc +0 -0
- data/test/dummy/tmp/cache/assets/D4F/AD0/sprockets%2F4940ada070aac964e8964c9429c9ff7c +0 -0
- data/test/dummy/tmp/cache/assets/D4F/AF0/sprockets%2F7c58e3c84ea677f3767d4e2b44d02c6f +0 -0
- data/test/dummy/tmp/cache/assets/D4F/D40/sprockets%2Fc00fd09b0c72bd4124b2509ccab6d252 +0 -0
- data/test/dummy/tmp/cache/assets/D50/1C0/sprockets%2Ff3d4c379e548c6a635cf4c71959be1c5 +0 -0
- data/test/dummy/tmp/cache/assets/D50/3F0/sprockets%2F10bbd58b768f6ca68f89872d5ca21c59 +0 -0
- data/test/dummy/tmp/cache/assets/D50/9E0/sprockets%2F8a6f447c87a7b29a5cfe7f6a631563d5 +0 -0
- data/test/dummy/tmp/cache/assets/D50/BB0/sprockets%2F4544b5c9d81fdc942637568eefe0a17f +0 -0
- data/test/dummy/tmp/cache/assets/D50/DE0/sprockets%2F4fb7cab2cc42720412e2831b096bcac0 +0 -0
- data/test/dummy/tmp/cache/assets/D50/EB0/sprockets%2Fb1701915ee2cfa8987fa97f45d757ca3 +0 -0
- data/test/dummy/tmp/cache/assets/D50/F40/sprockets%2F0a264e8ef7b828ffbc499e545d1d3554 +0 -0
- data/test/dummy/tmp/cache/assets/D51/0C0/sprockets%2F4c68994d9a5d43eeaa94f0bf98c35162 +0 -0
- data/test/dummy/tmp/cache/assets/D51/5A0/sprockets%2F5f73f98cef4232f98131ab3c913f7e9c +0 -0
- data/test/dummy/tmp/cache/assets/D51/6A0/sprockets%2F46a61332ec4d9db317f5981f96f5e4ef +0 -0
- data/test/dummy/tmp/cache/assets/D51/860/sprockets%2F0559a601f98ad9e14ad85d9e9866bc3b +0 -0
- data/test/dummy/tmp/cache/assets/D51/A80/sprockets%2F0e4ebc3cb443fe89e96507429a729ed8 +0 -0
- data/test/dummy/tmp/cache/assets/D51/EC0/sprockets%2F741e01ffc618da7e6ee5a5f3945c5499 +0 -0
- data/test/dummy/tmp/cache/assets/D51/FD0/sprockets%2F8f7fe2bcf6a3682bfe40832d8d258098 +0 -0
- data/test/dummy/tmp/cache/assets/D52/210/sprockets%2F0c6c258182a5a7ee4fb499eff8545a68 +0 -0
- data/test/dummy/tmp/cache/assets/D52/3A0/sprockets%2F1f04f799cc97cceef1c984f78120441f +0 -0
- data/test/dummy/tmp/cache/assets/D52/7B0/sprockets%2F7222c931fe78519f9cc9ccf345e6b7e1 +0 -0
- data/test/dummy/tmp/cache/assets/D52/C10/sprockets%2Fdf92f8b92422d0c6196e986b0fa84d8d +0 -0
- data/test/dummy/tmp/cache/assets/D52/D80/sprockets%2F5138aadb7a52a3ad1d4af165703360bd +0 -0
- data/test/dummy/tmp/cache/assets/D53/070/sprockets%2F29887b939a9adbb8873cfb30b56c3e56 +0 -0
- data/test/dummy/tmp/cache/assets/D53/0B0/sprockets%2F3ce0380426fadc73b3e4b21a4b305d6a +0 -0
- data/test/dummy/tmp/cache/assets/D54/580/sprockets%2F69ee693f2337e2f1728399dcafe06b6c +0 -0
- data/test/dummy/tmp/cache/assets/D54/590/sprockets%2F8a3d4f1829a4de0f63886028ef75efe6 +0 -0
- data/test/dummy/tmp/cache/assets/D54/6D0/sprockets%2Fb6963f0e4a080df49a6956dff72591ff +0 -0
- data/test/dummy/tmp/cache/assets/D54/6F0/sprockets%2F1d0a638a1dd4b3b5810da3be81d02e29 +0 -0
- data/test/dummy/tmp/cache/assets/D54/860/sprockets%2F1f59eedd506ee9d285b6c631f87e2348 +0 -0
- data/test/dummy/tmp/cache/assets/D54/D40/sprockets%2F8bf7c2fe4d4a3b4379ce3509ce827598 +0 -0
- data/test/dummy/tmp/cache/assets/D54/E60/sprockets%2Fc730209ccf9b67f94d9da6252738dff6 +0 -0
- data/test/dummy/tmp/cache/assets/D55/050/sprockets%2Ff8a1519f64f695a48b04fc494d7fce19 +0 -0
- data/test/dummy/tmp/cache/assets/D55/3B0/sprockets%2F44413599bec29f9eef497bec466b91a3 +0 -0
- data/test/dummy/tmp/cache/assets/D55/4E0/sprockets%2F5a973d4e0e4688e594eb63cfa5f2649c +0 -0
- data/test/dummy/tmp/cache/assets/D55/880/sprockets%2F34928d8459d36e97d1eded237f5c3bf3 +0 -0
- data/test/dummy/tmp/cache/assets/D55/AB0/sprockets%2F78cc27be14be303abe1e433ff002271b +0 -0
- data/test/dummy/tmp/cache/assets/D55/BD0/sprockets%2Fb0f1d009a6c45a8184050ccaad0f625f +0 -0
- data/test/dummy/tmp/cache/assets/D57/5C0/sprockets%2F2da710dd9256d942b03cfcac3602ca16 +0 -0
- data/test/dummy/tmp/cache/assets/D57/730/sprockets%2F40eb1d78a46bf0f79687cf21d959ee85 +0 -0
- data/test/dummy/tmp/cache/assets/D57/AC0/sprockets%2F33ea84ea0fb3021aa76691135ac4de0f +0 -0
- data/test/dummy/tmp/cache/assets/D57/D80/sprockets%2F5ab6d5ee29c4c9d4e9652b8c50488a99 +0 -0
- data/test/dummy/tmp/cache/assets/D57/D90/sprockets%2F263b732a422b1beaac8e30dbda198076 +0 -0
- data/test/dummy/tmp/cache/assets/D58/8C0/sprockets%2F513d20cb6d72b9f39bbf979ff682d696 +0 -0
- data/test/dummy/tmp/cache/assets/D58/DA0/sprockets%2F21200e25aa4eb27fe8bc2d5a25a874f0 +0 -0
- data/test/dummy/tmp/cache/assets/D59/110/sprockets%2F2ec0c121af2f7eb46d4a164c3fd75032 +0 -0
- data/test/dummy/tmp/cache/assets/D59/930/sprockets%2F220a1dbf7192adca0582f12665ceba47 +0 -0
- data/test/dummy/tmp/cache/assets/D59/A10/sprockets%2Fb5b42410db439e79bbbc0dd4413c181d +0 -0
- data/test/dummy/tmp/cache/assets/D59/C80/sprockets%2Fe8f792ea1f2a5de6742e7df3856494f4 +0 -0
- data/test/dummy/tmp/cache/assets/D59/F50/sprockets%2F9f2c7e737ba13a57c6ff589292d86fa7 +0 -0
- data/test/dummy/tmp/cache/assets/D5A/430/sprockets%2Fac7b33b9eb700ba71fa400a4552cf495 +0 -0
- data/test/dummy/tmp/cache/assets/D5B/130/sprockets%2Fcef83ae8e7e6449d6eca77c857293055 +0 -0
- data/test/dummy/tmp/cache/assets/D5B/260/sprockets%2F6879e30caa1f296ed0c48e8469989fbb +0 -0
- data/test/dummy/tmp/cache/assets/D5B/9C0/sprockets%2Fca567b8e449bf9f055ae5bd9e7593359 +0 -0
- data/test/dummy/tmp/cache/assets/D5B/BF0/sprockets%2F333e7d5ac1b4a512eee0f75f3a253b60 +0 -0
- data/test/dummy/tmp/cache/assets/D5B/CD0/sprockets%2F6d8f1d103ecb952adc2baa442720692b +0 -0
- data/test/dummy/tmp/cache/assets/D5B/E70/sprockets%2F1d7605e68cbf7122108b1dbbe2a24a6e +0 -0
- data/test/dummy/tmp/cache/assets/D5C/060/sprockets%2F37c94f0ca9c109c8e7ec4698883eaf49 +0 -0
- data/test/dummy/tmp/cache/assets/D5C/370/sprockets%2Ff6f72925d6c49e05e66faa4765fe8c57 +0 -0
- data/test/dummy/tmp/cache/assets/D5C/430/sprockets%2F957422a30de2a26d2dae2def5c2b9320 +0 -0
- data/test/dummy/tmp/cache/assets/D5C/7C0/sprockets%2F15ecba65509f6d4dc40d0d30b132bf39 +0 -0
- data/test/dummy/tmp/cache/assets/D5C/AF0/sprockets%2Fd78d099f5f2b643966ae56fb9c94b38a +0 -0
- data/test/dummy/tmp/cache/assets/D5C/F90/sprockets%2Fee2c3661a4544caac83916b15db071ae +0 -0
- data/test/dummy/tmp/cache/assets/D5D/3B0/sprockets%2Fd5471e7133cf16e6a11bbee20f2a0b79 +0 -0
- data/test/dummy/tmp/cache/assets/D5D/6A0/sprockets%2F6f3ce4b9a631e869f04f1f88e4f6783f +0 -0
- data/test/dummy/tmp/cache/assets/D5D/6F0/sprockets%2F4d0b9aae508a3e10ecdd0b2f36283727 +0 -0
- data/test/dummy/tmp/cache/assets/D5D/E70/sprockets%2F14c8120abdb1d9e80d0e71f7553aa84a +0 -0
- data/test/dummy/tmp/cache/assets/D5E/470/sprockets%2Fed21b8ab1bd015d1eb827132abe96765 +0 -0
- data/test/dummy/tmp/cache/assets/D5E/540/sprockets%2F989fc9956e6f8db3448a45ffca0e2834 +0 -0
- data/test/dummy/tmp/cache/assets/D5E/7F0/sprockets%2F1ce2528ff4137bc28b310d70192ccdaf +0 -0
- data/test/dummy/tmp/cache/assets/D5E/F40/sprockets%2F796de867fd6629cdddac27c884f77042 +0 -0
- data/test/dummy/tmp/cache/assets/D5E/FF0/sprockets%2F16a29a82bcd0a5fc4eeba77012b60594 +0 -0
- data/test/dummy/tmp/cache/assets/D5F/860/sprockets%2F2d0c3d64d14c238086a2ea4be4b15fd8 +0 -0
- data/test/dummy/tmp/cache/assets/D5F/A40/sprockets%2F210ff6cd4eb7b47969889b99ed462cf5 +0 -0
- data/test/dummy/tmp/cache/assets/D5F/DE0/sprockets%2Fe3e9357da07a01a5624f34f90b4cac2c +0 -0
- data/test/dummy/tmp/cache/assets/D5F/F10/sprockets%2F1561addd40bda45d5c5c66f106f0157e +0 -0
- data/test/dummy/tmp/cache/assets/D60/150/sprockets%2F43ad144a2b48d3a43acf3c8a26f5d393 +0 -0
- data/test/dummy/tmp/cache/assets/D60/550/sprockets%2F7f69dde6b042535a50e04be0ef504db0 +0 -0
- data/test/dummy/tmp/cache/assets/D60/760/sprockets%2Ff2488acab1571bcae10c7c23d5f64606 +0 -0
- data/test/dummy/tmp/cache/assets/D60/7F0/sprockets%2F1b74fae303ee4342b07f231ccb853b9e +0 -0
- data/test/dummy/tmp/cache/assets/D61/0A0/sprockets%2F379b37d8874599b67afd82ecfd3c892a +0 -0
- data/test/dummy/tmp/cache/assets/D61/1E0/sprockets%2F2525c7f31cf412e0259a1feb68dc2c2c +0 -0
- data/test/dummy/tmp/cache/assets/D61/290/sprockets%2Fc9f8e96feacec3e16f533698428348e7 +0 -0
- data/test/dummy/tmp/cache/assets/D61/500/sprockets%2F2d4aaa4e27206670c2f90c48bfc33c6d +0 -0
- data/test/dummy/tmp/cache/assets/D61/550/sprockets%2Fad72362d0158ce06f1d5b3bb95a3c18e +0 -0
- data/test/dummy/tmp/cache/assets/D61/590/sprockets%2F10b1195e9b551779d1a1f41ac5dde5ab +0 -0
- data/test/dummy/tmp/cache/assets/D61/A70/sprockets%2F80d5badad75248c606accd813d27235a +0 -0
- data/test/dummy/tmp/cache/assets/D62/AC0/sprockets%2Fe923a17641d1cdb9a430439e4dabd2f4 +0 -0
- data/test/dummy/tmp/cache/assets/D62/D00/sprockets%2Fbb112cb101c984bf728881d13ddc7d3d +0 -0
- data/test/dummy/tmp/cache/assets/D62/D60/sprockets%2F445fcd788beb7311a3e01c084554cacb +0 -0
- data/test/dummy/tmp/cache/assets/D62/E40/sprockets%2F20ec5093a0bdf38b6a0dc4136729f5dd +0 -0
- data/test/dummy/tmp/cache/assets/D62/E70/sprockets%2F0777c54fb10d608e142dbdc660fae80a +0 -0
- data/test/dummy/tmp/cache/assets/D63/190/sprockets%2Fbd70e9419cd66b14aa1bb3b0d616e783 +0 -0
- data/test/dummy/tmp/cache/assets/D63/2C0/sprockets%2Fb29b4f22c11cdf82445a279ce2b3e08b +0 -0
- data/test/dummy/tmp/cache/assets/D63/580/sprockets%2F03cf42442c9a0f798d2e3bb265b6dca1 +0 -0
- data/test/dummy/tmp/cache/assets/D63/5B0/sprockets%2Fde6d630c9345ce06a5bf31c3f2d2a482 +0 -0
- data/test/dummy/tmp/cache/assets/D63/C60/sprockets%2F232faf0ad8939d4700feb135e3b22bf6 +0 -0
- data/test/dummy/tmp/cache/assets/D63/CF0/sprockets%2Fc2365f12ddb086ab82c1855e8a11e5ea +0 -0
- data/test/dummy/tmp/cache/assets/D63/E80/sprockets%2F73ef5a22222bb8eb6077a1fa57da08d5 +0 -0
- data/test/dummy/tmp/cache/assets/D64/0E0/sprockets%2Fa2d2eccd78b41ae522541165640efed7 +0 -0
- data/test/dummy/tmp/cache/assets/D64/0F0/sprockets%2F4dab4a89380cac7b55ffc425c247103d +0 -0
- data/test/dummy/tmp/cache/assets/D64/200/sprockets%2F76e44dde04df41070e90db2d4f3de232 +0 -0
- data/test/dummy/tmp/cache/assets/D64/2C0/sprockets%2Fbe3e2f353562d4e253db14b4942cc9ba +0 -0
- data/test/dummy/tmp/cache/assets/D64/3E0/sprockets%2F0a6e1743aaa90ed05f89e69db02fd042 +0 -0
- data/test/dummy/tmp/cache/assets/D64/470/sprockets%2F64fc35191d5a0ea77ee0a5b16b1c9f51 +0 -0
- data/test/dummy/tmp/cache/assets/D64/EC0/sprockets%2Febd1142b05d915ae2188315d4e6bee9a +0 -0
- data/test/dummy/tmp/cache/assets/D64/FB0/sprockets%2F0a322e44c856469dc2aac61b4e8ac0f8 +0 -0
- data/test/dummy/tmp/cache/assets/D65/0D0/sprockets%2F67a08a07bbdfa66813323ebdf632f4d2 +0 -0
- data/test/dummy/tmp/cache/assets/D65/390/sprockets%2F5a8932bfeba07d1607613f62bf1b9e1b +0 -0
- data/test/dummy/tmp/cache/assets/D65/760/sprockets%2F2a2bda980cf5457127a83de17ea4c3c4 +0 -0
- data/test/dummy/tmp/cache/assets/D65/790/sprockets%2F2af45a2e4693e5d26d2aab1606f3a4f8 +0 -0
- data/test/dummy/tmp/cache/assets/D65/7A0/sprockets%2F4e227e9ffe7b3dab051940801cd2fb42 +0 -0
- data/test/dummy/tmp/cache/assets/D65/AB0/sprockets%2F6e53b6197c5eb11f5bc0ca1bf430b589 +0 -0
- data/test/dummy/tmp/cache/assets/D65/F00/sprockets%2F3e71c0da28fc232d8817c52481ddc4cb +0 -0
- data/test/dummy/tmp/cache/assets/D66/150/sprockets%2Fe66cc7f2bdbbc467b20a58f00812a936 +0 -0
- data/test/dummy/tmp/cache/assets/D66/580/sprockets%2F6a12a93be78ba78bc1b4d8a532392da5 +0 -0
- data/test/dummy/tmp/cache/assets/D66/610/sprockets%2Fcb8fee59849ef8f859aa853d091e2938 +0 -0
- data/test/dummy/tmp/cache/assets/D66/680/sprockets%2Feac220c53d6b904767a143f4fd1f66cb +0 -0
- data/test/dummy/tmp/cache/assets/D66/AA0/sprockets%2Fec6cda6a541188dc413a263fd6424c7c +0 -0
- data/test/dummy/tmp/cache/assets/D66/B30/sprockets%2F6992569d033bfa4f4beb0af2132ce4b5 +0 -0
- data/test/dummy/tmp/cache/assets/D66/BD0/sprockets%2F6a4c066ff4c7ce5e545a7c3133a31de3 +0 -0
- data/test/dummy/tmp/cache/assets/D66/D60/sprockets%2Fd116910cf8d03281dfa078d9c81af3ca +0 -0
- data/test/dummy/tmp/cache/assets/D66/F50/sprockets%2F3f8db65ac02247d21db75d02af68e9b1 +0 -0
- data/test/dummy/tmp/cache/assets/D66/FF0/sprockets%2Fa7b86be98c5a2d12a8c24023e8ae26a5 +0 -0
- data/test/dummy/tmp/cache/assets/D67/370/sprockets%2Facdaf6f0e62abf292b09712d9045e517 +0 -0
- data/test/dummy/tmp/cache/assets/D67/4D0/sprockets%2F3e38546657770aba0636bc5bdfee1da0 +0 -0
- data/test/dummy/tmp/cache/assets/D67/540/sprockets%2F2451fa1457a12b81ae27acc885d1cf9f +0 -0
- data/test/dummy/tmp/cache/assets/D67/B20/sprockets%2F21d840a6b2f0d40810f667fd47affaf4 +0 -0
- data/test/dummy/tmp/cache/assets/D67/F30/sprockets%2Fa1c2a19503d7136786bf4c98fdb0cda3 +0 -0
- data/test/dummy/tmp/cache/assets/D68/4E0/sprockets%2F013c5d547bd5e3350f8f5fe1f4eb03e3 +0 -0
- data/test/dummy/tmp/cache/assets/D68/7B0/sprockets%2F01f91bbce586ad5a7181d176fa5bc454 +0 -0
- data/test/dummy/tmp/cache/assets/D68/A40/sprockets%2Fbcbde6fb3133581e518637e4fab224d5 +0 -0
- data/test/dummy/tmp/cache/assets/D68/AC0/sprockets%2Fbe5cf99c151ee682d96f9588d57866cc +0 -0
- data/test/dummy/tmp/cache/assets/D68/BA0/sprockets%2F5f1ba7106c2c359ba063f98f1dba38a9 +0 -0
- data/test/dummy/tmp/cache/assets/D68/BB0/sprockets%2F5ee24cf41716a40da7a8c8dd1cc21488 +0 -0
- data/test/dummy/tmp/cache/assets/D69/720/sprockets%2Fcfca87f8a37e2336a3b36d231326f7bb +0 -0
- data/test/dummy/tmp/cache/assets/D69/E80/sprockets%2F1223e38f9d64debba29b6de61af70441 +0 -0
- data/test/dummy/tmp/cache/assets/D6A/3D0/sprockets%2Fcf97f9bd0e343d50ae3b006654b65bd5 +0 -0
- data/test/dummy/tmp/cache/assets/D6A/410/sprockets%2F8003e6c1bfdd8215d846b4a9b2d8d15d +0 -0
- data/test/dummy/tmp/cache/assets/D6A/4F0/sprockets%2Fe4fa6346422a8dce6bad5025dd95a059 +0 -0
- data/test/dummy/tmp/cache/assets/D6A/DF0/sprockets%2F44fc4a3f2b6657a6d1369aab8a3356cd +0 -0
- data/test/dummy/tmp/cache/assets/D6B/110/sprockets%2Fdd0933d445b1d5fcb5c3718b956bb46a +0 -0
- data/test/dummy/tmp/cache/assets/D6B/550/sprockets%2F11c395f147e050afeefb528d228ec4e4 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/950/sprockets%2F088ce0fca047df84da4162b4a57197ae +0 -0
- data/test/dummy/tmp/cache/assets/D6B/960/sprockets%2Fa94ad11312cbf8b365c85da4c79f6a80 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/970/sprockets%2F1d2049a78db9cb5f916bc1123a785edb +0 -0
- data/test/dummy/tmp/cache/assets/D6B/990/sprockets%2F24de0146ba11805f7ed595d1e19dfdf2 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/AD0/sprockets%2F6f2bc7cfcfc77277a912a6216db416d0 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/CB0/sprockets%2F17feb2110d6ccedb3694d955515b6a8b +0 -0
- data/test/dummy/tmp/cache/assets/D6B/ED0/sprockets%2F0d47f0db16fd911acd461da4f6690d67 +0 -0
- data/test/dummy/tmp/cache/assets/D6B/FF0/sprockets%2Ff807f9367e272ada8d2e137e31bbb5a2 +0 -0
- data/test/dummy/tmp/cache/assets/D6C/4D0/sprockets%2F56c8e1e02c020eb9e6a54e4827dbe74c +0 -0
- data/test/dummy/tmp/cache/assets/D6D/000/sprockets%2Fbf8570a4b7a458df4b0d8a190c9b38b3 +0 -0
- data/test/dummy/tmp/cache/assets/D6D/5A0/sprockets%2F93cdc99cc7adf79210460311d71cfae4 +0 -0
- data/test/dummy/tmp/cache/assets/D6D/5B0/sprockets%2F99c1095648b73ceac5e30e9b40fdb20d +0 -0
- data/test/dummy/tmp/cache/assets/D6D/AB0/sprockets%2F3c94b5eff3b7d0b9750583b08240cfcc +0 -0
- data/test/dummy/tmp/cache/assets/D6D/DF0/sprockets%2F839c9b7b20c2a49bd9516a84bec6a61a +0 -0
- data/test/dummy/tmp/cache/assets/D6E/260/sprockets%2F9e08f2ce1f70279b622b9e1dfda1642c +0 -0
- data/test/dummy/tmp/cache/assets/D6E/300/sprockets%2F3ad5a388b388247dd303bdbbf73b3f57 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/3D0/sprockets%2F2de147b15cce533a83e64b8ea6492ff1 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/470/sprockets%2F71df3138a1fe8b97f7fadb7dc1203714 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/6D0/sprockets%2Ffc7d3ba0ef7c52a8455bf1268a29623e +0 -0
- data/test/dummy/tmp/cache/assets/D6F/0C0/sprockets%2F877dcbc20a7c9c5290c2430dc8cf2d95 +0 -0
- data/test/dummy/tmp/cache/assets/D6F/590/sprockets%2F8944d5a80e04dc5ffc31a0e96f8c1f21 +0 -0
- data/test/dummy/tmp/cache/assets/D6F/840/sprockets%2F6ab574d92e8d730d1b2c4afc5c6635b8 +0 -0
- data/test/dummy/tmp/cache/assets/D6F/9D0/sprockets%2F175ffadaff090cf9a26072c1191ef476 +0 -0
- data/test/dummy/tmp/cache/assets/D6F/B30/sprockets%2F891af7ae615030666e4a3d6d3beb9f2d +0 -0
- data/test/dummy/tmp/cache/assets/D6F/FF0/sprockets%2Fc74fa24a4bb8a8c9e77cfd024536324e +0 -0
- data/test/dummy/tmp/cache/assets/D70/1F0/sprockets%2F33fed3bb84d5fc46d5768330d03e5ef0 +0 -0
- data/test/dummy/tmp/cache/assets/D70/710/sprockets%2F4ffb8a8a4d611869018aae84f17a2d4d +0 -0
- data/test/dummy/tmp/cache/assets/D71/180/sprockets%2F2574c07ca5ce6516e7813cfc4327ffae +0 -0
- data/test/dummy/tmp/cache/assets/D71/1B0/sprockets%2F6292986fc0a384bdb1bed92a6c6a294c +0 -0
- data/test/dummy/tmp/cache/assets/D71/B60/sprockets%2F32bc9f57ad1fe2d506fd74cc913b8633 +0 -0
- data/test/dummy/tmp/cache/assets/D72/210/sprockets%2F601cebd8e41a363fe7522e78a814bfd9 +0 -0
- data/test/dummy/tmp/cache/assets/D72/260/sprockets%2F805c75a5e038c51b5bab63f7af785ef3 +0 -0
- data/test/dummy/tmp/cache/assets/D72/530/sprockets%2F7aa68b6e5a14184724c816b06f8fdebd +0 -0
- data/test/dummy/tmp/cache/assets/D72/550/sprockets%2Fdc8a1e3cc36d42587cd9c5750e703e4d +0 -0
- data/test/dummy/tmp/cache/assets/D72/A70/sprockets%2F36ee7d5d6c2a8f6e74cfa1cd25259105 +0 -0
- data/test/dummy/tmp/cache/assets/D72/AD0/sprockets%2F73ce023923f93c1f4dd858d329d4adda +0 -0
- data/test/dummy/tmp/cache/assets/D72/B60/sprockets%2Ff4caba13e07f3458c6c603ca9de96098 +0 -0
- data/test/dummy/tmp/cache/assets/D72/BE0/sprockets%2F88fc2b40cd6bb985b28a0c16808ade85 +0 -0
- data/test/dummy/tmp/cache/assets/D72/CE0/sprockets%2Fbcea4cc992dbbf24281d0e85292667b6 +0 -0
- data/test/dummy/tmp/cache/assets/D72/DF0/sprockets%2Ff47176999aaa4b50b1e4b3ffa58c255d +0 -0
- data/test/dummy/tmp/cache/assets/D73/1B0/sprockets%2F75c7059fe58fbcc1cb01309e6aed7923 +0 -0
- data/test/dummy/tmp/cache/assets/D73/1E0/sprockets%2F2028a62d96b8b021e87ea2c9dded688a +0 -0
- data/test/dummy/tmp/cache/assets/D73/400/sprockets%2F0dc6b3f8a8f917a2d8f3923cd952ba43 +0 -0
- data/test/dummy/tmp/cache/assets/D73/600/sprockets%2F7e3978b4100bece3fc9d5c61c31fc729 +0 -0
- data/test/dummy/tmp/cache/assets/D73/830/sprockets%2F14dea579703e5a5dcc0f680a9b9c763c +0 -0
- data/test/dummy/tmp/cache/assets/D73/920/sprockets%2F77a5d5acdcd4b3629277aa338f8d7e12 +0 -0
- data/test/dummy/tmp/cache/assets/D73/B20/sprockets%2Fce034e90f2e3d630d09ac39e8782f6db +0 -0
- data/test/dummy/tmp/cache/assets/D73/C10/sprockets%2Fe4408813823d9a881c9b12eaefdb5ef2 +0 -0
- data/test/dummy/tmp/cache/assets/D74/730/sprockets%2F4ff3e7892bfe3b71c2813a34ffe2a654 +0 -0
- data/test/dummy/tmp/cache/assets/D74/A30/sprockets%2Fb9a16284ea2f906ecfe15f36a88fb612 +0 -0
- data/test/dummy/tmp/cache/assets/D74/AF0/sprockets%2Fac41667bf3be098b78246d4a741faf9a +0 -0
- data/test/dummy/tmp/cache/assets/D74/BD0/sprockets%2F8cc50b95ff7a60e1b5628a2c883db54f +0 -0
- data/test/dummy/tmp/cache/assets/D74/F00/sprockets%2F35bfb58f60c6bdd9076b5319d09d4b3f +0 -0
- data/test/dummy/tmp/cache/assets/D74/FD0/sprockets%2F64dbb94566f1a107a8a455fa7cb76ff4 +0 -0
- data/test/dummy/tmp/cache/assets/D75/2B0/sprockets%2F960435d4e7acc5e18decf3134e5df258 +0 -0
- data/test/dummy/tmp/cache/assets/D75/2C0/sprockets%2F5580e9bd1b1d8e6bf3ea14e7b3568d73 +0 -0
- data/test/dummy/tmp/cache/assets/D75/2D0/sprockets%2Fe39e053e9582b104e24e9b7d2edcb7a9 +0 -0
- data/test/dummy/tmp/cache/assets/D75/420/sprockets%2F8fd813d3c06bf1cb2727c578384cfba9 +0 -0
- data/test/dummy/tmp/cache/assets/D75/7B0/sprockets%2F2537b4b5fdfadf6053ce17e04f4f8890 +0 -0
- data/test/dummy/tmp/cache/assets/D75/BB0/sprockets%2Feb3518880cfef75fa6a3873b0c3f307f +0 -0
- data/test/dummy/tmp/cache/assets/D76/0E0/sprockets%2F33f18c25f3ed89ad276e43c3dae675d2 +0 -0
- data/test/dummy/tmp/cache/assets/D76/670/sprockets%2F63bc78b4f8df84d0e1bc584fc636802a +0 -0
- data/test/dummy/tmp/cache/assets/D76/6C0/sprockets%2F619dedc58b2e260e9b216ae485e34fd6 +0 -0
- data/test/dummy/tmp/cache/assets/D76/740/sprockets%2F4b1a5581b16ee55d84da6f0d929ede65 +0 -0
- data/test/dummy/tmp/cache/assets/D76/7B0/sprockets%2F58ef2a5a5d3c11dbd386ff366768be24 +0 -0
- data/test/dummy/tmp/cache/assets/D76/7E0/sprockets%2F650e53bd32a8419c790dc9ef01ef7e9a +0 -0
- data/test/dummy/tmp/cache/assets/D76/920/sprockets%2Ff7e0984c14c72fe461748e6bcc82c0bd +0 -0
- data/test/dummy/tmp/cache/assets/D76/AF0/sprockets%2F2ce576e1efea17e381f625a88df04e16 +0 -0
- data/test/dummy/tmp/cache/assets/D76/C20/sprockets%2Fc67cdf7b14fc589f68b2cb349b124c43 +0 -0
- data/test/dummy/tmp/cache/assets/D77/010/sprockets%2F5beb73eeeb35746142ffc7497d4d2a54 +0 -0
- data/test/dummy/tmp/cache/assets/D77/090/sprockets%2F73f172c5a4c42c57d53ed87cded7d427 +0 -0
- data/test/dummy/tmp/cache/assets/D77/190/sprockets%2Fbbe597fc66514ba44231e1a83fd8ce98 +0 -0
- data/test/dummy/tmp/cache/assets/D77/430/sprockets%2Fed6b89a0c3f2b7153d1937a99ffd360d +0 -0
- data/test/dummy/tmp/cache/assets/D77/450/sprockets%2F5e321bdeefaf01a41af98f3e58824859 +0 -0
- data/test/dummy/tmp/cache/assets/D77/5B0/sprockets%2F4f5ccf72b681c291f2f3c7d929a35bb7 +0 -0
- data/test/dummy/tmp/cache/assets/D77/9B0/sprockets%2F9c114f8c77c699c1c75155d15ab6dfbb +0 -0
- data/test/dummy/tmp/cache/assets/D77/AE0/sprockets%2F5668bbe7bf9792cfd8da59d01b7a1061 +0 -0
- data/test/dummy/tmp/cache/assets/D77/C20/sprockets%2Fa02eda53d75b86e6c7429f8ea538e04e +0 -0
- data/test/dummy/tmp/cache/assets/D78/1A0/sprockets%2F48db88a2a7fbc0c663be27cc938552c9 +0 -0
- data/test/dummy/tmp/cache/assets/D78/780/sprockets%2Fdeeca354e12c8ebcd89967558b2b4505 +0 -0
- data/test/dummy/tmp/cache/assets/D78/7B0/sprockets%2F26b674a8dec384b76fc39ee7241ddc06 +0 -0
- data/test/dummy/tmp/cache/assets/D78/AF0/sprockets%2F99e5bb91d87451ad1e01fe3fe9ef4017 +0 -0
- data/test/dummy/tmp/cache/assets/D79/4F0/sprockets%2Ff0b9f7193991dc74a2a2dec06eaf7990 +0 -0
- data/test/dummy/tmp/cache/assets/D79/550/sprockets%2Ff3f804b18df8bd2952d33b5ff26c7d28 +0 -0
- data/test/dummy/tmp/cache/assets/D79/740/sprockets%2F9026180d0eee8e48c1cf6c4be16d59f7 +0 -0
- data/test/dummy/tmp/cache/assets/D7A/3F0/sprockets%2Fbf3d583f5ba468586a1db5f56e52ef61 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/0E0/sprockets%2F76df5edda070b0c17b5caa61132a303a +0 -0
- data/test/dummy/tmp/cache/assets/D7B/230/sprockets%2F4e473cebde712a45d9879939c2e2bec1 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/260/sprockets%2F0d277dabe82a3ad3ec30ce2a14a52303 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/8B0/sprockets%2F17fce732f3ce6957611ea1f69cedd571 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/9C0/sprockets%2Ff3ce94c1f45e20a6f74da8fb849e5353 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/F40/sprockets%2Fb0ea1b768efb8e8e732928bcf530379c +0 -0
- data/test/dummy/tmp/cache/assets/D7C/510/sprockets%2F51792eee7e8f3e3c4b3983fc4e0b96a0 +0 -0
- data/test/dummy/tmp/cache/assets/D7C/530/sprockets%2F185e7a53a16cf20abab0b1013da4a9c7 +0 -0
- data/test/dummy/tmp/cache/assets/D7C/C40/sprockets%2Fbc948d13a994b95d1f250eb7cdea1799 +0 -0
- data/test/dummy/tmp/cache/assets/D7C/FB0/sprockets%2Fe8f0b9a5d83e431c3d687b93bd59e34c +0 -0
- data/test/dummy/tmp/cache/assets/D7C/FD0/sprockets%2Fcd25fd762489e5a66a627b705a7fae8c +0 -0
- data/test/dummy/tmp/cache/assets/D7D/680/sprockets%2F70e6dd79d693fca593c6e42a42534fde +0 -0
- data/test/dummy/tmp/cache/assets/D7D/6B0/sprockets%2Fffb153cefdcc93107bb26ee973299377 +0 -0
- data/test/dummy/tmp/cache/assets/D7D/920/sprockets%2F0300aeaf0de1fa392f1025d1f258bb3c +0 -0
- data/test/dummy/tmp/cache/assets/D7D/B10/sprockets%2Fd9a65b96e6fabd9d045d957eb910c165 +0 -0
- data/test/dummy/tmp/cache/assets/D7D/B10/sprockets%2Fe2e97e13d5d14ac9f868a362ef7d50c7 +0 -0
- data/test/dummy/tmp/cache/assets/D7D/EA0/sprockets%2F538fa5b5f9fd9825a1c8f0ec03915ee6 +0 -0
- data/test/dummy/tmp/cache/assets/D7D/EB0/sprockets%2F14fa9ab07afd1b4052fd1aa23b143f61 +0 -0
- data/test/dummy/tmp/cache/assets/D7E/0B0/sprockets%2F643779cbba8d11c9e2eb528ffd5a4588 +0 -0
- data/test/dummy/tmp/cache/assets/D7E/0D0/sprockets%2Fab73d771fed0a1998e9fe9514ce645b2 +0 -0
- data/test/dummy/tmp/cache/assets/D7E/1A0/sprockets%2Fdf486db981c919371a42cc58caffd717 +0 -0
- data/test/dummy/tmp/cache/assets/D7E/2E0/sprockets%2Fc7778ea99de21bd0506ad2d88b7772ed +0 -0
- data/test/dummy/tmp/cache/assets/D7E/560/sprockets%2Fe54ec5189221ce385cdcd73eb9c3889a +0 -0
- data/test/dummy/tmp/cache/assets/D7E/850/sprockets%2Fdb6ad325585d3ff7b7d446575e17dd9a +0 -0
- data/test/dummy/tmp/cache/assets/D7E/D70/sprockets%2F91e9640cd916be3c33ecd97cf4376fe2 +0 -0
- data/test/dummy/tmp/cache/assets/D7E/E60/sprockets%2Fe9c9bfeabf98e3403ff02021c677a898 +0 -0
- data/test/dummy/tmp/cache/assets/D7F/080/sprockets%2F7511d57cb850c808dcda48e7bfb6e968 +0 -0
- data/test/dummy/tmp/cache/assets/D7F/5C0/sprockets%2Fdf992dbdcd26ad9963f461f9b570270e +0 -0
- data/test/dummy/tmp/cache/assets/D7F/A00/sprockets%2Fa938e14849c6af6006d4fd18e9f63deb +0 -0
- data/test/dummy/tmp/cache/assets/D7F/AB0/sprockets%2F3af0782e9feb5df9e522505fd783f54b +0 -0
- data/test/dummy/tmp/cache/assets/D7F/AC0/sprockets%2F29f29d0d2da6f272ca5dbf8826ed5787 +0 -0
- data/test/dummy/tmp/cache/assets/D7F/B50/sprockets%2F68870658f9d7af2ea3cd8ead3a4346f3 +0 -0
- data/test/dummy/tmp/cache/assets/D80/000/sprockets%2F77deac6031fb485e38f2ecf0f84677c7 +0 -0
- data/test/dummy/tmp/cache/assets/D80/100/sprockets%2F7659e9f48a711ecf468fc5c2e3d3a42f +0 -0
- data/test/dummy/tmp/cache/assets/D80/4A0/sprockets%2Fc0322f552fc7ddecd97889feaf544660 +0 -0
- data/test/dummy/tmp/cache/assets/D80/720/sprockets%2Fedc921d9f96f2b7d68b2312f0347d9ff +0 -0
- data/test/dummy/tmp/cache/assets/D80/730/sprockets%2F3f9f174f1045e0bddcf4ce3887596f7a +0 -0
- data/test/dummy/tmp/cache/assets/D80/A00/sprockets%2Fdcdd788a82dd3d594a7a95089372fec0 +0 -0
- data/test/dummy/tmp/cache/assets/D80/F00/sprockets%2F99f3e81bfe55e0a17f38598c4a4e7c0d +0 -0
- data/test/dummy/tmp/cache/assets/D80/FA0/sprockets%2F3ef6904ed431cff977ca415fd457ec75 +0 -0
- data/test/dummy/tmp/cache/assets/D81/200/sprockets%2Fcde5804f6925f2aa9d8f82bdb9e80960 +0 -0
- data/test/dummy/tmp/cache/assets/D81/3B0/sprockets%2Fe2694a510e4ee49c9c3682bd4c8e76ef +0 -0
- data/test/dummy/tmp/cache/assets/D81/A80/sprockets%2Fbeed9454c399e752c2bd365e58f8a4e1 +0 -0
- data/test/dummy/tmp/cache/assets/D82/510/sprockets%2Ffc2d84d9484e82de8bd3204edc4558d9 +0 -0
- data/test/dummy/tmp/cache/assets/D82/9C0/sprockets%2Fc5ffb04889e82819aeb546956da7ca5b +0 -0
- data/test/dummy/tmp/cache/assets/D82/B60/sprockets%2Feda7e9086b9d09ed40ccb598e8a20994 +0 -0
- data/test/dummy/tmp/cache/assets/D83/B30/sprockets%2F99bf9d4676359727ea4c7c91c71bbadc +0 -0
- data/test/dummy/tmp/cache/assets/D83/FD0/sprockets%2F0f6d83f8774197ccf51bcfa3b73887cd +0 -0
- data/test/dummy/tmp/cache/assets/D84/2E0/sprockets%2F65d3cce2c12c7ff8864738c338acff88 +0 -0
- data/test/dummy/tmp/cache/assets/D85/050/sprockets%2Fd5cf44ed1bc6b22a2da566f014181b0d +0 -0
- data/test/dummy/tmp/cache/assets/D85/3C0/sprockets%2F505849fee2f95e1c009dc56b859cff7b +0 -0
- data/test/dummy/tmp/cache/assets/D85/460/sprockets%2F9692ef5b8c5e2f3352659f6a64baff7b +0 -0
- data/test/dummy/tmp/cache/assets/D85/4F0/sprockets%2F0c5495b8ef9e647ac6b68efc85155f0e +0 -0
- data/test/dummy/tmp/cache/assets/D85/9A0/sprockets%2F8c7269a7c4a7f26474a48fafdaf7f943 +0 -0
- data/test/dummy/tmp/cache/assets/D86/6D0/sprockets%2Fdfcd0a634b6506b2339e7a13c160acdb +0 -0
- data/test/dummy/tmp/cache/assets/D86/8B0/sprockets%2Ff347b2ca9e265abe21b3eedda2325004 +0 -0
- data/test/dummy/tmp/cache/assets/D86/8D0/sprockets%2F01297d1e51cdfbcce40ca119a6af0291 +0 -0
- data/test/dummy/tmp/cache/assets/D86/A60/sprockets%2F8332efdcd639e759be83060dd8b8d59d +0 -0
- data/test/dummy/tmp/cache/assets/D87/470/sprockets%2F87dbc8969c4a3129ab6bc6d1599e7d7e +0 -0
- data/test/dummy/tmp/cache/assets/D87/6A0/sprockets%2F3024cda74ce7bdc0ba63109371bca58c +0 -0
- data/test/dummy/tmp/cache/assets/D87/CA0/sprockets%2F7acb8148c7874a46f4ae6f5f75c939ea +0 -0
- data/test/dummy/tmp/cache/assets/D87/DE0/sprockets%2F7bc000a5f5d8b65381a03a0c0eafc9a8 +0 -0
- data/test/dummy/tmp/cache/assets/D87/DE0/sprockets%2Fc5f4e0bb142bc8012baa649fe1b7804a +0 -0
- data/test/dummy/tmp/cache/assets/D88/6E0/sprockets%2F2d8c8f5d9e37f75a0a9b68b5cb9485e4 +0 -0
- data/test/dummy/tmp/cache/assets/D88/FF0/sprockets%2F3eef071767aaed7df6558367a9a94c8f +0 -0
- data/test/dummy/tmp/cache/assets/D89/800/sprockets%2Fdb9ee8f27df0f998275d5683d5fb07a2 +0 -0
- data/test/dummy/tmp/cache/assets/D89/A50/sprockets%2F41cb1394fafc7abb3bc2b4c2824647a1 +0 -0
- data/test/dummy/tmp/cache/assets/D89/DF0/sprockets%2Fb8ca8ddcdf983496f377059c08f04e6f +0 -0
- data/test/dummy/tmp/cache/assets/D8A/310/sprockets%2Fd0e01c2266c1b24db1bc158e2ad689ec +0 -0
- data/test/dummy/tmp/cache/assets/D8B/150/sprockets%2F4fd00aad1dc612897da021f51761cdde +0 -0
- data/test/dummy/tmp/cache/assets/D8B/600/sprockets%2F9eca92c03896a5795e29dae9549b4def +0 -0
- data/test/dummy/tmp/cache/assets/D8B/830/sprockets%2F8ac41fd80222d4c3fcea24c74e01c24f +0 -0
- data/test/dummy/tmp/cache/assets/D8B/F60/sprockets%2Fa9def494f7c9af6b76470759db7d75c0 +0 -0
- data/test/dummy/tmp/cache/assets/D8C/040/sprockets%2Faf41f9126938112fcfbb0aa0e1d4f35c +0 -0
- data/test/dummy/tmp/cache/assets/D8C/4A0/sprockets%2F6690479190c88cefdafc6fa781f93fe4 +0 -0
- data/test/dummy/tmp/cache/assets/D8C/730/sprockets%2Fee55e710a1ca60d3e1b16ce45fd72a80 +0 -0
- data/test/dummy/tmp/cache/assets/D8C/8D0/sprockets%2F86b26909aa44e265f9e7f7ddc89f3d7b +0 -0
- data/test/dummy/tmp/cache/assets/D8C/DF0/sprockets%2F9913ce78d96ec81886b1dc37dee17af8 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/190/sprockets%2F81a3e60dea0c6e6a27930ba0d4d557bc +0 -0
- data/test/dummy/tmp/cache/assets/D8D/1D0/sprockets%2F0106dd9cc3e02cfb7b7ea5a95a4a2561 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/1D0/sprockets%2F4a0deb3ad4d6092ff232e0b2d0787cb5 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/3D0/sprockets%2Fa8544ad386345d5602b5ecaebbea0f21 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/520/sprockets%2Fa63eeeb1e03332dbc79b344dc8ba2650 +0 -0
- data/test/dummy/tmp/cache/assets/D8D/690/sprockets%2Ff1c775ec217ba4a2a4826cd7a5c3a4b2 +0 -0
- data/test/dummy/tmp/cache/assets/D8E/050/sprockets%2Fa10db95bdc04a123f348f9c5b4b66fa1 +0 -0
- data/test/dummy/tmp/cache/assets/D8E/490/sprockets%2Fb3bbafaeec7ec0d139168652b6a30660 +0 -0
- data/test/dummy/tmp/cache/assets/D8E/5F0/sprockets%2F123b3f0aaa8ab1864ed5d6e29d2167ca +0 -0
- data/test/dummy/tmp/cache/assets/D8E/7D0/sprockets%2F3b423339b9a58aa6dc2d31c6a65ba7ca +0 -0
- data/test/dummy/tmp/cache/assets/D8E/8E0/sprockets%2Fb0085b1cac2fa3c4dd069337f6f3cb08 +0 -0
- data/test/dummy/tmp/cache/assets/D8F/880/sprockets%2F1aea781830ad62c59bfdb0105c2d7cb9 +0 -0
- data/test/dummy/tmp/cache/assets/D8F/880/sprockets%2F6142d4acf06317a0e6bd7eaedc630d74 +0 -0
- data/test/dummy/tmp/cache/assets/D8F/910/sprockets%2F7d5608304cdbab9a0268c0aeff125aa9 +0 -0
- data/test/dummy/tmp/cache/assets/D8F/950/sprockets%2F7e9bec4920660226bb1fbcca051ad4d8 +0 -0
- data/test/dummy/tmp/cache/assets/D90/240/sprockets%2Fcf46450118b8f3035dbdfe16d0eea3b3 +0 -0
- data/test/dummy/tmp/cache/assets/D90/980/sprockets%2F2f09c8074c7a0ae04c15ea39cb660fea +0 -0
- data/test/dummy/tmp/cache/assets/D90/9F0/sprockets%2Fde504d63ac1099d80ce9ce127cb21b2c +0 -0
- data/test/dummy/tmp/cache/assets/D90/C00/sprockets%2Fab691533f1127900c07c2debabd7ff5c +0 -0
- data/test/dummy/tmp/cache/assets/D90/D90/sprockets%2F04de7f181beb223838a0749abccc1d6a +0 -0
- data/test/dummy/tmp/cache/assets/D90/D90/sprockets%2Fd83620dddcc6284fa7a3cf29e1c0a232 +0 -0
- data/test/dummy/tmp/cache/assets/D91/8C0/sprockets%2F69a1d40bebf6a37342dd10ff2140ee9d +0 -0
- data/test/dummy/tmp/cache/assets/D91/B00/sprockets%2F0ef14a0b942c845028bae00ff7dcfb83 +0 -0
- data/test/dummy/tmp/cache/assets/D92/040/sprockets%2F0552b8b24c29c61b4d7c4ab1f348edea +0 -0
- data/test/dummy/tmp/cache/assets/D92/350/sprockets%2Fe4d921372a1656b3c0cbca2ff9a60ee5 +0 -0
- data/test/dummy/tmp/cache/assets/D92/6A0/sprockets%2F3f4a4fe919134a90fa8ebb33a58b40aa +0 -0
- data/test/dummy/tmp/cache/assets/D92/720/sprockets%2F5b4face0a381590dcceb7193e3343d2d +0 -0
- data/test/dummy/tmp/cache/assets/D92/890/sprockets%2F62fb2a4be25fd586be41b0dba2c49922 +0 -0
- data/test/dummy/tmp/cache/assets/D92/A70/sprockets%2F2bcbeb2844be03b4b7e8360c15f98b2a +0 -0
- data/test/dummy/tmp/cache/assets/D92/F40/sprockets%2Fed082888eb327fe45fef49d795af1f87 +0 -0
- data/test/dummy/tmp/cache/assets/D93/090/sprockets%2F156a2a85d3d5e762c16aefdd6fa2b313 +0 -0
- data/test/dummy/tmp/cache/assets/D93/5E0/sprockets%2Fbbf15a3789bac5f814c71ba5ca20e465 +0 -0
- data/test/dummy/tmp/cache/assets/D93/F00/sprockets%2F2ba869ab341ca37f23fad244dde2a279 +0 -0
- data/test/dummy/tmp/cache/assets/D94/2F0/sprockets%2Fa2c5fc3aeb5c324d627c470d5ec1646e +0 -0
- data/test/dummy/tmp/cache/assets/D94/890/sprockets%2F2b94cea2022c41c5dede8ae3e3b97281 +0 -0
- data/test/dummy/tmp/cache/assets/D94/CA0/sprockets%2F75e7eecfe153f1887f36dff6784fd159 +0 -0
- data/test/dummy/tmp/cache/assets/D94/DD0/sprockets%2F5daec387012d6ac7fa18308f72de0b6a +0 -0
- data/test/dummy/tmp/cache/assets/D95/520/sprockets%2F33bd6dfe5c00aa43d1ea876bb44a6578 +0 -0
- data/test/dummy/tmp/cache/assets/D95/740/sprockets%2Fcd50ae7710f3d5fe0a830bc9eec26039 +0 -0
- data/test/dummy/tmp/cache/assets/D95/C60/sprockets%2F29af5d21e0bd908bd45226fa3de9ec11 +0 -0
- data/test/dummy/tmp/cache/assets/D96/240/sprockets%2F86a05986a3bad6ea7fd18ce16c2b0b42 +0 -0
- data/test/dummy/tmp/cache/assets/D96/240/sprockets%2Fff9b4efbe49d65b80d2d121640aa840a +0 -0
- data/test/dummy/tmp/cache/assets/D96/580/sprockets%2F6fcae2137e71a0b9ad0c6ce48740be29 +0 -0
- data/test/dummy/tmp/cache/assets/D96/5B0/sprockets%2Fbce441e010b4da916725de2ede99e1a6 +0 -0
- data/test/dummy/tmp/cache/assets/D96/780/sprockets%2F3bcb836f508c1b30f559ab5bdc3f344e +0 -0
- data/test/dummy/tmp/cache/assets/D96/9A0/sprockets%2Fec9907bade1891db6bc20180a843cec3 +0 -0
- data/test/dummy/tmp/cache/assets/D96/B40/sprockets%2F90a85be6000c45257cc63dec8c1bcf8b +0 -0
- data/test/dummy/tmp/cache/assets/D96/BD0/sprockets%2Febabcba3d82ef0278f9402ba24f29950 +0 -0
- data/test/dummy/tmp/cache/assets/D96/E80/sprockets%2Fbd9f655dd12709f8b5aadfa16b0f0720 +0 -0
- data/test/dummy/tmp/cache/assets/D96/EE0/sprockets%2Fdaf746b24a37f32faf161e018f93ca4c +0 -0
- data/test/dummy/tmp/cache/assets/D97/150/sprockets%2F50048750bbbe1bb32fe83a8a6f9cd52f +0 -0
- data/test/dummy/tmp/cache/assets/D97/3D0/sprockets%2F44b63b15cae4c6f7d5b04ed3754f41be +0 -0
- data/test/dummy/tmp/cache/assets/D97/420/sprockets%2F8e834e0e5c0fd8de55d5a45200ad91ac +0 -0
- data/test/dummy/tmp/cache/assets/D97/520/sprockets%2Fbfb270b07453b284dca3ecdb95ca7179 +0 -0
- data/test/dummy/tmp/cache/assets/D97/680/sprockets%2F45bdc5ddcb2f81c449e13a775b2bc651 +0 -0
- data/test/dummy/tmp/cache/assets/D97/8E0/sprockets%2F00fa20f763bafd6ae82c8f3d1c70d774 +0 -0
- data/test/dummy/tmp/cache/assets/D97/A10/sprockets%2Ff1fe3b6160ec3da42f287aed3d3235c9 +0 -0
- data/test/dummy/tmp/cache/assets/D97/C80/sprockets%2F5e0eb6a40b9b9d214d8cb3935c8dad41 +0 -0
- data/test/dummy/tmp/cache/assets/D97/F90/sprockets%2F4ed9ede531aa0b2b7ae19ec6a6783530 +0 -0
- data/test/dummy/tmp/cache/assets/D98/0E0/sprockets%2Fde97f1af4c83632e5a03dc3043c8b5af +0 -0
- data/test/dummy/tmp/cache/assets/D98/620/sprockets%2F4739cf0d47eb5ca845b2e43bfc7d0c21 +0 -0
- data/test/dummy/tmp/cache/assets/D98/6E0/sprockets%2F05b7f7fbcaf3804c457ae14c0bb285c9 +0 -0
- data/test/dummy/tmp/cache/assets/D98/A50/sprockets%2F0523ed18a9ed1f98e35ba5f38c1fab20 +0 -0
- data/test/dummy/tmp/cache/assets/D98/E50/sprockets%2Faef92317051bbb1338e0ffd234d99daf +0 -0
- data/test/dummy/tmp/cache/assets/D99/270/sprockets%2Fb6e2851b3cb1de64b763a733fb2d73df +0 -0
- data/test/dummy/tmp/cache/assets/D99/3B0/sprockets%2Ff16c9f0ce8f0ad8036433b8ddc30fe41 +0 -0
- data/test/dummy/tmp/cache/assets/D99/540/sprockets%2F54daaf4bbbfb679b5175a258f0580c5a +0 -0
- data/test/dummy/tmp/cache/assets/D99/550/sprockets%2F4f1ced696bba05434d705a9e16bbf34e +0 -0
- data/test/dummy/tmp/cache/assets/D99/9F0/sprockets%2Fa0d4d37b20b6df5f06092917eb7febe3 +0 -0
- data/test/dummy/tmp/cache/assets/D99/B80/sprockets%2F51f06ed4d0554dd5b308a8a70fc7dad8 +0 -0
- data/test/dummy/tmp/cache/assets/D9A/CD0/sprockets%2F8de942d2fae072b4bda81e0f0570d95d +0 -0
- data/test/dummy/tmp/cache/assets/D9B/500/sprockets%2F19629c0bef01845ebb045a81d7cfe6dc +0 -0
- data/test/dummy/tmp/cache/assets/D9B/830/sprockets%2Fb6c854eff56bcf61aa456259233c2aea +0 -0
- data/test/dummy/tmp/cache/assets/D9B/890/sprockets%2F5fbe783dc1df2d081a95b1fea3700a89 +0 -0
- data/test/dummy/tmp/cache/assets/D9B/C30/sprockets%2F16ae5460a9ba6ac7d19afd0c50f953d9 +0 -0
- data/test/dummy/tmp/cache/assets/D9B/D60/sprockets%2Fcfedc7bc416b3291dcb16761509eb8d3 +0 -0
- data/test/dummy/tmp/cache/assets/D9B/D80/sprockets%2Faba1c493f2a8d60f352727aedf4b557e +0 -0
- data/test/dummy/tmp/cache/assets/D9B/EB0/sprockets%2Fbccb6fe3223846961bdabb25a4095fe8 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/230/sprockets%2F5126f140ae32b9557afd23d7f8cbdbc9 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/3B0/sprockets%2F753bd274643e017fee5cbe0ec9ee04d2 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/830/sprockets%2F262d680e9978a830c4b9db0ccac64cba +0 -0
- data/test/dummy/tmp/cache/assets/D9C/920/sprockets%2F8fdd5d884c80b3ff0b5e63ccc0453e11 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/A00/sprockets%2F693526f5730d6efccbae008e0c348fca +0 -0
- data/test/dummy/tmp/cache/assets/D9C/CA0/sprockets%2F38552a482bd034bdebb8dafe16b8e448 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/CA0/sprockets%2F81e4c6aa40ffcb2dd9a756391fac5660 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/E60/sprockets%2Fec59dcd3aa8d87bf031a0cf41a084995 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/F80/sprockets%2F92177152ae69fdafa3d0446ebb7ac71f +0 -0
- data/test/dummy/tmp/cache/assets/D9D/240/sprockets%2Fabd46ee901845237db0ead67fce673d0 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/450/sprockets%2Fcc373a7814f46e9e68d3cb8ab0ec6a20 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/660/sprockets%2F72b3ef3c70cb276766e5fb2d2bff2e14 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/700/sprockets%2F7843bf281aaa9b81391767dbb3fabca8 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/940/sprockets%2Fafb8efc8d08a26c3335ff3640db8b074 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/D20/sprockets%2F8905ebdedf20eb708ab7c2445b3833df +0 -0
- data/test/dummy/tmp/cache/assets/D9D/DF0/sprockets%2F14d420aaa32413baa042bddcad2811ee +0 -0
- data/test/dummy/tmp/cache/assets/D9D/E00/sprockets%2F62f7d32b35fb23cc6360fbedd75c6e17 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/E10/sprockets%2F75f56ca3a7a4b2b2e57ea289ec91a62c +0 -0
- data/test/dummy/tmp/cache/assets/D9D/ED0/sprockets%2F823cdb7734aa042f363e8befdbc8367a +0 -0
- data/test/dummy/tmp/cache/assets/D9D/ED0/sprockets%2Ff6d62e6a1bf51a917bed5a28184e53fa +0 -0
- data/test/dummy/tmp/cache/assets/D9E/190/sprockets%2F2ee4d943af5dd25b6a9cf42a4f4d6306 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/5E0/sprockets%2F468b16b0cb34e9d09ac36ff74180bcff +0 -0
- data/test/dummy/tmp/cache/assets/D9E/690/sprockets%2F68ab8c1d75a9b4a2ae4b123e77be99c1 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/750/sprockets%2F3ab32a9aab15487d6b9be355c37dfe92 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/7A0/sprockets%2Fb11b94cd6be9b556afbc550e1438e9b5 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/280/sprockets%2F35ad5fcec037a9fcdf43a55c925a9730 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/680/sprockets%2Fedd2d4c5656b3b159d6eb04bef0289a7 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/6B0/sprockets%2Fc8fc14cce588a0bb6514e68c43d15b6f +0 -0
- data/test/dummy/tmp/cache/assets/D9F/6E0/sprockets%2Fbb0a236a70758a95bbcb8e66e588c2cd +0 -0
- data/test/dummy/tmp/cache/assets/D9F/700/sprockets%2F2588f3481ab1859aff3cbc0e9dd0c2d5 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/790/sprockets%2F4d9649c0c0fdecf285b30fa1474b59db +0 -0
- data/test/dummy/tmp/cache/assets/D9F/9C0/sprockets%2Fffc7d816802d6a5085e5b3e3f93bb4aa +0 -0
- data/test/dummy/tmp/cache/assets/D9F/A40/sprockets%2Fda603c8efc43cd83b238627eebf591c1 +0 -0
- data/test/dummy/tmp/cache/assets/DA0/120/sprockets%2F1dae5fb238ce54be6de6f83f3c302628 +0 -0
- data/test/dummy/tmp/cache/assets/DA0/2C0/sprockets%2Fc509492337bcf5c07fd36f1d55ccc4fb +0 -0
- data/test/dummy/tmp/cache/assets/DA0/6A0/sprockets%2F64ef7b9a2cab3451d2256c5be08fb7f8 +0 -0
- data/test/dummy/tmp/cache/assets/DA0/730/sprockets%2F06dc5952fd6bd4577e9ea2b800cc3b5e +0 -0
- data/test/dummy/tmp/cache/assets/DA0/AF0/sprockets%2Ffd5bb98b534294f62b14ee8cd1b0e29b +0 -0
- data/test/dummy/tmp/cache/assets/DA1/330/sprockets%2Fc31e85029f1c94c22757fffa32e7abfc +0 -0
- data/test/dummy/tmp/cache/assets/DA1/480/sprockets%2Fe751abde7804d66263e93ee7e1bbf03d +0 -0
- data/test/dummy/tmp/cache/assets/DA1/4C0/sprockets%2Fe2f4888fb4302a6bfe7f729ccb074aa3 +0 -0
- data/test/dummy/tmp/cache/assets/DA1/4E0/sprockets%2F25ee9aeeca7f9706b117dae5f79152a0 +0 -0
- data/test/dummy/tmp/cache/assets/DA1/620/sprockets%2Ff46117893705b0f59fae35babd8cc1ee +0 -0
- data/test/dummy/tmp/cache/assets/DA1/AC0/sprockets%2Fd0938e403e53c41dd397bebfc38c3ae8 +0 -0
- data/test/dummy/tmp/cache/assets/DA1/BE0/sprockets%2F4571a9660eeadd8a7dbc0977b0ddb564 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/210/sprockets%2Fcf1005ebeb968dc1a3ecd75b93391c79 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/250/sprockets%2Fd07b798cc1eda20971c7f55c843eeea1 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/4A0/sprockets%2F670f4ee452da78be3f04a9a2b13f76ff +0 -0
- data/test/dummy/tmp/cache/assets/DA2/720/sprockets%2F5839bafde83c10bce89de12e12f884c0 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/900/sprockets%2F1cbafbc425d5ab9ea9052687c35a98f6 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/990/sprockets%2F41dbab3891e458ea9da2ee49acd08295 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/A00/sprockets%2Fbba663f59b4fb86f900bd856bfcb5125 +0 -0
- data/test/dummy/tmp/cache/assets/DA2/C20/sprockets%2Fd1af091c8ebf55de949cfb5b431167e2 +0 -0
- data/test/dummy/tmp/cache/assets/DA3/310/sprockets%2F81215b7f845fbe20efd6db7f15c1dc77 +0 -0
- data/test/dummy/tmp/cache/assets/DA3/7B0/sprockets%2Fb20f9d42c879feea70b12b6fe9a7443c +0 -0
- data/test/dummy/tmp/cache/assets/DA3/BE0/sprockets%2F77794cc60c4f48ea4b38e1f3cfbee230 +0 -0
- data/test/dummy/tmp/cache/assets/DA4/160/sprockets%2Fa219e9635b17ec93e0bc88fe03aae4f8 +0 -0
- data/test/dummy/tmp/cache/assets/DA4/210/sprockets%2Fe226ea6c238496afd62bb59d6b93af2d +0 -0
- data/test/dummy/tmp/cache/assets/DA4/440/sprockets%2Ff72d59f3ce546ce02fedb09f6423cc71 +0 -0
- data/test/dummy/tmp/cache/assets/DA4/570/sprockets%2F9cb40f555575a9ebc3df1fc70ff350a9 +0 -0
- data/test/dummy/tmp/cache/assets/DA4/7D0/sprockets%2Ff785329b1ea2cd8b6aecafb93316892c +0 -0
- data/test/dummy/tmp/cache/assets/DA4/E60/sprockets%2F9cc625acbeceed27b29b6240774f564e +0 -0
- data/test/dummy/tmp/cache/assets/DA5/4E0/sprockets%2F7ee781cfeeb8b125b6449b27ace16a84 +0 -0
- data/test/dummy/tmp/cache/assets/DA5/670/sprockets%2Faf276cef126bb7e149702ae3e4d9ed49 +0 -0
- data/test/dummy/tmp/cache/assets/DA5/7D0/sprockets%2F9e21aaec784efd03d75b6260c838f9ca +0 -0
- data/test/dummy/tmp/cache/assets/DA5/850/sprockets%2Fd349efeb6bc4a914c6c961bea4f56408 +0 -0
- data/test/dummy/tmp/cache/assets/DA5/B00/sprockets%2F9a65bfffad606825b2df851d823b77ba +0 -0
- data/test/dummy/tmp/cache/assets/DA5/D50/sprockets%2F506747a2fdb15aacde9e38e4398f3a5d +0 -0
- data/test/dummy/tmp/cache/assets/DA6/AF0/sprockets%2F6e8c46cad9893b1bd8af6e35130dee26 +0 -0
- data/test/dummy/tmp/cache/assets/DA6/B40/sprockets%2Fb8d0ca6785a2c51f875de5ebf5e760b4 +0 -0
- data/test/dummy/tmp/cache/assets/DA6/E70/sprockets%2F9b696267509c0edcbd4d5fe5b39da42b +0 -0
- data/test/dummy/tmp/cache/assets/DA6/FC0/sprockets%2Fa9a778bdcdfa61b7a896175bece25271 +0 -0
- data/test/dummy/tmp/cache/assets/DA7/180/sprockets%2Fd73e504186ef5af78cdf7c24cfc3f620 +0 -0
- data/test/dummy/tmp/cache/assets/DA7/2E0/sprockets%2F4ad87d35f9e6da4d35a39e9d503cc1a9 +0 -0
- data/test/dummy/tmp/cache/assets/DA7/670/sprockets%2F7b1860c85ed37bbedb85689652dae2bb +0 -0
- data/test/dummy/tmp/cache/assets/DA7/690/sprockets%2Fc49a7fa0c7dc57f03aa9f4fdb3994291 +0 -0
- data/test/dummy/tmp/cache/assets/DA7/E80/sprockets%2Fa0227f61714ce886a5ee8c2dafed6e75 +0 -0
- data/test/dummy/tmp/cache/assets/DA7/EC0/sprockets%2Fb6fb402b414a93e9155ff708edbf99ea +0 -0
- data/test/dummy/tmp/cache/assets/DA8/670/sprockets%2F7fa8cffb6c3f4080dc45367eb638b80e +0 -0
- data/test/dummy/tmp/cache/assets/DA8/7A0/sprockets%2Febee8835fef38639b31ed381026aeb4f +0 -0
- data/test/dummy/tmp/cache/assets/DA8/9D0/sprockets%2Fcae25fa34b675c9c4c476bcc58e73c57 +0 -0
- data/test/dummy/tmp/cache/assets/DA8/B70/sprockets%2F3ddd853d4c7253dc5ab53748cc7e4f5f +0 -0
- data/test/dummy/tmp/cache/assets/DA9/0F0/sprockets%2Fc5ee1745b2af4a8400b8ffd943e89cf5 +0 -0
- data/test/dummy/tmp/cache/assets/DA9/520/sprockets%2Feb3fb449864678a9bf1b81fd651aa4fc +0 -0
- data/test/dummy/tmp/cache/assets/DA9/6C0/sprockets%2Fcab86eb3c55f4cec292978700c79bfb4 +0 -0
- data/test/dummy/tmp/cache/assets/DA9/6C0/sprockets%2Fff22f389eaabe920d9917593f53d0add +0 -0
- data/test/dummy/tmp/cache/assets/DA9/B10/sprockets%2Feee74b1f0ee7c04ce8a936a84634f9b4 +0 -0
- data/test/dummy/tmp/cache/assets/DA9/B50/sprockets%2F33bf06585f1ea78e692c673fbd5fddc0 +0 -0
- data/test/dummy/tmp/cache/assets/DAA/3C0/sprockets%2Fd98d9a4aacaf34f7c2c80215ee96a588 +0 -0
- data/test/dummy/tmp/cache/assets/DAA/A70/sprockets%2Ff91185ef25f2a8cc36a7ec6f9f6114fa +0 -0
- data/test/dummy/tmp/cache/assets/DAA/AC0/sprockets%2F3c3b0b95fdbaa97909ef9294cb5465dc +0 -0
- data/test/dummy/tmp/cache/assets/DAA/D30/sprockets%2Fba92440f66d3ab82ccfcd4f86e899a16 +0 -0
- data/test/dummy/tmp/cache/assets/DAA/FD0/sprockets%2Fed079f328d7bec564dc4ce6c43792dd1 +0 -0
- data/test/dummy/tmp/cache/assets/DAB/300/sprockets%2Fe822e0c7ed2416485de1f78ded67ed0f +0 -0
- data/test/dummy/tmp/cache/assets/DAB/5A0/sprockets%2F567452effadda63e1508f90dbbd749d8 +0 -0
- data/test/dummy/tmp/cache/assets/DAB/6A0/sprockets%2F12f3e9f27333f32b79e8bc767becabe8 +0 -0
- data/test/dummy/tmp/cache/assets/DAB/B40/sprockets%2Fe7a1c88beb7a5f83f45fb0e891d7238a +0 -0
- data/test/dummy/tmp/cache/assets/DAC/C10/sprockets%2Fcaf97fa0f6dc423148fc81fcc9a95745 +0 -0
- data/test/dummy/tmp/cache/assets/DAC/F40/sprockets%2F3fe1cc6f892dead945802da28ef59e05 +0 -0
- data/test/dummy/tmp/cache/assets/DAD/170/sprockets%2F33a1add4ee0283afc041dc1f00089bbc +0 -0
- data/test/dummy/tmp/cache/assets/DAD/970/sprockets%2Ff79fae2ac5d828366ed1bf9c37c90a19 +0 -0
- data/test/dummy/tmp/cache/assets/DAD/C30/sprockets%2Fc367fd7fbb14376f138cb80c5e8dfd84 +0 -0
- data/test/dummy/tmp/cache/assets/DAD/D40/sprockets%2F6d8bbc6aa4f33f5a67f0890b89a8da96 +0 -0
- data/test/dummy/tmp/cache/assets/DAE/8E0/sprockets%2Faee3dc2a887eeee336ef1893818372bd +0 -0
- data/test/dummy/tmp/cache/assets/DAE/EC0/sprockets%2F709cc8de3d84dd37b9f9890b46ba2ec2 +0 -0
- data/test/dummy/tmp/cache/assets/DAE/F00/sprockets%2F872b872dfa0f87e987bff32f5a1a54be +0 -0
- data/test/dummy/tmp/cache/assets/DAF/0B0/sprockets%2F127d0c8a454b2b959c5effcc6ff7d829 +0 -0
- data/test/dummy/tmp/cache/assets/DAF/250/sprockets%2Fbea10954ca85a6d397d894df6c8b8ed2 +0 -0
- data/test/dummy/tmp/cache/assets/DAF/790/sprockets%2F87f6dce871aee8d0ae1345c1dd799b56 +0 -0
- data/test/dummy/tmp/cache/assets/DB0/5E0/sprockets%2F111dcb8dd1015bcb905d15ca50d5ef3b +0 -0
- data/test/dummy/tmp/cache/assets/DB0/960/sprockets%2Fdca36b7d8f8dc27d38094987cf2aae55 +0 -0
- data/test/dummy/tmp/cache/assets/DB0/D90/sprockets%2Fc73eda334eac400b1cc12732b90dde0f +0 -0
- data/test/dummy/tmp/cache/assets/DB1/010/sprockets%2Fe4b277e9d34f824ce15c697ff7d1aca9 +0 -0
- data/test/dummy/tmp/cache/assets/DB2/A30/sprockets%2Fdf6f888ba2c274b3982978dc7b30dbfd +0 -0
- data/test/dummy/tmp/cache/assets/DB2/FF0/sprockets%2F42d355fbbe8da4ff9d9c27695194dc5c +0 -0
- data/test/dummy/tmp/cache/assets/DB3/2B0/sprockets%2F89f4a28a5f96c6c9dd5043abe7c5ed85 +0 -0
- data/test/dummy/tmp/cache/assets/DB3/2E0/sprockets%2F67b0e900efa0080eaa416eb03cd2db8c +0 -0
- data/test/dummy/tmp/cache/assets/DB3/3A0/sprockets%2F0fec5ca6626996faa5b0d6569fc98e5c +0 -0
- data/test/dummy/tmp/cache/assets/DB3/3F0/sprockets%2F8b3975e48c4b9ca4685fbd9d0ca595eb +0 -0
- data/test/dummy/tmp/cache/assets/DB3/400/sprockets%2Fb34576fbf3a08f9e99aed924aa68b79a +0 -0
- data/test/dummy/tmp/cache/assets/DB3/560/sprockets%2F09265ecfe8875619e47c3f4deda73cdc +0 -0
- data/test/dummy/tmp/cache/assets/DB3/9C0/sprockets%2Ff15f826b5db25c2055ce9dff84898eeb +0 -0
- data/test/dummy/tmp/cache/assets/DB3/B20/sprockets%2F2c83285ff94ab2f4a688c71eafffa399 +0 -0
- data/test/dummy/tmp/cache/assets/DB4/4F0/sprockets%2F296e2f64ef5c7fe29d69fbac5cb29714 +0 -0
- data/test/dummy/tmp/cache/assets/DB4/5A0/sprockets%2Ff6c4c504c300bcf2baa95ca8923dcb10 +0 -0
- data/test/dummy/tmp/cache/assets/DB4/670/sprockets%2F2b5f4f8f5ad218e9ec53f9fde943254e +0 -0
- data/test/dummy/tmp/cache/assets/DB4/730/sprockets%2F22a0f9985f2ee491b998e9a3dfbbb7c6 +0 -0
- data/test/dummy/tmp/cache/assets/DB4/A70/sprockets%2F11aaa7b192ebb5a461e5bed0138e4a7b +0 -0
- data/test/dummy/tmp/cache/assets/DB4/F60/sprockets%2F60712b2ed0cb5fc6cb6442fae3cd203b +0 -0
- data/test/dummy/tmp/cache/assets/DB5/460/sprockets%2Fd2eaa3b6abf0aded1e25055b303b9691 +0 -0
- data/test/dummy/tmp/cache/assets/DB5/F30/sprockets%2Fd5925f7c79df0ad0e8d956eed84483ab +0 -0
- data/test/dummy/tmp/cache/assets/DB6/320/sprockets%2Fe559edb9cc5663f6d55937a68eb4d4bc +0 -0
- data/test/dummy/tmp/cache/assets/DB6/860/sprockets%2F1081c1eb464dd58cacda381baed4b314 +0 -0
- data/test/dummy/tmp/cache/assets/DB6/AB0/sprockets%2F3e996efd32efb4a9e4d66b63ee960e90 +0 -0
- data/test/dummy/tmp/cache/assets/DB6/DF0/sprockets%2Ff660ad1581acfc05d77bd33fa14bb1a2 +0 -0
- data/test/dummy/tmp/cache/assets/DB7/BB0/sprockets%2Fde6bb518e6ea4e2e15095c2ba0f01ba3 +0 -0
- data/test/dummy/tmp/cache/assets/DB7/D70/sprockets%2F4f4fff578c1ce749a4765f8a896aa4ca +0 -0
- data/test/dummy/tmp/cache/assets/DB8/2C0/sprockets%2F9e22b0c5e3ecd370519aa5bf003bdaa9 +0 -0
- data/test/dummy/tmp/cache/assets/DB9/3C0/sprockets%2Fdba147ede0e572d80d29cf00bc52c2c1 +0 -0
- data/test/dummy/tmp/cache/assets/DB9/430/sprockets%2F6f49fd89105cc57e75ce798e62a9aaeb +0 -0
- data/test/dummy/tmp/cache/assets/DB9/990/sprockets%2F2b66d14fe1dcac5ca8f422b112af50e7 +0 -0
- data/test/dummy/tmp/cache/assets/DB9/9A0/sprockets%2F24cedfba35e2cda224264eda76d120a8 +0 -0
- data/test/dummy/tmp/cache/assets/DB9/BC0/sprockets%2F48ba40ced57f11b12ceae162c9bef050 +0 -0
- data/test/dummy/tmp/cache/assets/DBA/3B0/sprockets%2Ffd06bc030bc3ae7a13682ad3ce3e37f4 +0 -0
- data/test/dummy/tmp/cache/assets/DBA/E30/sprockets%2F6542cedc93fecba4076b31ea1221aae7 +0 -0
- data/test/dummy/tmp/cache/assets/DBB/3C0/sprockets%2Fa56fb241a0612acb8b6b88ae23c6ce5a +0 -0
- data/test/dummy/tmp/cache/assets/DBB/450/sprockets%2F4d412bacafeebff011918e21e201de68 +0 -0
- data/test/dummy/tmp/cache/assets/DBB/950/sprockets%2Fbb3a309979ecb4dbf669f6fe2778e5c7 +0 -0
- data/test/dummy/tmp/cache/assets/DBB/B70/sprockets%2Fd1997fbb98dd249b8586fe8e127bc4af +0 -0
- data/test/dummy/tmp/cache/assets/DBB/FF0/sprockets%2F071723b7dec01ca21f5d72c4d7b3cfea +0 -0
- data/test/dummy/tmp/cache/assets/DBC/A70/sprockets%2F0f7da71f1d2e23fc55bc2441e0efa41f +0 -0
- data/test/dummy/tmp/cache/assets/DBC/C20/sprockets%2Ffb9d59e753f1e696fc861e74a6cf0d6f +0 -0
- data/test/dummy/tmp/cache/assets/DBC/D60/sprockets%2Fa5d629edbdaa0ee111fe4170093a6de4 +0 -0
- data/test/dummy/tmp/cache/assets/DBC/FD0/sprockets%2Fcb32366dc0b2c1f2a69ebe48dbb139c0 +0 -0
- data/test/dummy/tmp/cache/assets/DBC/FE0/sprockets%2Fe78f2cc2dd0bd01854bf2bb3bd1e0276 +0 -0
- data/test/dummy/tmp/cache/assets/DBD/040/sprockets%2Fbab3c9aeedf12b684be7a100458ad308 +0 -0
- data/test/dummy/tmp/cache/assets/DBD/3E0/sprockets%2Fdee13da1110dd9fafe3495e91da40d03 +0 -0
- data/test/dummy/tmp/cache/assets/DBD/B10/sprockets%2Ff56450f3fc25ab33ef1114be384acafb +0 -0
- data/test/dummy/tmp/cache/assets/DBD/C00/sprockets%2Fc10a55b9aebe3ad6d5730d08c029bb7d +0 -0
- data/test/dummy/tmp/cache/assets/DBD/DF0/sprockets%2F687f97d06e7aab4e768668ffbe5f2f0d +0 -0
- data/test/dummy/tmp/cache/assets/DBE/150/sprockets%2F2b5bf9bf22a03d0919cf1bab468a8a2d +0 -0
- data/test/dummy/tmp/cache/assets/DBE/2C0/sprockets%2F551e2bb3e1bc603f1d8e829b24bf4ada +0 -0
- data/test/dummy/tmp/cache/assets/DBE/3F0/sprockets%2F98ba39074d64ed3c3d0ab1a8adc3f13a +0 -0
- data/test/dummy/tmp/cache/assets/DBE/880/sprockets%2F90cda2c525af06a2df3314ff03fe8e0d +0 -0
- data/test/dummy/tmp/cache/assets/DBE/EB0/sprockets%2F472ff473ee0da1ca1f0ab06578b38bca +0 -0
- data/test/dummy/tmp/cache/assets/DBE/EF0/sprockets%2Fab6106e1a9bb5bcda65cb06d8e9801c3 +0 -0
- data/test/dummy/tmp/cache/assets/DBF/060/sprockets%2Ff0805abfb20e90ee57bc466cab5cb514 +0 -0
- data/test/dummy/tmp/cache/assets/DBF/290/sprockets%2F8acf830eb40f48cfb303c151edb4b25f +0 -0
- data/test/dummy/tmp/cache/assets/DBF/A50/sprockets%2Fb61db5cd1576d6aacf374dbcd02a8217 +0 -0
- data/test/dummy/tmp/cache/assets/DBF/B00/sprockets%2Fec730ac85ab0e8ccfaf212b57b083f07 +0 -0
- data/test/dummy/tmp/cache/assets/DC0/1A0/sprockets%2Fc9de417a45eea1220205b4ecdc5e7d7a +0 -0
- data/test/dummy/tmp/cache/assets/DC0/8A0/sprockets%2F923f5de8d5a0de54dec61b9002cdad11 +0 -0
- data/test/dummy/tmp/cache/assets/DC0/A30/sprockets%2F2e07ac4a2323f9fca40c5defbc8a6317 +0 -0
- data/test/dummy/tmp/cache/assets/DC0/D50/sprockets%2Fa097614dbabbcbf1b8cd36b662d64c24 +0 -0
- data/test/dummy/tmp/cache/assets/DC0/E00/sprockets%2Ffc5fa9a7e991958a6576b725fdbdcc89 +0 -0
- data/test/dummy/tmp/cache/assets/DC0/F50/sprockets%2Fcec2b1e1bda6d7a4b0ef3a381837f930 +0 -0
- data/test/dummy/tmp/cache/assets/DC1/610/sprockets%2Fec13df1137f894b0c53bdbb8751abaa7 +0 -0
- data/test/dummy/tmp/cache/assets/DC2/120/sprockets%2Fec38aced45c12d13f8c60e0b4dc36d45 +0 -0
- data/test/dummy/tmp/cache/assets/DC2/330/sprockets%2Fbd56a181b5c2e63215f0b46acc9fdd3e +0 -0
- data/test/dummy/tmp/cache/assets/DC2/4A0/sprockets%2Fbb9ede156dcc1c81616c9a4fa033ee03 +0 -0
- data/test/dummy/tmp/cache/assets/DC2/940/sprockets%2F8d48c857f51edc4c3c0fd1a0cf0514ab +0 -0
- data/test/dummy/tmp/cache/assets/DC2/C00/sprockets%2Fa12e90d33a80cdc4ffe1f2ea012689cf +0 -0
- data/test/dummy/tmp/cache/assets/DC3/160/sprockets%2F129f0ad08b545cfedaf5ab12c5059de5 +0 -0
- data/test/dummy/tmp/cache/assets/DC3/530/sprockets%2F757efdc940de1fa101dda5fb836140bd +0 -0
- data/test/dummy/tmp/cache/assets/DC3/5C0/sprockets%2F555de405a7c6e58ba794dbf1d01b4aba +0 -0
- data/test/dummy/tmp/cache/assets/DC3/D20/sprockets%2Fcb4fb9601f3ed45b1a50ed39ee614a2e +0 -0
- data/test/dummy/tmp/cache/assets/DC3/D20/sprockets%2Ff2e1a2c5129bce4971a7af2c0eeae546 +0 -0
- data/test/dummy/tmp/cache/assets/DC3/FA0/sprockets%2Fd25ccfdee31d877151b24a9dab2a90b6 +0 -0
- data/test/dummy/tmp/cache/assets/DC4/310/sprockets%2Feb91f4262ece3b0f3cc25e48fd254ab2 +0 -0
- data/test/dummy/tmp/cache/assets/DC4/A20/sprockets%2Fb9ca8fae522bc3346e01cce6a5c1974b +0 -0
- data/test/dummy/tmp/cache/assets/DC4/E50/sprockets%2F8de30090e0349c483201dcf3dfddecdc +0 -0
- data/test/dummy/tmp/cache/assets/DC6/BB0/sprockets%2Fc650cd342bf1d6306bf614ebcebe56f6 +0 -0
- data/test/dummy/tmp/cache/assets/DC6/CA0/sprockets%2Fdc3aa6f23c59d97b11825af4ef3c0a3e +0 -0
- data/test/dummy/tmp/cache/assets/DC6/F20/sprockets%2F472c8761d34a4a0af40eebf8b9d6b0af +0 -0
- data/test/dummy/tmp/cache/assets/DC7/280/sprockets%2F270ea0cbdfd05cc48eff704780066cdd +0 -0
- data/test/dummy/tmp/cache/assets/DC7/780/sprockets%2Fc21ca53b58d0e0754def4bfefa7a5076 +0 -0
- data/test/dummy/tmp/cache/assets/DC7/7D0/sprockets%2F69e6da13074b1135afe6ff8cadd2be15 +0 -0
- data/test/dummy/tmp/cache/assets/DC7/8F0/sprockets%2Fc7f71dae2d71a0dec9ceb9237f16124b +0 -0
- data/test/dummy/tmp/cache/assets/DC7/BC0/sprockets%2Fa6b9f243219b55edccdc362a64cb4ed4 +0 -0
- data/test/dummy/tmp/cache/assets/DC7/EE0/sprockets%2Fbcfa5f1dd43080040d9f06cddf0d95c9 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/3A0/sprockets%2F0a82147fab265bfcb884f782beafc0b4 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/410/sprockets%2Fcddde980ab9e710d80161e09fa3dba92 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/4D0/sprockets%2Fda2a6be6764d1e4fbfbd95e8d821111a +0 -0
- data/test/dummy/tmp/cache/assets/DC8/590/sprockets%2F804613cab66aacfd4fae5f0ea275692e +0 -0
- data/test/dummy/tmp/cache/assets/DC8/670/sprockets%2F47b5310b4dbf58b2b8dcd6ba98c05db6 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/9E0/sprockets%2F0fad3b3f1ed38ea3041c6f6f382c79da +0 -0
- data/test/dummy/tmp/cache/assets/DC8/B00/sprockets%2F6f814a096f8ae113dbede4cdf243fb31 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/D80/sprockets%2Ff4236d1b64f8ea9ebc1a1aea0d596b38 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/E20/sprockets%2F3a5db4f8c6a4749fd24a05f1e062eebc +0 -0
- data/test/dummy/tmp/cache/assets/DC8/FF0/sprockets%2F10f2f3fdbf1f2a8c0cac8d6394cf8207 +0 -0
- data/test/dummy/tmp/cache/assets/DC9/3C0/sprockets%2F7c707b5f3a1c6bc1fd26ea9f8a2b9b32 +0 -0
- data/test/dummy/tmp/cache/assets/DC9/7E0/sprockets%2Fa4efa2a36e1a334fb529dd5a909f6fb3 +0 -0
- data/test/dummy/tmp/cache/assets/DC9/BC0/sprockets%2F42d9ff9f511d0c7e072f24bbfc305cce +0 -0
- data/test/dummy/tmp/cache/assets/DCA/2C0/sprockets%2Fb48833de6cb1db246ca8fbaae441848c +0 -0
- data/test/dummy/tmp/cache/assets/DCA/310/sprockets%2F032481b7ad8da4f7ecc2ea13fd7497ac +0 -0
- data/test/dummy/tmp/cache/assets/DCA/920/sprockets%2Ff39dbfc5b7b633a9a1dd3653a64cd5b3 +0 -0
- data/test/dummy/tmp/cache/assets/DCB/620/sprockets%2Ff03f8d235d0b22d486dfd1f3dddf0f19 +0 -0
- data/test/dummy/tmp/cache/assets/DCB/7F0/sprockets%2F7e1ceccd440d8b325b15b95ee45af1f7 +0 -0
- data/test/dummy/tmp/cache/assets/DCB/950/sprockets%2F39a5640eb2a1fe3e354d2fef56a5f6da +0 -0
- data/test/dummy/tmp/cache/assets/DCB/D50/sprockets%2F285bfff127e41bfcab2ce7941eba9343 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/0E0/sprockets%2F3a58dd8b234afe2902cf72f8eaa3d6f1 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/490/sprockets%2Fef191a783bb65fade10ba88a9a43e1f6 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/610/sprockets%2F7e59dfc897a88b7e96d649cdf0d1e6f9 +0 -0
- data/test/dummy/tmp/cache/assets/DCC/F20/sprockets%2Fd01120eaba8c37dcc74adc56996cf8b7 +0 -0
- data/test/dummy/tmp/cache/assets/DCD/090/sprockets%2Fe46caf85209b6ebb213aeafe63cf0687 +0 -0
- data/test/dummy/tmp/cache/assets/DCD/290/sprockets%2Ffdfdf7ac4922a4fc2be372d4125726fc +0 -0
- data/test/dummy/tmp/cache/assets/DCD/6C0/sprockets%2Fe0d70bd50ef15ccf46fad2cb6629687a +0 -0
- data/test/dummy/tmp/cache/assets/DCD/9B0/sprockets%2F2d5cfcb4da95df6b3ea2821f43336ed7 +0 -0
- data/test/dummy/tmp/cache/assets/DCD/C10/sprockets%2Fdaff331d5829710b1fd4fc6b95cb62ce +0 -0
- data/test/dummy/tmp/cache/assets/DCD/DE0/sprockets%2F8ac7911da2d373a2ea6dadc78d5e77d1 +0 -0
- data/test/dummy/tmp/cache/assets/DCD/F50/sprockets%2Fcfbad427aaa6d9e29757650fa417ece0 +0 -0
- data/test/dummy/tmp/cache/assets/DCE/120/sprockets%2F2717e6fdc18f2a78ec7ad543cada554a +0 -0
- data/test/dummy/tmp/cache/assets/DCE/560/sprockets%2F612c2e344718626fca3be27ccff6bdef +0 -0
- data/test/dummy/tmp/cache/assets/DCE/BB0/sprockets%2F3d240ff1ffacfc5a8a42832554dfcb88 +0 -0
- data/test/dummy/tmp/cache/assets/DCE/BF0/sprockets%2Ff2114c9c5f93cd1afbe449b6f2b3ce55 +0 -0
- data/test/dummy/tmp/cache/assets/DCE/D80/sprockets%2Fa8e3b62e0d5bd2a64fb78e1990eb73bd +0 -0
- data/test/dummy/tmp/cache/assets/DCE/E50/sprockets%2Fd1ea6e93b6e9769ac6efb0d1b03c5e24 +0 -0
- data/test/dummy/tmp/cache/assets/DCE/E70/sprockets%2Fa3de81b32c9ba72be70ed91fbd48638c +0 -0
- data/test/dummy/tmp/cache/assets/DCF/100/sprockets%2Fcf70cfe01aee0b6c8725e39eec353e46 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/180/sprockets%2Fa0fb6e0ea7cad056e5e49e3d875c40d8 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/310/sprockets%2F4cb6d36bdf46eb44c23df73ff6127b6b +0 -0
- data/test/dummy/tmp/cache/assets/DCF/5D0/sprockets%2F95dcbbc1e3f58076e0fbc297cbaf9124 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/6B0/sprockets%2F6039db30eee2cb1da99f025e7d1e6f7d +0 -0
- data/test/dummy/tmp/cache/assets/DCF/6F0/sprockets%2Fb35295b9c0ed38dd040ea475edfea37f +0 -0
- data/test/dummy/tmp/cache/assets/DCF/AC0/sprockets%2Fca3f2c931d05fd9271edb9db0f19c92f +0 -0
- data/test/dummy/tmp/cache/assets/DCF/AE0/sprockets%2F900dedad9af2bf2a03f65987d776aa0e +0 -0
- data/test/dummy/tmp/cache/assets/DCF/DB0/sprockets%2F7fe8eb0dc1c379b7c5a2a5c9ca3592e2 +0 -0
- data/test/dummy/tmp/cache/assets/DD0/790/sprockets%2Fadd5869be41bfaf62ef0904173eeae36 +0 -0
- data/test/dummy/tmp/cache/assets/DD0/DB0/sprockets%2Fa560efdeac84f667d861e99f12a1aa1c +0 -0
- data/test/dummy/tmp/cache/assets/DD1/0F0/sprockets%2F2d5d6f23b583efe3a07a5ecd89fb192a +0 -0
- data/test/dummy/tmp/cache/assets/DD1/170/sprockets%2F152cb8bdf7b33b44e8d9aad9e33e7f14 +0 -0
- data/test/dummy/tmp/cache/assets/DD1/430/sprockets%2F6fab6dee09e2a1fa196299e026b61efd +0 -0
- data/test/dummy/tmp/cache/assets/DD1/4D0/sprockets%2Fdce63533526a840e5c29ae9cfdab4ef5 +0 -0
- data/test/dummy/tmp/cache/assets/DD1/5E0/sprockets%2F55e02d2a574d7be1a47dffd6e61cfb85 +0 -0
- data/test/dummy/tmp/cache/assets/DD1/920/sprockets%2F38abeb9c5dcfe1cd075d87e82246b8a0 +0 -0
- data/test/dummy/tmp/cache/assets/DD1/E40/sprockets%2Fd589cebd39090ef2d2c01ce821f6ffb4 +0 -0
- data/test/dummy/tmp/cache/assets/DD1/F00/sprockets%2Fc1fcf69ebbcac068cdde63655c183634 +0 -0
- data/test/dummy/tmp/cache/assets/DD2/0D0/sprockets%2F88ac4db9ccf889dbf2b241ef205b643b +0 -0
- data/test/dummy/tmp/cache/assets/DD2/330/sprockets%2Fd469365fcbc57cbef0adf2a6661190ff +0 -0
- data/test/dummy/tmp/cache/assets/DD2/690/sprockets%2F1af8faaf194cf7b22c403e20d7f98de8 +0 -0
- data/test/dummy/tmp/cache/assets/DD2/720/sprockets%2Fa7e3feaca76d2fd8f11d79a30938b70d +0 -0
- data/test/dummy/tmp/cache/assets/DD2/790/sprockets%2F5a497b1a59b46ddbf649e70e1adf5c0f +0 -0
- data/test/dummy/tmp/cache/assets/DD2/A10/sprockets%2F141ae3d75a58f3f39b0e8fa0fa7ed77c +0 -0
- data/test/dummy/tmp/cache/assets/DD2/D70/sprockets%2F471feef5b3f8b0eabe323a799a257c5d +0 -0
- data/test/dummy/tmp/cache/assets/DD2/E70/sprockets%2Fe730043939f99ffbd01c5ed4cace55ad +0 -0
- data/test/dummy/tmp/cache/assets/DD3/110/sprockets%2F209deabb73d6ffa92664ad4959ebde11 +0 -0
- data/test/dummy/tmp/cache/assets/DD3/150/sprockets%2Fbae8affcbd247de88930e215e7d4d460 +0 -0
- data/test/dummy/tmp/cache/assets/DD3/320/sprockets%2F5bee8af9a92d83b7e208c81bfff60b12 +0 -0
- data/test/dummy/tmp/cache/assets/DD3/3C0/sprockets%2F670f4b0d3e1cd2c7e5edbd9a8b489b46 +0 -0
- data/test/dummy/tmp/cache/assets/DD4/C60/sprockets%2Fa8943e2bebcb9b6e254b3864ec8b3e5c +0 -0
- data/test/dummy/tmp/cache/assets/DD5/0C0/sprockets%2F0e99e7247af82993003fcaeeb5ddc3cd +0 -0
- data/test/dummy/tmp/cache/assets/DD5/340/sprockets%2Fa6ce8c348d5365e9eb5f9eaaa047d71a +0 -0
- data/test/dummy/tmp/cache/assets/DD5/8B0/sprockets%2F91d4cd95cbcbc61b897ca2843a80f6fd +0 -0
- data/test/dummy/tmp/cache/assets/DD5/930/sprockets%2F5d0bf5434925565bcc5ac9ffb49c1ffc +0 -0
- data/test/dummy/tmp/cache/assets/DD6/1E0/sprockets%2Fdd47599b50e574a8ade74c55eca3d0ed +0 -0
- data/test/dummy/tmp/cache/assets/DD6/8F0/sprockets%2Fbe18b83b44e3d85159fbd32deccfc756 +0 -0
- data/test/dummy/tmp/cache/assets/DD6/B10/sprockets%2F1b4327737f681cbdf081ff9bcfe54edb +0 -0
- data/test/dummy/tmp/cache/assets/DD6/B60/sprockets%2F86be7769ab1b85b52fa1c6dedc66db72 +0 -0
- data/test/dummy/tmp/cache/assets/DD7/0E0/sprockets%2F52cf53fdfc217fc4cb025d7877da97cd +0 -0
- data/test/dummy/tmp/cache/assets/DD7/730/sprockets%2F80efa66fc9dc27c8b6384a360b8a7eae +0 -0
- data/test/dummy/tmp/cache/assets/DD7/C10/sprockets%2Fa1637f48f8aece1606cc2729aed6f9cb +0 -0
- data/test/dummy/tmp/cache/assets/DD7/F60/sprockets%2F391f7279bfdbfc62e910e2a1ff75f1fc +0 -0
- data/test/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fe552dc00585585fbcafc89d98af2b2fa +0 -0
- data/test/dummy/tmp/cache/assets/DD8/980/sprockets%2Feef46de7ca33f529ce7adb095169e3b4 +0 -0
- data/test/dummy/tmp/cache/assets/DD9/000/sprockets%2Ffc576d5de3f0907dad48e0fc5df43a49 +0 -0
- data/test/dummy/tmp/cache/assets/DD9/1A0/sprockets%2F2f65b9e64e6fe4fe309aaeaf5a14c865 +0 -0
- data/test/dummy/tmp/cache/assets/DD9/6F0/sprockets%2Fc265e624ee5dd27cda3868aaa8495fec +0 -0
- data/test/dummy/tmp/cache/assets/DDA/500/sprockets%2F103ae3c64e8c9af97ddfdf278f661b1e +0 -0
- data/test/dummy/tmp/cache/assets/DDB/330/sprockets%2F33596dfd43de9f36bfa8dd47bd408da4 +0 -0
- data/test/dummy/tmp/cache/assets/DDB/E40/sprockets%2Fb413afa11a2c4cbf2ec4a23e45e036db +0 -0
- data/test/dummy/tmp/cache/assets/DDC/C00/sprockets%2F05cf75fea285df8f82c3682eaca89b1e +0 -0
- data/test/dummy/tmp/cache/assets/DDD/370/sprockets%2F016219ffdd478c3c40e6f4efee84da9f +0 -0
- data/test/dummy/tmp/cache/assets/DDD/B00/sprockets%2Fff4d19b3dd289880e7a618fd9aa3cac8 +0 -0
- data/test/dummy/tmp/cache/assets/DDE/860/sprockets%2F8c57c9956b38b6572a9dcd1a6fcbeaf4 +0 -0
- data/test/dummy/tmp/cache/assets/DDE/D00/sprockets%2F74c27cac3ef959ecc8cfd9327b7fa334 +0 -0
- data/test/dummy/tmp/cache/assets/DE0/EA0/sprockets%2Fdbeee979d2b1e6d6b28cde425f84b737 +0 -0
- data/test/dummy/tmp/cache/assets/DE1/390/sprockets%2F1d6b3e8d0c351b537faa02cc1ccc4bd3 +0 -0
- data/test/dummy/tmp/cache/assets/DE1/490/sprockets%2Fced4bd89388e3be73a96b67af27e0cb9 +0 -0
- data/test/dummy/tmp/cache/assets/DE1/DA0/sprockets%2Ffc904392efc8ad2959bb95c14bdaff79 +0 -0
- data/test/dummy/tmp/cache/assets/DE3/310/sprockets%2Fa88eabb20e2ecca3230d5c1a8aa1e485 +0 -0
- data/test/dummy/tmp/cache/assets/DE3/310/sprockets%2Fdd26e8d4e2ba0972c50eba4baa0d134b +0 -0
- data/test/dummy/tmp/cache/assets/DE4/630/sprockets%2F3fbaa3b49828d89831cef787bf9ade6a +0 -0
- data/test/dummy/tmp/cache/assets/DE4/790/sprockets%2Fde774ff5425bb9f0dad9a954ef4ef726 +0 -0
- data/test/dummy/tmp/cache/assets/DE5/610/sprockets%2F9ab8e1cb0f8f692cbb8a387957f3d7fd +0 -0
- data/test/dummy/tmp/cache/assets/DE5/6D0/sprockets%2F6e6fdbc91e3f5879c8c092bab7ff581e +0 -0
- data/test/dummy/tmp/cache/assets/DE5/F60/sprockets%2F20d60b0f1cfaf7c27d5e0ee4c1e21fc0 +0 -0
- data/test/dummy/tmp/cache/assets/DE6/230/sprockets%2Fcfdab95d58360b61999eb6fae7deb649 +0 -0
- data/test/dummy/tmp/cache/assets/DE6/920/sprockets%2Fbf9feba9970af2ae25844f64f6e94f6b +0 -0
- data/test/dummy/tmp/cache/assets/DE6/C60/sprockets%2Faadf89e09dc9d89db8b60fa5d66d6824 +0 -0
- data/test/dummy/tmp/cache/assets/DE6/FF0/sprockets%2F993388d5d17cecccf692ad3e9f8dcc70 +0 -0
- data/test/dummy/tmp/cache/assets/DE7/180/sprockets%2Fa5f5aaa04c00e4fce24c97cbf5411cc4 +0 -0
- data/test/dummy/tmp/cache/assets/DE7/450/sprockets%2F0ff422cad3faf40e061e51edebb321c9 +0 -0
- data/test/dummy/tmp/cache/assets/DE7/750/sprockets%2Fdddda1271b2572dbb85ae180fb21a9bb +0 -0
- data/test/dummy/tmp/cache/assets/DE7/B20/sprockets%2Fa8a0a74dd4ea466074cbdeebf340a1a3 +0 -0
- data/test/dummy/tmp/cache/assets/DE8/A30/sprockets%2F3c1c2c8aab9ef12043bdc6a307bf82eb +0 -0
- data/test/dummy/tmp/cache/assets/DE8/F10/sprockets%2F8beab679ebe7f05e9d4f8b546e0ee279 +0 -0
- data/test/dummy/tmp/cache/assets/DE8/FA0/sprockets%2F93ca8a8d6919cace4cc9d8e69ff82d23 +0 -0
- data/test/dummy/tmp/cache/assets/DE9/340/sprockets%2Fe57938b0cff9802d1e7aebe2cef798e9 +0 -0
- data/test/dummy/tmp/cache/assets/DEA/980/sprockets%2Fc5897a1f996aafff34f555f76a39fbbd +0 -0
- data/test/dummy/tmp/cache/assets/DEA/DF0/sprockets%2Fbda59ab08df48c989fa5ff7de993336b +0 -0
- data/test/dummy/tmp/cache/assets/DEB/340/sprockets%2F0bd787c4c2a1dc1fd7605abf1e53bbb4 +0 -0
- data/test/dummy/tmp/cache/assets/DEB/B70/sprockets%2F03ccc43525fa4dfdd1603a6d4ac8ac6d +0 -0
- data/test/dummy/tmp/cache/assets/DEB/E30/sprockets%2Fcb8889cff8b8fe8b171b93d647deaf07 +0 -0
- data/test/dummy/tmp/cache/assets/DEC/5F0/sprockets%2F410f8c0c1dcf61a1d2dc2a7d3e5bd5e8 +0 -0
- data/test/dummy/tmp/cache/assets/DEE/930/sprockets%2F8e899ec8a7afe2577634ef981ccabcc9 +0 -0
- data/test/dummy/tmp/cache/assets/DEE/C00/sprockets%2Ff040b0f7cea1235fc5f3dc1db8b16e9a +0 -0
- data/test/dummy/tmp/cache/assets/DF0/710/sprockets%2F57eceb7a040cb74c96bde000cc9a8ce0 +0 -0
- data/test/dummy/tmp/cache/assets/DF1/820/sprockets%2F5e1f6fa6109bbba3f92d23bed60d2f1e +0 -0
- data/test/dummy/tmp/cache/assets/DF1/850/sprockets%2Fce67eaf0bbcc74a4d003c2ef0bf54558 +0 -0
- data/test/dummy/tmp/cache/assets/DF2/940/sprockets%2F0ba96f7c7a30ba087e1c1f4c6b4bf2ee +0 -0
- data/test/dummy/tmp/cache/assets/DF2/A10/sprockets%2F081cbd1c386eca6abacfdc8515f34d53 +0 -0
- data/test/dummy/tmp/cache/assets/DF3/7B0/sprockets%2Fbe3e96d12fac88a1e35da10fad9722ca +0 -0
- data/test/dummy/tmp/cache/assets/DF4/0E0/sprockets%2Ffcdd82e15975e6d9ac2bcaa3d0f01a27 +0 -0
- data/test/dummy/tmp/cache/assets/DF4/2C0/sprockets%2F33f40add4c7a49d56dedd7a31dd3bc34 +0 -0
- data/test/dummy/tmp/cache/assets/DF5/1D0/sprockets%2Fa2721b94a4d43f7caab1e8eebe5465ae +0 -0
- data/test/dummy/tmp/cache/assets/DF5/5F0/sprockets%2F21f5be1d0fb58cc648f3f1e106df3fba +0 -0
- data/test/dummy/tmp/cache/assets/DF5/7A0/sprockets%2Fea6fcce2a4274dc6dd8216ebc31c319d +0 -0
- data/test/dummy/tmp/cache/assets/DF5/920/sprockets%2Fa371cd46590babfadb09d81728ea0cff +0 -0
- data/test/dummy/tmp/cache/assets/DF6/880/sprockets%2Fed15aedc9c0ded3a58b4954bcc3222b9 +0 -0
- data/test/dummy/tmp/cache/assets/DF6/CD0/sprockets%2Fd6e3ce6a1e92bef3c6806bb1e24d6d1b +0 -0
- data/test/dummy/tmp/cache/assets/DF8/350/sprockets%2F0e8e61549bcb7ceb12cb02cf7dafc782 +0 -0
- data/test/dummy/tmp/cache/assets/DF8/B00/sprockets%2F3996526da65e50caedbb2d7bc8abe2d1 +0 -0
- data/test/dummy/tmp/cache/assets/DF8/B50/sprockets%2Fcf8e79edfe8092bcd084d3aa2d323ab0 +0 -0
- data/test/dummy/tmp/cache/assets/DF8/CE0/sprockets%2Fb3ab656dfab979e2e7a0082c4a2fe0df +0 -0
- data/test/dummy/tmp/cache/assets/DF8/E50/sprockets%2F13385f98ce306faeb14c3fdd4dbbd3a5 +0 -0
- data/test/dummy/tmp/cache/assets/DF9/120/sprockets%2F27f205fbbf2b0bb9c624d7dc41fec6e7 +0 -0
- data/test/dummy/tmp/cache/assets/DF9/700/sprockets%2Ff30deccfda011d97ad3f63c90d49b5f3 +0 -0
- data/test/dummy/tmp/cache/assets/DF9/7B0/sprockets%2F26fbd83e4add33750acbc4f5ff1b7f51 +0 -0
- data/test/dummy/tmp/cache/assets/DFA/E50/sprockets%2Fc948a8cdd056abf24bcb9351c81fa5fa +0 -0
- data/test/dummy/tmp/cache/assets/DFB/AB0/sprockets%2Ff5d4fbb5ca58aed3c46e1462d3a7bf45 +0 -0
- data/test/dummy/tmp/cache/assets/DFD/910/sprockets%2F6e4aeb3cfdb2adf8086199e003bd4ce8 +0 -0
- data/test/dummy/tmp/cache/assets/DFD/F40/sprockets%2F2c1baed96c603fd0746aed6b9d427cfd +0 -0
- data/test/dummy/tmp/cache/assets/DFE/4F0/sprockets%2F4695a10bc9aa0c898cf21dec63bcc7ff +0 -0
- data/test/dummy/tmp/cache/assets/DFE/6D0/sprockets%2F5ed9adae017357437e0cf4efffb12fb5 +0 -0
- data/test/dummy/tmp/cache/assets/DFF/B90/sprockets%2F9bf7f6a7b2f42f6c25336cffb1c7aa3d +0 -0
- data/test/dummy/tmp/cache/assets/E00/630/sprockets%2Fead43f2cf9d3f3a37a590e212e8fc9ea +0 -0
- data/test/dummy/tmp/cache/assets/E01/250/sprockets%2Fe4282269fdedfc1d2bd08e9d7433ceab +0 -0
- data/test/dummy/tmp/cache/assets/E01/7D0/sprockets%2F771e23888dbed36f017cbb35acdbc8df +0 -0
- data/test/dummy/tmp/cache/assets/E01/E30/sprockets%2Fea636d9c8b493cced44c9eed11d50d1e +0 -0
- data/test/dummy/tmp/cache/assets/E02/270/sprockets%2F5381b3fbea0bdffe7f60e7a68c9d3b44 +0 -0
- data/test/dummy/tmp/cache/assets/E02/2E0/sprockets%2Fb29204c6ef5e6c80fa6a76aec3bf64ef +0 -0
- data/test/dummy/tmp/cache/assets/E02/460/sprockets%2Febdaa5d81edadcf19f17470971a692df +0 -0
- data/test/dummy/tmp/cache/assets/E02/470/sprockets%2F09b78eecc03a56bf09cbe5d73a49a8ce +0 -0
- data/test/dummy/tmp/cache/assets/E02/560/sprockets%2Fc9835ca26fea59cccb5eb03865cbad58 +0 -0
- data/test/dummy/tmp/cache/assets/E02/6B0/sprockets%2Fb0c6cb515e5ef58ec2b8c40f9c75dad7 +0 -0
- data/test/dummy/tmp/cache/assets/E02/9E0/sprockets%2F3be9c22c954bbcea0c7ef648e5d3ff15 +0 -0
- data/test/dummy/tmp/cache/assets/E03/520/sprockets%2Fb0bc6a9ad234b985b729bdecbc93c7d9 +0 -0
- data/test/dummy/tmp/cache/assets/E03/8C0/sprockets%2Fdddca472be9884cdfe6af78222bad074 +0 -0
- data/test/dummy/tmp/cache/assets/E03/E10/sprockets%2Ff973aa441beed766f88d05a5afe3b4ae +0 -0
- data/test/dummy/tmp/cache/assets/E04/2F0/sprockets%2Fa16d6dfb55f306bacadfcc65ba936989 +0 -0
- data/test/dummy/tmp/cache/assets/E04/730/sprockets%2F583c8db59edef3f0c5b7e336e284babb +0 -0
- data/test/dummy/tmp/cache/assets/E04/780/sprockets%2F3cacfdba6603ee6a76d7626e6d9ad53f +0 -0
- data/test/dummy/tmp/cache/assets/E04/B60/sprockets%2F67fde7c8e76f5ea08e905cc2b641caab +0 -0
- data/test/dummy/tmp/cache/assets/E04/BB0/sprockets%2F27aa47e7bad23d38389eae6a436efdfc +0 -0
- data/test/dummy/tmp/cache/assets/E05/2A0/sprockets%2Fde0ab0df6698a6bc364e6c9e847bcc3c +0 -0
- data/test/dummy/tmp/cache/assets/E05/940/sprockets%2Fa7342fe6aaeca22f6f9474c16f77dfcc +0 -0
- data/test/dummy/tmp/cache/assets/E05/9A0/sprockets%2Ffbf122467d4e4b4d1bbc6fdc78a85d8f +0 -0
- data/test/dummy/tmp/cache/assets/E06/710/sprockets%2Fee1f8c455d6c11ac74bf1eef2d3c799d +0 -0
- data/test/dummy/tmp/cache/assets/E06/B20/sprockets%2Fba3bff72fd31e9b292e1626efff5d82d +0 -0
- data/test/dummy/tmp/cache/assets/E06/BC0/sprockets%2F0e410c76d8b9975ac0e8ed9dfbcad4f3 +0 -0
- data/test/dummy/tmp/cache/assets/E06/C00/sprockets%2F454dec05493096cc77cae8bfef7a7cba +0 -0
- data/test/dummy/tmp/cache/assets/E07/F70/sprockets%2F482a5de5a6dadcc2b4d8778a8faf0e86 +0 -0
- data/test/dummy/tmp/cache/assets/E09/210/sprockets%2Fa1e78b1bf197e2c7d2dea09ade69fd68 +0 -0
- data/test/dummy/tmp/cache/assets/E09/290/sprockets%2F1d76236f1ae4e9f939daf9d4fe0b5eab +0 -0
- data/test/dummy/tmp/cache/assets/E09/550/sprockets%2F0bbdef332e5e3c32f4ffd8989c6c7ad4 +0 -0
- data/test/dummy/tmp/cache/assets/E0A/330/sprockets%2Fb889aacf3c5b1287fa490ae24ee9d8df +0 -0
- data/test/dummy/tmp/cache/assets/E0B/200/sprockets%2Ff177bd5ef30963eeefc8d15d0eff354d +0 -0
- data/test/dummy/tmp/cache/assets/E0B/CD0/sprockets%2Feb97c4db2f3b997e9500fbcd840fcee4 +0 -0
- data/test/dummy/tmp/cache/assets/E0D/350/sprockets%2Fc6edebe6ed17558da6ed0ee584914ee3 +0 -0
- data/test/dummy/tmp/cache/assets/E0D/8B0/sprockets%2Ffbca95fe1efe7e13f7970a654886aacc +0 -0
- data/test/dummy/tmp/cache/assets/E0E/850/sprockets%2F9e16585b5e9e67d2ad3bfc79fe3c3cbb +0 -0
- data/test/dummy/tmp/cache/assets/E0F/4F0/sprockets%2Fa3272540abfe5c98fe7e63a98fde7fcc +0 -0
- data/test/dummy/tmp/cache/assets/E0F/5D0/sprockets%2F8f5ef8baff83ddff0818be088bbb1853 +0 -0
- data/test/dummy/tmp/cache/assets/E11/EC0/sprockets%2Fd75c4edbd1e28d4f149e777df905ebdf +0 -0
- data/test/dummy/tmp/cache/assets/E13/A80/sprockets%2Fbac5968b0fd53fd82c909858adfeac9f +0 -0
- data/test/dummy/tmp/cache/assets/E13/DA0/sprockets%2Fc5017eb7eedaca0008cf0fb35ea37b1b +0 -0
- data/test/dummy/tmp/cache/assets/E13/DA0/sprockets%2Febedc0c00a2810be6e2dfaa6b155ca95 +0 -0
- data/test/dummy/tmp/cache/assets/E16/0C0/sprockets%2F2bccb375c7950ce793eebff682d8fe7f +0 -0
- data/test/dummy/tmp/cache/assets/E16/890/sprockets%2F25d48ca77decab21aa4e144a30aed4ed +0 -0
- data/test/dummy/tmp/cache/assets/E16/E40/sprockets%2Fbb69b561797ceeecead7925783b6feaf +0 -0
- data/test/dummy/tmp/cache/assets/E19/800/sprockets%2F3283b2bd65f095fded0b1aaaeda19ea1 +0 -0
- data/test/dummy/tmp/cache/assets/E19/BE0/sprockets%2F4d4cd0209cbbd0a14c6bb7ceeab97b62 +0 -0
- data/test/dummy/tmp/cache/assets/E1A/330/sprockets%2F5d3fee1ad3cab203a53ee8c7aa3428db +0 -0
- data/test/dummy/tmp/cache/assets/E1C/EF0/sprockets%2F6bfdb8efbdf13897c99efc9944a7ad34 +0 -0
- data/test/dummy/tmp/cache/assets/E1C/FC0/sprockets%2F589c8b2bb3d0ef15abcda1e262b07dcd +0 -0
- data/test/dummy/tmp/cache/assets/E1D/8F0/sprockets%2Febcd95ad06f1ab89fe54aa1b0aca1448 +0 -0
- data/test/dummy/tmp/cache/assets/E1F/CA0/sprockets%2Ffb153c81fcdff3d13c8fa84c1f20caa3 +0 -0
- data/test/dummy/tmp/cache/assets/E20/010/sprockets%2F8cb66cce4dde9b6a6e89f19e86fe096d +0 -0
- data/test/dummy/tmp/cache/assets/E20/FA0/sprockets%2Fd6da9bcad0bfd4362f1726adda8b1d62 +0 -0
- data/test/dummy/tmp/cache/assets/E20/FE0/sprockets%2F0fdc8a5cb3bb74767d15fb2b0feaf1d1 +0 -0
- data/test/dummy/tmp/cache/assets/E22/0C0/sprockets%2Fd2cafc37db0bfb5cfd12ed623fb90681 +0 -0
- data/test/dummy/tmp/cache/assets/E22/640/sprockets%2Fa79cffda9ea30a3c7a346db03f6eb30d +0 -0
- data/test/dummy/tmp/cache/assets/E24/0F0/sprockets%2F2fd0d00a336b9aadafdcd036597ff9bc +0 -0
- data/test/dummy/tmp/cache/assets/E24/2B0/sprockets%2Fd48b5664b861eaba2cd9aef35ebab2a4 +0 -0
- data/test/dummy/tmp/cache/assets/E24/BE0/sprockets%2Fa312aeac9f17cbfcfb3ea0c0de779509 +0 -0
- data/test/dummy/tmp/cache/assets/E24/C30/sprockets%2Fab80a42e61baf5bc74ec668ed4d3a6bc +0 -0
- data/test/dummy/tmp/cache/assets/E26/6A0/sprockets%2Fcf2fb4bac4d1e8b2a5b5b9a8f85c361b +0 -0
- data/test/dummy/tmp/cache/assets/E28/120/sprockets%2F1eb7accde46b360442adaf08beaf789d +0 -0
- data/test/dummy/tmp/cache/assets/E28/290/sprockets%2Ffdb3a8a37fb515b9dc90614b4dab7bdf +0 -0
- data/test/dummy/tmp/cache/assets/E28/A80/sprockets%2F34a8d9e9cbd7a2a5178da0afbf4e10fd +0 -0
- data/test/dummy/tmp/cache/assets/E28/D00/sprockets%2Fcb82c1534ddccee2fa79b6a84e1d3ae4 +0 -0
- data/test/dummy/tmp/cache/assets/E29/5D0/sprockets%2F5c50c8b4fb7b4604db1d8f2bc7ddea9b +0 -0
- data/test/dummy/tmp/cache/assets/E29/E20/sprockets%2F1da1cf4f8fb0b07de5540dcf72ebea79 +0 -0
- data/test/dummy/tmp/cache/assets/E29/FA0/sprockets%2Ffabb9a9e2898ac07e5aec5a3dc1173cb +0 -0
- data/test/dummy/tmp/cache/assets/E2A/2F0/sprockets%2Fc19ab67c37ebb29d3155cacee4fa49bc +0 -0
- data/test/dummy/tmp/cache/assets/E2A/570/sprockets%2Fc8c8f0c4ff9cdaa029e206e60bfcc47a +0 -0
- data/test/dummy/tmp/cache/assets/E2A/FC0/sprockets%2Fa90fba67cf290f1ae5d51b9ccd74fbb4 +0 -0
- data/test/dummy/tmp/cache/assets/E2D/020/sprockets%2F57300cdaee8dec0f1aff7408a9f28cfb +0 -0
- data/test/dummy/tmp/cache/assets/E2D/2F0/sprockets%2F6db7e742b38bbafd7e971dbdbab350c9 +0 -0
- data/test/dummy/tmp/cache/assets/E2D/600/sprockets%2F40ae8adc98c5e01ce0cf4b8fc0d967ea +0 -0
- data/test/dummy/tmp/cache/assets/E2E/360/sprockets%2F9a2b86a5c0eae250bcdf72eedf958ac5 +0 -0
- data/test/dummy/tmp/cache/assets/E2E/5A0/sprockets%2F82621e8fafb4f8ffbca15a74b6cc5d1e +0 -0
- data/test/dummy/tmp/cache/assets/E2E/9A0/sprockets%2Ff35bacb57bb882a5f7f8f220eebadd91 +0 -0
- data/test/dummy/tmp/cache/assets/E2E/9F0/sprockets%2Fd0f6b8cb9b7091c6ba6d05fb8adadf66 +0 -0
- data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2F3d8aa6ffceaf05eefca73ce469e71222 +0 -0
- data/test/dummy/tmp/cache/assets/E2F/8C0/sprockets%2Fb333cacd9aae969cf4e25ce0dddd4277 +0 -0
- data/test/dummy/tmp/cache/assets/E2F/E50/sprockets%2Fcf2e5ab5e03d797bcfbbb558d38b35af +0 -0
- data/test/dummy/tmp/cache/assets/E30/D40/sprockets%2F18d6abe9e22e7e22ceaf2ee8f108ad5f +0 -0
- data/test/dummy/tmp/cache/assets/E31/6E0/sprockets%2Ff305b61e7fa499ad2504bfebb9e7edea +0 -0
- data/test/dummy/tmp/cache/assets/E32/A20/sprockets%2F9de0fd05844dd0acb4eca4e3ed8ff917 +0 -0
- data/test/dummy/tmp/cache/assets/E35/4C0/sprockets%2Fe7a4909adc7a80fd85ea1eb9b55fdd1e +0 -0
- data/test/dummy/tmp/cache/assets/E36/E00/sprockets%2F56ae6c5d1c3ecc2c9cceb813c8b998eb +0 -0
- data/test/dummy/tmp/cache/assets/E38/1B0/sprockets%2Ffcb2daabef4cb855fef8866c245a637e +0 -0
- data/test/dummy/tmp/cache/assets/E39/760/sprockets%2Feaefb1f9a06b9989f418edb1db2ef7c2 +0 -0
- data/test/dummy/tmp/cache/assets/E3A/7B0/sprockets%2Ff97762db911d9badaeae98af6bf128dc +0 -0
- data/test/dummy/tmp/cache/assets/E3A/C40/sprockets%2Fa4fffedf4d4bf3ec8597f2581c0a87ab +0 -0
- data/test/dummy/tmp/cache/assets/E3B/340/sprockets%2Fdbc7eef48e00def6bd3e64ecd8954c44 +0 -0
- data/test/dummy/tmp/cache/assets/E3E/2D0/sprockets%2F4e7fda6ffbcb5a5f816cf91cd5d723f9 +0 -0
- data/test/dummy/tmp/cache/assets/E3E/7F0/sprockets%2F5eaeea01d1e91c54fcbc0ccbd1004d6b +0 -0
- data/test/dummy/tmp/cache/assets/E3E/AC0/sprockets%2Fa90ce5acf76adb824efaad100a041dba +0 -0
- data/test/dummy/tmp/cache/assets/E43/4F0/sprockets%2Fdcecff17c38b49f56d79da2df807cfa8 +0 -0
- data/test/dummy/tmp/cache/assets/E44/340/sprockets%2F7e85e986e305dedde1f6facedf2c07e9 +0 -0
- data/test/dummy/tmp/cache/assets/E48/A90/sprockets%2Fa3d1dbca7b4efb41f7161b1ccd72cdb6 +0 -0
- data/test/dummy/tmp/cache/assets/E4C/650/sprockets%2Fcb056fbabd058c22885aabfabc5d6d3b +0 -0
- data/test/dummy/tmp/cache/assets/E4D/6F0/sprockets%2F2fff12c7ef5fed2e65ee89ec5395f6ee +0 -0
- data/test/dummy/tmp/cache/assets/E4D/980/sprockets%2Fbbbe61cb3ecb82cb4fbff3a8a0c04684 +0 -0
- data/test/dummy/tmp/cache/assets/E4D/B10/sprockets%2F11a1f50de2df1f43bca44cfdb8cbbe86 +0 -0
- data/test/dummy/tmp/cache/assets/E4E/470/sprockets%2F1d0cddc56a9072ffcd7be4db3a02ca8d +0 -0
- data/test/dummy/tmp/cache/assets/E4F/A80/sprockets%2F811cebd4c603ffcdec7ba7f670db0b3a +0 -0
- data/test/dummy/tmp/cache/assets/E51/3A0/sprockets%2F920a82be7aebe4bdf7bfe13a2e9a0b6b +0 -0
- data/test/dummy/tmp/cache/assets/E51/480/sprockets%2Ffd0d14acc0f5f69ccdc1526ddb8a1da7 +0 -0
- data/test/dummy/tmp/cache/assets/E51/8C0/sprockets%2F21366bb0cb72acda7aebe1feb7f7cd38 +0 -0
- data/test/dummy/tmp/cache/assets/E55/220/sprockets%2Fad2dd26bc3fd1e2bfdb7b8ba8a44854d +0 -0
- data/test/dummy/tmp/cache/assets/E55/520/sprockets%2Febd22b7b53c1fcd59aacc1d4ae3797eb +0 -0
- data/test/dummy/tmp/cache/assets/E5D/240/sprockets%2Ff5afbd4e941cfabbdf5b4803e3ae1e88 +0 -0
- data/test/dummy/tmp/cache/assets/E5D/6B0/sprockets%2Fdef6eaba54c5749f8bb0d9c14be4d3cb +0 -0
- data/test/dummy/tmp/cache/assets/E5E/350/sprockets%2Fd68af9fb3aae95a0a79ca12bd1edd69d +0 -0
- data/test/dummy/tmp/cache/assets/E5E/3A0/sprockets%2Fedf4ef7fdfa720cf0e6ca1e215c4ff91 +0 -0
- data/test/dummy/tmp/cache/assets/E5F/DA0/sprockets%2Ffe0d5fd3b2dccdd3f59710b9dba49b9c +0 -0
- data/test/dummy/tmp/cache/assets/E5F/F90/sprockets%2Fd4c59e3e7d005abceea7f7ec20df5c7e +0 -0
- data/test/dummy/tmp/cache/assets/E62/280/sprockets%2Feac41dd5eb4b65a4d33af7ff7c4d8c9d +0 -0
- data/test/dummy/tmp/cache/assets/E62/400/sprockets%2F64e9bdfb83d53acc66b63ebc88bbd6ba +0 -0
- data/test/dummy/tmp/cache/assets/E62/790/sprockets%2Fcc9cdebfc45e1e9e40f59d45244cabcf +0 -0
- data/test/dummy/tmp/cache/assets/E64/F30/sprockets%2F1de08065449c2cdc6cfcf8dccf47fdcc +0 -0
- data/test/dummy/tmp/cache/assets/E65/BB0/sprockets%2F6d3ef3fcfef1fbf001c9dcce78fd6208 +0 -0
- data/test/dummy/tmp/cache/assets/E67/7C0/sprockets%2F5fdef75e5fc94f4672cbbce2d4bde3a4 +0 -0
- data/test/dummy/tmp/cache/assets/E68/940/sprockets%2Fde64d61ec0d2e5c8fad88fbecfd94a35 +0 -0
- data/test/dummy/tmp/cache/assets/E6A/070/sprockets%2F17edc5ef63f8db0c2d8cf66b57ccea8e +0 -0
- data/test/dummy/tmp/cache/assets/E6D/020/sprockets%2F9ece9c4c2e5b8ec1eececcea9d624198 +0 -0
- data/test/dummy/tmp/cache/assets/E6E/9C0/sprockets%2Ffa55f351fcecf1bc2ba6ba1310cbfaa5 +0 -0
- data/test/dummy/tmp/cache/assets/E6E/D70/sprockets%2Ff854d53e9df9fa1bf725dadd7e0f2cff +0 -0
- data/test/dummy/tmp/cache/assets/E6F/7F0/sprockets%2F7a185c9f3999fec67aeddbfb23dea2de +0 -0
- data/test/dummy/tmp/cache/assets/E79/F50/sprockets%2Ffa2b3f5c123a6ec5bfcdd35db4dd6ba1 +0 -0
- data/test/dummy/tmp/cache/assets/E80/170/sprockets%2Fa0c50f15b9cdb1af4c2dfbcf90fe7ce2 +0 -0
- data/test/dummy/tmp/cache/assets/E82/D10/sprockets%2F06afa77b0aacab9b76cb6e6318decfca +0 -0
- data/test/dummy/tmp/cache/assets/E87/7D0/sprockets%2Ffe93f8ccabbebc20f353f51f5a4fe1cc +0 -0
- data/test/dummy/tmp/cache/assets/E8A/370/sprockets%2Fba6cd8430accc5ffa10ff6eeb7aa939f +0 -0
- data/test/dummy/tmp/cache/assets/E8C/D10/sprockets%2F956badfdacc7f96fb3bbf36dcc0b317c +0 -0
- data/test/dummy/tmp/cache/assets/E91/7C0/sprockets%2Fef3c30e9c07b8affa4e39fceb6cb3e7b +0 -0
- data/test/dummy/tmp/cache/assets/E93/EC0/sprockets%2Fe2f9ce9b0cbf7c9b0935ce1bfafe24ee +0 -0
- data/test/dummy/tmp/cache/assets/E96/510/sprockets%2Ff3dd99b915fbacd1c6e7ebcf916b5abf +0 -0
- data/test/dummy/tmp/cache/assets/E9A/790/sprockets%2Ffece53daabdeb86f6a4996af4dc99d0a +0 -0
- data/test/dummy/tmp/cache/assets/EA6/850/sprockets%2Ff2eaf24266aaa0f2adeb0ffe01e5fdad +0 -0
- data/test/dummy/tmp/cache/assets/EB0/300/sprockets%2Fe4bacccace2941a1a8ddfbdd97b2ad82 +0 -0
- data/test/dummy/tmp/cache/assets/EB6/E70/sprockets%2F76a6b2ceb48abb4ddaca9bef2fce155e +0 -0
- data/test/dummy/tmp/cache/assets/EC3/EF0/sprockets%2Fd4e09aca6af1fb9fbf6f86bbcca4e59c +0 -0
- data/test/dummy/tmp/data/meta_request/055bf7bc695a78c99960938def7e04ed.json +1 -0
- metadata +180 -8
- data/app/assets/javascripts/Cesium/Core/definedNotNull.js +0 -23
- data/app/assets/javascripts/Cesium/Scene/OpenStreetMapImageryProvider.js +0 -415
- data/app/assets/javascripts/Cesium/Scene/TileMapServiceImageryProvider.js +0 -580
- data/app/assets/javascripts/Cesium/ThirdParty/knockout-3.2.0.js +0 -112
- data/test/dummy/tmp/pids/server.pid +0 -1
@@ -20,9 +20,10 @@
|
|
20
20
|
* Portions licensed separately.
|
21
21
|
* See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
|
22
22
|
*/
|
23
|
-
(function () {
|
23
|
+
(function () {
|
24
|
+
/*global define*/
|
24
25
|
define('Core/defined',[],function() {
|
25
|
-
|
26
|
+
'use strict';
|
26
27
|
|
27
28
|
/**
|
28
29
|
* @exports defined
|
@@ -38,7 +39,7 @@ define('Core/defined',[],function() {
|
|
38
39
|
* }
|
39
40
|
*/
|
40
41
|
function defined(value) {
|
41
|
-
return value !== undefined;
|
42
|
+
return value !== undefined && value !== null;
|
42
43
|
}
|
43
44
|
|
44
45
|
return defined;
|
@@ -49,7 +50,7 @@ define('Core/freezeObject',[
|
|
49
50
|
'./defined'
|
50
51
|
], function(
|
51
52
|
defined) {
|
52
|
-
|
53
|
+
'use strict';
|
53
54
|
|
54
55
|
/**
|
55
56
|
* Freezes an object, using Object.freeze if available, otherwise returns
|
@@ -74,7 +75,7 @@ define('Core/defaultValue',[
|
|
74
75
|
'./freezeObject'
|
75
76
|
], function(
|
76
77
|
freezeObject) {
|
77
|
-
|
78
|
+
'use strict';
|
78
79
|
|
79
80
|
/**
|
80
81
|
* Returns the first parameter if not undefined, otherwise the second parameter.
|
@@ -110,7 +111,7 @@ define('Core/DeveloperError',[
|
|
110
111
|
'./defined'
|
111
112
|
], function(
|
112
113
|
defined) {
|
113
|
-
|
114
|
+
'use strict';
|
114
115
|
|
115
116
|
/**
|
116
117
|
* Constructs an exception object that is thrown due to a developer error, e.g., invalid argument,
|
@@ -124,6 +125,7 @@ define('Core/DeveloperError',[
|
|
124
125
|
*
|
125
126
|
* @alias DeveloperError
|
126
127
|
* @constructor
|
128
|
+
* @extends Error
|
127
129
|
*
|
128
130
|
* @param {String} [message] The error message for this exception.
|
129
131
|
*
|
@@ -160,6 +162,11 @@ define('Core/DeveloperError',[
|
|
160
162
|
this.stack = stack;
|
161
163
|
}
|
162
164
|
|
165
|
+
if (defined(Object.create)) {
|
166
|
+
DeveloperError.prototype = Object.create(Error.prototype);
|
167
|
+
DeveloperError.prototype.constructor = DeveloperError;
|
168
|
+
}
|
169
|
+
|
163
170
|
DeveloperError.prototype.toString = function() {
|
164
171
|
var str = this.name + ': ' + this.message;
|
165
172
|
|
@@ -394,7 +401,7 @@ define('Core/Math',[
|
|
394
401
|
defaultValue,
|
395
402
|
defined,
|
396
403
|
DeveloperError) {
|
397
|
-
|
404
|
+
'use strict';
|
398
405
|
|
399
406
|
/**
|
400
407
|
* Math functions.
|
@@ -1174,7 +1181,7 @@ define('Core/Cartesian3',[
|
|
1174
1181
|
DeveloperError,
|
1175
1182
|
freezeObject,
|
1176
1183
|
CesiumMath) {
|
1177
|
-
|
1184
|
+
'use strict';
|
1178
1185
|
|
1179
1186
|
/**
|
1180
1187
|
* A 3D Cartesian point.
|
@@ -1343,6 +1350,63 @@ define('Core/Cartesian3',[
|
|
1343
1350
|
return result;
|
1344
1351
|
};
|
1345
1352
|
|
1353
|
+
/**
|
1354
|
+
* Flattens an array of Cartesian3s into an array of components.
|
1355
|
+
*
|
1356
|
+
* @param {Cartesian3[]} array The array of cartesians to pack.
|
1357
|
+
* @param {Number[]} result The array onto which to store the result.
|
1358
|
+
* @returns {Number[]} The packed array.
|
1359
|
+
*/
|
1360
|
+
Cartesian3.packArray = function(array, result) {
|
1361
|
+
if (!defined(array)) {
|
1362
|
+
throw new DeveloperError('array is required');
|
1363
|
+
}
|
1364
|
+
|
1365
|
+
var length = array.length;
|
1366
|
+
if (!defined(result)) {
|
1367
|
+
result = new Array(length * 3);
|
1368
|
+
} else {
|
1369
|
+
result.length = length * 3;
|
1370
|
+
}
|
1371
|
+
|
1372
|
+
for (var i = 0; i < length; ++i) {
|
1373
|
+
Cartesian3.pack(array[i], result, i * 3);
|
1374
|
+
}
|
1375
|
+
return result;
|
1376
|
+
};
|
1377
|
+
|
1378
|
+
/**
|
1379
|
+
* Unpacks an array of cartesian components into an array of Cartesian3s.
|
1380
|
+
*
|
1381
|
+
* @param {Number[]} array The array of components to unpack.
|
1382
|
+
* @param {Cartesian3[]} result The array onto which to store the result.
|
1383
|
+
* @returns {Cartesian3[]} The unpacked array.
|
1384
|
+
*/
|
1385
|
+
Cartesian3.unpackArray = function(array, result) {
|
1386
|
+
if (!defined(array)) {
|
1387
|
+
throw new DeveloperError('array is required');
|
1388
|
+
}
|
1389
|
+
if (array.length < 3) {
|
1390
|
+
throw new DeveloperError('array length cannot be less than 3.');
|
1391
|
+
}
|
1392
|
+
if (array.length % 3 !== 0) {
|
1393
|
+
throw new DeveloperError('array length must be a multiple of 3.');
|
1394
|
+
}
|
1395
|
+
|
1396
|
+
var length = array.length;
|
1397
|
+
if (!defined(result)) {
|
1398
|
+
result = new Array(length / 3);
|
1399
|
+
} else {
|
1400
|
+
result.length = length / 3;
|
1401
|
+
}
|
1402
|
+
|
1403
|
+
for (var i = 0; i < length; i += 3) {
|
1404
|
+
var index = i / 3;
|
1405
|
+
result[index] = Cartesian3.unpack(array, i, result[index]);
|
1406
|
+
}
|
1407
|
+
return result;
|
1408
|
+
};
|
1409
|
+
|
1346
1410
|
/**
|
1347
1411
|
* Creates a Cartesian3 from three consecutive elements in an array.
|
1348
1412
|
* @function
|
@@ -1909,9 +1973,9 @@ define('Core/Cartesian3',[
|
|
1909
1973
|
throw new DeveloperError('latitude is required');
|
1910
1974
|
}
|
1911
1975
|
|
1912
|
-
|
1913
|
-
|
1914
|
-
return Cartesian3.fromRadians(
|
1976
|
+
longitude = CesiumMath.toRadians(longitude);
|
1977
|
+
latitude = CesiumMath.toRadians(latitude);
|
1978
|
+
return Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result);
|
1915
1979
|
};
|
1916
1980
|
|
1917
1981
|
var scratchN = new Cartesian3();
|
@@ -1972,15 +2036,30 @@ define('Core/Cartesian3',[
|
|
1972
2036
|
*/
|
1973
2037
|
Cartesian3.fromDegreesArray = function(coordinates, ellipsoid, result) {
|
1974
2038
|
if (!defined(coordinates)) {
|
1975
|
-
throw new DeveloperError('
|
2039
|
+
throw new DeveloperError('coordinates is required.');
|
2040
|
+
}
|
2041
|
+
if (coordinates.length < 2) {
|
2042
|
+
throw new DeveloperError('coordinates length cannot be less than 2.');
|
2043
|
+
}
|
2044
|
+
if (coordinates.length % 2 !== 0) {
|
2045
|
+
throw new DeveloperError('coordinates length must be a multiple of 2.');
|
1976
2046
|
}
|
1977
2047
|
|
1978
|
-
var
|
1979
|
-
|
1980
|
-
|
2048
|
+
var length = coordinates.length;
|
2049
|
+
if (!defined(result)) {
|
2050
|
+
result = new Array(length / 2);
|
2051
|
+
} else {
|
2052
|
+
result.length = length / 2;
|
2053
|
+
}
|
2054
|
+
|
2055
|
+
for (var i = 0; i < length; i += 2) {
|
2056
|
+
var longitude = coordinates[i];
|
2057
|
+
var latitude = coordinates[i + 1];
|
2058
|
+
var index = i / 2;
|
2059
|
+
result[index] = Cartesian3.fromDegrees(longitude, latitude, 0, ellipsoid, result[index]);
|
1981
2060
|
}
|
1982
2061
|
|
1983
|
-
return
|
2062
|
+
return result;
|
1984
2063
|
};
|
1985
2064
|
|
1986
2065
|
/**
|
@@ -1996,26 +2075,27 @@ define('Core/Cartesian3',[
|
|
1996
2075
|
*/
|
1997
2076
|
Cartesian3.fromRadiansArray = function(coordinates, ellipsoid, result) {
|
1998
2077
|
if (!defined(coordinates)) {
|
1999
|
-
throw new DeveloperError('
|
2078
|
+
throw new DeveloperError('coordinates is required.');
|
2000
2079
|
}
|
2001
2080
|
if (coordinates.length < 2) {
|
2002
|
-
throw new DeveloperError('
|
2081
|
+
throw new DeveloperError('coordinates length cannot be less than 2.');
|
2003
2082
|
}
|
2004
2083
|
if (coordinates.length % 2 !== 0) {
|
2005
|
-
throw new DeveloperError('
|
2084
|
+
throw new DeveloperError('coordinates length must be a multiple of 2.');
|
2006
2085
|
}
|
2007
2086
|
|
2008
2087
|
var length = coordinates.length;
|
2009
2088
|
if (!defined(result)) {
|
2010
|
-
result = new Array(length/2);
|
2089
|
+
result = new Array(length / 2);
|
2011
2090
|
} else {
|
2012
|
-
result.length = length/2;
|
2091
|
+
result.length = length / 2;
|
2013
2092
|
}
|
2014
2093
|
|
2015
|
-
for (
|
2016
|
-
var
|
2017
|
-
var
|
2018
|
-
|
2094
|
+
for (var i = 0; i < length; i += 2) {
|
2095
|
+
var longitude = coordinates[i];
|
2096
|
+
var latitude = coordinates[i + 1];
|
2097
|
+
var index = i / 2;
|
2098
|
+
result[index] = Cartesian3.fromRadians(longitude, latitude, 0, ellipsoid, result[index]);
|
2019
2099
|
}
|
2020
2100
|
|
2021
2101
|
return result;
|
@@ -2024,7 +2104,7 @@ define('Core/Cartesian3',[
|
|
2024
2104
|
/**
|
2025
2105
|
* Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in degrees.
|
2026
2106
|
*
|
2027
|
-
* @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height
|
2107
|
+
* @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
|
2028
2108
|
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
|
2029
2109
|
* @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
|
2030
2110
|
* @returns {Cartesian3[]} The array of positions.
|
@@ -2034,29 +2114,37 @@ define('Core/Cartesian3',[
|
|
2034
2114
|
*/
|
2035
2115
|
Cartesian3.fromDegreesArrayHeights = function(coordinates, ellipsoid, result) {
|
2036
2116
|
if (!defined(coordinates)) {
|
2037
|
-
throw new DeveloperError('
|
2117
|
+
throw new DeveloperError('coordinates is required.');
|
2038
2118
|
}
|
2039
2119
|
if (coordinates.length < 3) {
|
2040
|
-
throw new DeveloperError('
|
2120
|
+
throw new DeveloperError('coordinates length cannot be less than 3.');
|
2041
2121
|
}
|
2042
2122
|
if (coordinates.length % 3 !== 0) {
|
2043
|
-
throw new DeveloperError('
|
2123
|
+
throw new DeveloperError('coordinates length must be a multiple of 3.');
|
2044
2124
|
}
|
2045
2125
|
|
2046
|
-
var
|
2047
|
-
|
2048
|
-
|
2049
|
-
|
2050
|
-
|
2126
|
+
var length = coordinates.length;
|
2127
|
+
if (!defined(result)) {
|
2128
|
+
result = new Array(length / 3);
|
2129
|
+
} else {
|
2130
|
+
result.length = length / 3;
|
2131
|
+
}
|
2132
|
+
|
2133
|
+
for (var i = 0; i < length; i += 3) {
|
2134
|
+
var longitude = coordinates[i];
|
2135
|
+
var latitude = coordinates[i + 1];
|
2136
|
+
var height = coordinates[i + 2];
|
2137
|
+
var index = i / 3;
|
2138
|
+
result[index] = Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result[index]);
|
2051
2139
|
}
|
2052
2140
|
|
2053
|
-
return
|
2141
|
+
return result;
|
2054
2142
|
};
|
2055
2143
|
|
2056
2144
|
/**
|
2057
2145
|
* Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in radians.
|
2058
2146
|
*
|
2059
|
-
* @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height
|
2147
|
+
* @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
|
2060
2148
|
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
|
2061
2149
|
* @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
|
2062
2150
|
* @returns {Cartesian3[]} The array of positions.
|
@@ -2066,27 +2154,28 @@ define('Core/Cartesian3',[
|
|
2066
2154
|
*/
|
2067
2155
|
Cartesian3.fromRadiansArrayHeights = function(coordinates, ellipsoid, result) {
|
2068
2156
|
if (!defined(coordinates)) {
|
2069
|
-
throw new DeveloperError('
|
2157
|
+
throw new DeveloperError('coordinates is required.');
|
2070
2158
|
}
|
2071
2159
|
if (coordinates.length < 3) {
|
2072
|
-
throw new DeveloperError('
|
2160
|
+
throw new DeveloperError('coordinates length cannot be less than 3.');
|
2073
2161
|
}
|
2074
2162
|
if (coordinates.length % 3 !== 0) {
|
2075
|
-
throw new DeveloperError('
|
2163
|
+
throw new DeveloperError('coordinates length must be a multiple of 3.');
|
2076
2164
|
}
|
2077
2165
|
|
2078
2166
|
var length = coordinates.length;
|
2079
2167
|
if (!defined(result)) {
|
2080
|
-
result = new Array(length/3);
|
2168
|
+
result = new Array(length / 3);
|
2081
2169
|
} else {
|
2082
|
-
result.length = length/3;
|
2170
|
+
result.length = length / 3;
|
2083
2171
|
}
|
2084
2172
|
|
2085
|
-
for (
|
2086
|
-
var
|
2087
|
-
var
|
2088
|
-
var
|
2089
|
-
|
2173
|
+
for (var i = 0; i < length; i += 3) {
|
2174
|
+
var longitude = coordinates[i];
|
2175
|
+
var latitude = coordinates[i + 1];
|
2176
|
+
var height = coordinates[i + 2];
|
2177
|
+
var index = i / 3;
|
2178
|
+
result[index] = Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result[index]);
|
2090
2179
|
}
|
2091
2180
|
|
2092
2181
|
return result;
|
@@ -2182,7 +2271,7 @@ define('Core/scaleToGeodeticSurface',[
|
|
2182
2271
|
defined,
|
2183
2272
|
DeveloperError,
|
2184
2273
|
CesiumMath) {
|
2185
|
-
|
2274
|
+
'use strict';
|
2186
2275
|
|
2187
2276
|
var scaleToGeodeticSurfaceIntersection = new Cartesian3();
|
2188
2277
|
var scaleToGeodeticSurfaceGradient = new Cartesian3();
|
@@ -2323,7 +2412,7 @@ define('Core/Cartographic',[
|
|
2323
2412
|
freezeObject,
|
2324
2413
|
CesiumMath,
|
2325
2414
|
scaleToGeodeticSurface) {
|
2326
|
-
|
2415
|
+
'use strict';
|
2327
2416
|
|
2328
2417
|
/**
|
2329
2418
|
* A position defined by longitude, latitude, and height.
|
@@ -2578,7 +2667,7 @@ define('Core/defineProperties',[
|
|
2578
2667
|
'./defined'
|
2579
2668
|
], function(
|
2580
2669
|
defined) {
|
2581
|
-
|
2670
|
+
'use strict';
|
2582
2671
|
|
2583
2672
|
var definePropertyWorks = (function() {
|
2584
2673
|
try {
|
@@ -2628,7 +2717,7 @@ define('Core/Ellipsoid',[
|
|
2628
2717
|
freezeObject,
|
2629
2718
|
CesiumMath,
|
2630
2719
|
scaleToGeodeticSurface) {
|
2631
|
-
|
2720
|
+
'use strict';
|
2632
2721
|
|
2633
2722
|
function initialize(ellipsoid, x, y, z) {
|
2634
2723
|
x = defaultValue(x, 0.0);
|
@@ -3221,7 +3310,7 @@ define('Core/Rectangle',[
|
|
3221
3310
|
Ellipsoid,
|
3222
3311
|
freezeObject,
|
3223
3312
|
CesiumMath) {
|
3224
|
-
|
3313
|
+
'use strict';
|
3225
3314
|
|
3226
3315
|
/**
|
3227
3316
|
* A two dimensional region specified as longitude and latitude coordinates.
|
@@ -3464,6 +3553,61 @@ define('Core/Rectangle',[
|
|
3464
3553
|
return result;
|
3465
3554
|
};
|
3466
3555
|
|
3556
|
+
/**
|
3557
|
+
* Creates the smallest possible Rectangle that encloses all positions in the provided array.
|
3558
|
+
*
|
3559
|
+
* @param {Cartesian[]} cartesians The list of Cartesian instances.
|
3560
|
+
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid the cartesians are on.
|
3561
|
+
* @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
|
3562
|
+
* @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
|
3563
|
+
*/
|
3564
|
+
Rectangle.fromCartesianArray = function(cartesians, ellipsoid, result) {
|
3565
|
+
if (!defined(cartesians)) {
|
3566
|
+
throw new DeveloperError('cartesians is required.');
|
3567
|
+
}
|
3568
|
+
|
3569
|
+
var west = Number.MAX_VALUE;
|
3570
|
+
var east = -Number.MAX_VALUE;
|
3571
|
+
var westOverIDL = Number.MAX_VALUE;
|
3572
|
+
var eastOverIDL = -Number.MAX_VALUE;
|
3573
|
+
var south = Number.MAX_VALUE;
|
3574
|
+
var north = -Number.MAX_VALUE;
|
3575
|
+
|
3576
|
+
for ( var i = 0, len = cartesians.length; i < len; i++) {
|
3577
|
+
var position = ellipsoid.cartesianToCartographic(cartesians[i]);
|
3578
|
+
west = Math.min(west, position.longitude);
|
3579
|
+
east = Math.max(east, position.longitude);
|
3580
|
+
south = Math.min(south, position.latitude);
|
3581
|
+
north = Math.max(north, position.latitude);
|
3582
|
+
|
3583
|
+
var lonAdjusted = position.longitude >= 0 ? position.longitude : position.longitude + CesiumMath.TWO_PI;
|
3584
|
+
westOverIDL = Math.min(westOverIDL, lonAdjusted);
|
3585
|
+
eastOverIDL = Math.max(eastOverIDL, lonAdjusted);
|
3586
|
+
}
|
3587
|
+
|
3588
|
+
if(east - west > eastOverIDL - westOverIDL) {
|
3589
|
+
west = westOverIDL;
|
3590
|
+
east = eastOverIDL;
|
3591
|
+
|
3592
|
+
if (east > CesiumMath.PI) {
|
3593
|
+
east = east - CesiumMath.TWO_PI;
|
3594
|
+
}
|
3595
|
+
if (west > CesiumMath.PI) {
|
3596
|
+
west = west - CesiumMath.TWO_PI;
|
3597
|
+
}
|
3598
|
+
}
|
3599
|
+
|
3600
|
+
if (!defined(result)) {
|
3601
|
+
return new Rectangle(west, south, east, north);
|
3602
|
+
}
|
3603
|
+
|
3604
|
+
result.west = west;
|
3605
|
+
result.south = south;
|
3606
|
+
result.east = east;
|
3607
|
+
result.north = north;
|
3608
|
+
return result;
|
3609
|
+
};
|
3610
|
+
|
3467
3611
|
/**
|
3468
3612
|
* Duplicates an Rectangle.
|
3469
3613
|
*
|
@@ -3968,7 +4112,7 @@ define('Core/GeographicProjection',[
|
|
3968
4112
|
defineProperties,
|
3969
4113
|
DeveloperError,
|
3970
4114
|
Ellipsoid) {
|
3971
|
-
|
4115
|
+
'use strict';
|
3972
4116
|
|
3973
4117
|
/**
|
3974
4118
|
* A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
|
@@ -4074,7 +4218,7 @@ define('Core/Intersect',[
|
|
4074
4218
|
'./freezeObject'
|
4075
4219
|
], function(
|
4076
4220
|
freezeObject) {
|
4077
|
-
|
4221
|
+
'use strict';
|
4078
4222
|
|
4079
4223
|
/**
|
4080
4224
|
* This enumerated type is used in determining where, relative to the frustum, an
|
@@ -4117,7 +4261,7 @@ define('Core/Interval',[
|
|
4117
4261
|
'./defaultValue'
|
4118
4262
|
], function(
|
4119
4263
|
defaultValue) {
|
4120
|
-
|
4264
|
+
'use strict';
|
4121
4265
|
|
4122
4266
|
/**
|
4123
4267
|
* Represents the closed interval [start, stop].
|
@@ -4150,6 +4294,7 @@ define('Core/Matrix3',[
|
|
4150
4294
|
'./Cartesian3',
|
4151
4295
|
'./defaultValue',
|
4152
4296
|
'./defined',
|
4297
|
+
'./defineProperties',
|
4153
4298
|
'./DeveloperError',
|
4154
4299
|
'./freezeObject',
|
4155
4300
|
'./Math'
|
@@ -4157,10 +4302,11 @@ define('Core/Matrix3',[
|
|
4157
4302
|
Cartesian3,
|
4158
4303
|
defaultValue,
|
4159
4304
|
defined,
|
4305
|
+
defineProperties,
|
4160
4306
|
DeveloperError,
|
4161
4307
|
freezeObject,
|
4162
4308
|
CesiumMath) {
|
4163
|
-
|
4309
|
+
'use strict';
|
4164
4310
|
|
4165
4311
|
/**
|
4166
4312
|
* A 3x3 matrix, indexable as a column-major order array.
|
@@ -5562,6 +5708,20 @@ define('Core/Matrix3',[
|
|
5562
5708
|
*/
|
5563
5709
|
Matrix3.COLUMN2ROW2 = 8;
|
5564
5710
|
|
5711
|
+
defineProperties(Matrix3.prototype, {
|
5712
|
+
/**
|
5713
|
+
* Gets the number of items in the collection.
|
5714
|
+
* @memberof Matrix3.prototype
|
5715
|
+
*
|
5716
|
+
* @type {Number}
|
5717
|
+
*/
|
5718
|
+
length : {
|
5719
|
+
get : function() {
|
5720
|
+
return Matrix3.packedLength;
|
5721
|
+
}
|
5722
|
+
}
|
5723
|
+
});
|
5724
|
+
|
5565
5725
|
/**
|
5566
5726
|
* Duplicates the provided Matrix3 instance.
|
5567
5727
|
*
|
@@ -5639,7 +5799,7 @@ define('Core/Cartesian4',[
|
|
5639
5799
|
DeveloperError,
|
5640
5800
|
freezeObject,
|
5641
5801
|
CesiumMath) {
|
5642
|
-
|
5802
|
+
'use strict';
|
5643
5803
|
|
5644
5804
|
/**
|
5645
5805
|
* A 4D Cartesian point.
|
@@ -5808,6 +5968,57 @@ define('Core/Cartesian4',[
|
|
5808
5968
|
return result;
|
5809
5969
|
};
|
5810
5970
|
|
5971
|
+
/**
|
5972
|
+
* Flattens an array of Cartesian4s into and array of components.
|
5973
|
+
*
|
5974
|
+
* @param {Cartesian4[]} array The array of cartesians to pack.
|
5975
|
+
* @param {Number[]} result The array onto which to store the result.
|
5976
|
+
* @returns {Number[]} The packed array.
|
5977
|
+
*/
|
5978
|
+
Cartesian4.packArray = function(array, result) {
|
5979
|
+
if (!defined(array)) {
|
5980
|
+
throw new DeveloperError('array is required');
|
5981
|
+
}
|
5982
|
+
|
5983
|
+
var length = array.length;
|
5984
|
+
if (!defined(result)) {
|
5985
|
+
result = new Array(length * 4);
|
5986
|
+
} else {
|
5987
|
+
result.length = length * 4;
|
5988
|
+
}
|
5989
|
+
|
5990
|
+
for (var i = 0; i < length; ++i) {
|
5991
|
+
Cartesian4.pack(array[i], result, i * 4);
|
5992
|
+
}
|
5993
|
+
return result;
|
5994
|
+
};
|
5995
|
+
|
5996
|
+
/**
|
5997
|
+
* Unpacks an array of cartesian components into and array of Cartesian4s.
|
5998
|
+
*
|
5999
|
+
* @param {Number[]} array The array of components to unpack.
|
6000
|
+
* @param {Cartesian4[]} result The array onto which to store the result.
|
6001
|
+
* @returns {Cartesian4[]} The unpacked array.
|
6002
|
+
*/
|
6003
|
+
Cartesian4.unpackArray = function(array, result) {
|
6004
|
+
if (!defined(array)) {
|
6005
|
+
throw new DeveloperError('array is required');
|
6006
|
+
}
|
6007
|
+
|
6008
|
+
var length = array.length;
|
6009
|
+
if (!defined(result)) {
|
6010
|
+
result = new Array(length / 4);
|
6011
|
+
} else {
|
6012
|
+
result.length = length / 4;
|
6013
|
+
}
|
6014
|
+
|
6015
|
+
for (var i = 0; i < length; i += 4) {
|
6016
|
+
var index = i / 4;
|
6017
|
+
result[index] = Cartesian4.unpack(array, i, result[index]);
|
6018
|
+
}
|
6019
|
+
return result;
|
6020
|
+
};
|
6021
|
+
|
5811
6022
|
/**
|
5812
6023
|
* Creates a Cartesian4 from four consecutive elements in an array.
|
5813
6024
|
* @function
|
@@ -6413,7 +6624,7 @@ define('Core/RuntimeError',[
|
|
6413
6624
|
'./defined'
|
6414
6625
|
], function(
|
6415
6626
|
defined) {
|
6416
|
-
|
6627
|
+
'use strict';
|
6417
6628
|
|
6418
6629
|
/**
|
6419
6630
|
* Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
|
@@ -6426,6 +6637,7 @@ define('Core/RuntimeError',[
|
|
6426
6637
|
*
|
6427
6638
|
* @alias RuntimeError
|
6428
6639
|
* @constructor
|
6640
|
+
* @extends Error
|
6429
6641
|
*
|
6430
6642
|
* @param {String} [message] The error message for this exception.
|
6431
6643
|
*
|
@@ -6461,6 +6673,12 @@ define('Core/RuntimeError',[
|
|
6461
6673
|
*/
|
6462
6674
|
this.stack = stack;
|
6463
6675
|
}
|
6676
|
+
|
6677
|
+
if (defined(Object.create)) {
|
6678
|
+
RuntimeError.prototype = Object.create(Error.prototype);
|
6679
|
+
RuntimeError.prototype.constructor = RuntimeError;
|
6680
|
+
}
|
6681
|
+
|
6464
6682
|
RuntimeError.prototype.toString = function() {
|
6465
6683
|
var str = this.name + ': ' + this.message;
|
6466
6684
|
|
@@ -6480,6 +6698,7 @@ define('Core/Matrix4',[
|
|
6480
6698
|
'./Cartesian4',
|
6481
6699
|
'./defaultValue',
|
6482
6700
|
'./defined',
|
6701
|
+
'./defineProperties',
|
6483
6702
|
'./DeveloperError',
|
6484
6703
|
'./freezeObject',
|
6485
6704
|
'./Math',
|
@@ -6490,12 +6709,13 @@ define('Core/Matrix4',[
|
|
6490
6709
|
Cartesian4,
|
6491
6710
|
defaultValue,
|
6492
6711
|
defined,
|
6712
|
+
defineProperties,
|
6493
6713
|
DeveloperError,
|
6494
6714
|
freezeObject,
|
6495
6715
|
CesiumMath,
|
6496
6716
|
Matrix3,
|
6497
6717
|
RuntimeError) {
|
6498
|
-
|
6718
|
+
'use strict';
|
6499
6719
|
|
6500
6720
|
/**
|
6501
6721
|
* A 4x4 matrix, indexable as a column-major order array.
|
@@ -6534,6 +6754,7 @@ define('Core/Matrix4',[
|
|
6534
6754
|
* @see Matrix4.computePerspectiveOffCenter
|
6535
6755
|
* @see Matrix4.computeInfinitePerspectiveOffCenter
|
6536
6756
|
* @see Matrix4.computeViewportTransformation
|
6757
|
+
* @see Matrix4.computeView
|
6537
6758
|
* @see Matrix2
|
6538
6759
|
* @see Matrix3
|
6539
6760
|
* @see Packable
|
@@ -7001,7 +7222,7 @@ define('Core/Matrix4',[
|
|
7001
7222
|
};
|
7002
7223
|
|
7003
7224
|
var fromCameraF = new Cartesian3();
|
7004
|
-
var
|
7225
|
+
var fromCameraR = new Cartesian3();
|
7005
7226
|
var fromCameraU = new Cartesian3();
|
7006
7227
|
|
7007
7228
|
/**
|
@@ -7016,55 +7237,55 @@ define('Core/Matrix4',[
|
|
7016
7237
|
throw new DeveloperError('camera is required.');
|
7017
7238
|
}
|
7018
7239
|
|
7019
|
-
var
|
7020
|
-
var
|
7240
|
+
var position = camera.position;
|
7241
|
+
var direction = camera.direction;
|
7021
7242
|
var up = camera.up;
|
7022
7243
|
|
7023
|
-
if (!defined(
|
7024
|
-
throw new DeveloperError('camera.
|
7244
|
+
if (!defined(position)) {
|
7245
|
+
throw new DeveloperError('camera.position is required.');
|
7025
7246
|
}
|
7026
|
-
if (!defined(
|
7027
|
-
throw new DeveloperError('camera.
|
7247
|
+
if (!defined(direction)) {
|
7248
|
+
throw new DeveloperError('camera.direction is required.');
|
7028
7249
|
}
|
7029
7250
|
if (!defined(up)) {
|
7030
7251
|
throw new DeveloperError('camera.up is required.');
|
7031
7252
|
}
|
7032
7253
|
|
7033
|
-
Cartesian3.normalize(
|
7034
|
-
Cartesian3.normalize(Cartesian3.cross(fromCameraF, up,
|
7035
|
-
Cartesian3.normalize(Cartesian3.cross(
|
7254
|
+
Cartesian3.normalize(direction, fromCameraF);
|
7255
|
+
Cartesian3.normalize(Cartesian3.cross(fromCameraF, up, fromCameraR), fromCameraR);
|
7256
|
+
Cartesian3.normalize(Cartesian3.cross(fromCameraR, fromCameraF, fromCameraU), fromCameraU);
|
7036
7257
|
|
7037
|
-
var sX =
|
7038
|
-
var sY =
|
7039
|
-
var sZ =
|
7258
|
+
var sX = fromCameraR.x;
|
7259
|
+
var sY = fromCameraR.y;
|
7260
|
+
var sZ = fromCameraR.z;
|
7040
7261
|
var fX = fromCameraF.x;
|
7041
7262
|
var fY = fromCameraF.y;
|
7042
7263
|
var fZ = fromCameraF.z;
|
7043
7264
|
var uX = fromCameraU.x;
|
7044
7265
|
var uY = fromCameraU.y;
|
7045
7266
|
var uZ = fromCameraU.z;
|
7046
|
-
var
|
7047
|
-
var
|
7048
|
-
var
|
7049
|
-
var t0 = sX * -
|
7050
|
-
var t1 = uX * -
|
7051
|
-
var t2 = fX *
|
7052
|
-
|
7053
|
-
//The code below this comment is an optimized
|
7054
|
-
//version of the commented lines.
|
7055
|
-
//Rather that create two matrices and then multiply,
|
7056
|
-
//we just bake in the multiplcation as part of creation.
|
7057
|
-
//var rotation = new Matrix4(
|
7058
|
-
//
|
7059
|
-
//
|
7060
|
-
//
|
7061
|
-
//
|
7062
|
-
//var translation = new Matrix4(
|
7063
|
-
//
|
7064
|
-
//
|
7065
|
-
//
|
7066
|
-
//
|
7067
|
-
//return rotation.multiply(translation);
|
7267
|
+
var positionX = position.x;
|
7268
|
+
var positionY = position.y;
|
7269
|
+
var positionZ = position.z;
|
7270
|
+
var t0 = sX * -positionX + sY * -positionY+ sZ * -positionZ;
|
7271
|
+
var t1 = uX * -positionX + uY * -positionY+ uZ * -positionZ;
|
7272
|
+
var t2 = fX * positionX + fY * positionY + fZ * positionZ;
|
7273
|
+
|
7274
|
+
// The code below this comment is an optimized
|
7275
|
+
// version of the commented lines.
|
7276
|
+
// Rather that create two matrices and then multiply,
|
7277
|
+
// we just bake in the multiplcation as part of creation.
|
7278
|
+
// var rotation = new Matrix4(
|
7279
|
+
// sX, sY, sZ, 0.0,
|
7280
|
+
// uX, uY, uZ, 0.0,
|
7281
|
+
// -fX, -fY, -fZ, 0.0,
|
7282
|
+
// 0.0, 0.0, 0.0, 1.0);
|
7283
|
+
// var translation = new Matrix4(
|
7284
|
+
// 1.0, 0.0, 0.0, -position.x,
|
7285
|
+
// 0.0, 1.0, 0.0, -position.y,
|
7286
|
+
// 0.0, 0.0, 1.0, -position.z,
|
7287
|
+
// 0.0, 0.0, 0.0, 1.0);
|
7288
|
+
// return rotation.multiply(translation);
|
7068
7289
|
if (!defined(result)) {
|
7069
7290
|
return new Matrix4(
|
7070
7291
|
sX, sY, sZ, t0,
|
@@ -7089,7 +7310,6 @@ define('Core/Matrix4',[
|
|
7089
7310
|
result[14] = t2;
|
7090
7311
|
result[15] = 1.0;
|
7091
7312
|
return result;
|
7092
|
-
|
7093
7313
|
};
|
7094
7314
|
|
7095
7315
|
/**
|
@@ -7102,14 +7322,14 @@ define('Core/Matrix4',[
|
|
7102
7322
|
* @param {Matrix4} result The object in which the result will be stored.
|
7103
7323
|
* @returns {Matrix4} The modified result parameter.
|
7104
7324
|
*
|
7105
|
-
* @exception {DeveloperError} fovY must be in
|
7325
|
+
* @exception {DeveloperError} fovY must be in (0, PI].
|
7106
7326
|
* @exception {DeveloperError} aspectRatio must be greater than zero.
|
7107
7327
|
* @exception {DeveloperError} near must be greater than zero.
|
7108
7328
|
* @exception {DeveloperError} far must be greater than zero.
|
7109
7329
|
*/
|
7110
7330
|
Matrix4.computePerspectiveFieldOfView = function(fovY, aspectRatio, near, far, result) {
|
7111
7331
|
if (fovY <= 0.0 || fovY > Math.PI) {
|
7112
|
-
throw new DeveloperError('fovY must be in
|
7332
|
+
throw new DeveloperError('fovY must be in (0, PI].');
|
7113
7333
|
}
|
7114
7334
|
if (aspectRatio <= 0.0) {
|
7115
7335
|
throw new DeveloperError('aspectRatio must be greater than zero.');
|
@@ -7285,7 +7505,6 @@ define('Core/Matrix4',[
|
|
7285
7505
|
* @param {Number} bottom The number of meters below of the camera that will be in view.
|
7286
7506
|
* @param {Number} top The number of meters above of the camera that will be in view.
|
7287
7507
|
* @param {Number} near The distance to the near plane in meters.
|
7288
|
-
* @param {Number} far The distance to the far plane in meters.
|
7289
7508
|
* @param {Matrix4} result The object in which the result will be stored.
|
7290
7509
|
* @returns {Matrix4} The modified result parameter.
|
7291
7510
|
*/
|
@@ -7398,6 +7617,52 @@ define('Core/Matrix4',[
|
|
7398
7617
|
return result;
|
7399
7618
|
};
|
7400
7619
|
|
7620
|
+
/**
|
7621
|
+
* Computes a Matrix4 instance that transforms from world space to view space.
|
7622
|
+
*
|
7623
|
+
* @param {Cartesian3} position The position of the camera.
|
7624
|
+
* @param {Cartesian3} direction The forward direction.
|
7625
|
+
* @param {Cartesian3} up The up direction.
|
7626
|
+
* @param {Cartesian3} right The right direction.
|
7627
|
+
* @param {Matrix4} result The object in which the result will be stored.
|
7628
|
+
* @returns {Matrix4} The modified result parameter.
|
7629
|
+
*/
|
7630
|
+
Matrix4.computeView = function(position, direction, up, right, result) {
|
7631
|
+
if (!defined(position)) {
|
7632
|
+
throw new DeveloperError('position is required');
|
7633
|
+
}
|
7634
|
+
if (!defined(direction)) {
|
7635
|
+
throw new DeveloperError('direction is required');
|
7636
|
+
}
|
7637
|
+
if (!defined(up)) {
|
7638
|
+
throw new DeveloperError('up is required');
|
7639
|
+
}
|
7640
|
+
if (!defined(right)) {
|
7641
|
+
throw new DeveloperError('right is required');
|
7642
|
+
}
|
7643
|
+
if (!defined(result)) {
|
7644
|
+
throw new DeveloperError('result is required');
|
7645
|
+
}
|
7646
|
+
|
7647
|
+
result[0] = right.x;
|
7648
|
+
result[1] = up.x;
|
7649
|
+
result[2] = -direction.x;
|
7650
|
+
result[3] = 0.0;
|
7651
|
+
result[4] = right.y;
|
7652
|
+
result[5] = up.y;
|
7653
|
+
result[6] = -direction.y;
|
7654
|
+
result[7] = 0.0;
|
7655
|
+
result[8] = right.z;
|
7656
|
+
result[9] = up.z;
|
7657
|
+
result[10] = -direction.z;
|
7658
|
+
result[11] = 0.0;
|
7659
|
+
result[12] = -Cartesian3.dot(right, position);
|
7660
|
+
result[13] = -Cartesian3.dot(up, position);
|
7661
|
+
result[14] = Cartesian3.dot(direction, position);
|
7662
|
+
result[15] = 1.0;
|
7663
|
+
return result;
|
7664
|
+
};
|
7665
|
+
|
7401
7666
|
/**
|
7402
7667
|
* Computes an Array from the provided Matrix4 instance.
|
7403
7668
|
* The array will be in column-major order.
|
@@ -9090,6 +9355,20 @@ define('Core/Matrix4',[
|
|
9090
9355
|
*/
|
9091
9356
|
Matrix4.COLUMN3ROW3 = 15;
|
9092
9357
|
|
9358
|
+
defineProperties(Matrix4.prototype, {
|
9359
|
+
/**
|
9360
|
+
* Gets the number of items in the collection.
|
9361
|
+
* @memberof Matrix4.prototype
|
9362
|
+
*
|
9363
|
+
* @type {Number}
|
9364
|
+
*/
|
9365
|
+
length : {
|
9366
|
+
get : function() {
|
9367
|
+
return Matrix4.packedLength;
|
9368
|
+
}
|
9369
|
+
}
|
9370
|
+
});
|
9371
|
+
|
9093
9372
|
/**
|
9094
9373
|
* Duplicates the provided Matrix4 instance.
|
9095
9374
|
*
|
@@ -9173,7 +9452,7 @@ define('Core/Plane',[
|
|
9173
9452
|
defined,
|
9174
9453
|
DeveloperError,
|
9175
9454
|
freezeObject) {
|
9176
|
-
|
9455
|
+
'use strict';
|
9177
9456
|
|
9178
9457
|
/**
|
9179
9458
|
* A plane in Hessian Normal Form defined by
|
@@ -9360,7 +9639,7 @@ define('Core/BoundingSphere',[
|
|
9360
9639
|
Matrix4,
|
9361
9640
|
Plane,
|
9362
9641
|
Rectangle) {
|
9363
|
-
|
9642
|
+
'use strict';
|
9364
9643
|
|
9365
9644
|
/**
|
9366
9645
|
* A bounding sphere with a center and a radius.
|
@@ -10656,7 +10935,7 @@ define('Renderer/WebGLConstants',[
|
|
10656
10935
|
'../Core/freezeObject'
|
10657
10936
|
], function(
|
10658
10937
|
freezeObject) {
|
10659
|
-
|
10938
|
+
'use strict';
|
10660
10939
|
|
10661
10940
|
/**
|
10662
10941
|
* WebGL constants.
|
@@ -11252,7 +11531,7 @@ define('Core/Fullscreen',[
|
|
11252
11531
|
], function(
|
11253
11532
|
defined,
|
11254
11533
|
defineProperties) {
|
11255
|
-
|
11534
|
+
'use strict';
|
11256
11535
|
|
11257
11536
|
var _supportsFullscreen;
|
11258
11537
|
var _names = {
|
@@ -11420,22 +11699,22 @@ define('Core/Fullscreen',[
|
|
11420
11699
|
|
11421
11700
|
// casing of Fullscreen differs across browsers
|
11422
11701
|
name = prefix + 'FullscreenEnabled';
|
11423
|
-
if (
|
11702
|
+
if (document[name] !== undefined) {
|
11424
11703
|
_names.fullscreenEnabled = name;
|
11425
11704
|
} else {
|
11426
11705
|
name = prefix + 'FullScreenEnabled';
|
11427
|
-
if (
|
11706
|
+
if (document[name] !== undefined) {
|
11428
11707
|
_names.fullscreenEnabled = name;
|
11429
11708
|
}
|
11430
11709
|
}
|
11431
11710
|
|
11432
11711
|
// casing of Fullscreen differs across browsers
|
11433
11712
|
name = prefix + 'FullscreenElement';
|
11434
|
-
if (
|
11713
|
+
if (document[name] !== undefined) {
|
11435
11714
|
_names.fullscreenElement = name;
|
11436
11715
|
} else {
|
11437
11716
|
name = prefix + 'FullScreenElement';
|
11438
|
-
if (
|
11717
|
+
if (document[name] !== undefined) {
|
11439
11718
|
_names.fullscreenElement = name;
|
11440
11719
|
}
|
11441
11720
|
}
|
@@ -11443,7 +11722,7 @@ define('Core/Fullscreen',[
|
|
11443
11722
|
// thankfully, event names are all lowercase per spec
|
11444
11723
|
name = prefix + 'fullscreenchange';
|
11445
11724
|
// event names do not have 'on' in the front, but the property on the document does
|
11446
|
-
if (
|
11725
|
+
if (document['on' + name] !== undefined) {
|
11447
11726
|
//except on IE
|
11448
11727
|
if (prefix === 'ms') {
|
11449
11728
|
name = 'MSFullscreenChange';
|
@@ -11452,7 +11731,7 @@ define('Core/Fullscreen',[
|
|
11452
11731
|
}
|
11453
11732
|
|
11454
11733
|
name = prefix + 'fullscreenerror';
|
11455
|
-
if (
|
11734
|
+
if (document['on' + name] !== undefined) {
|
11456
11735
|
//except on IE
|
11457
11736
|
if (prefix === 'ms') {
|
11458
11737
|
name = 'MSFullscreenError';
|
@@ -11469,7 +11748,7 @@ define('Core/Fullscreen',[
|
|
11469
11748
|
* If fullscreen mode is not supported by the browser, does nothing.
|
11470
11749
|
*
|
11471
11750
|
* @param {Object} element The HTML element which will be placed into fullscreen mode.
|
11472
|
-
* @param {HMDVRDevice} vrDevice The VR device.
|
11751
|
+
* @param {HMDVRDevice} [vrDevice] The VR device.
|
11473
11752
|
*
|
11474
11753
|
* @example
|
11475
11754
|
* // Put the entire page into fullscreen.
|
@@ -11500,6 +11779,7 @@ define('Core/Fullscreen',[
|
|
11500
11779
|
|
11501
11780
|
return Fullscreen;
|
11502
11781
|
});
|
11782
|
+
|
11503
11783
|
/*global define*/
|
11504
11784
|
define('Core/FeatureDetection',[
|
11505
11785
|
'./defaultValue',
|
@@ -11509,7 +11789,7 @@ define('Core/FeatureDetection',[
|
|
11509
11789
|
defaultValue,
|
11510
11790
|
defined,
|
11511
11791
|
Fullscreen) {
|
11512
|
-
|
11792
|
+
'use strict';
|
11513
11793
|
|
11514
11794
|
var theNavigator;
|
11515
11795
|
if (typeof navigator !== 'undefined') {
|
@@ -11756,7 +12036,7 @@ define('Core/ComponentDatatype',[
|
|
11756
12036
|
DeveloperError,
|
11757
12037
|
FeatureDetection,
|
11758
12038
|
freezeObject) {
|
11759
|
-
|
12039
|
+
'use strict';
|
11760
12040
|
|
11761
12041
|
// Bail out if the browser doesn't support typed arrays, to prevent the setup function
|
11762
12042
|
// from failing, since we won't be able to create a WebGL context anyway.
|
@@ -12000,7 +12280,7 @@ define('Core/GeometryType',[
|
|
12000
12280
|
'./freezeObject'
|
12001
12281
|
], function(
|
12002
12282
|
freezeObject) {
|
12003
|
-
|
12283
|
+
'use strict';
|
12004
12284
|
|
12005
12285
|
/**
|
12006
12286
|
* @private
|
@@ -12022,7 +12302,7 @@ define('Core/PrimitiveType',[
|
|
12022
12302
|
], function(
|
12023
12303
|
WebGLConstants,
|
12024
12304
|
freezeObject) {
|
12025
|
-
|
12305
|
+
'use strict';
|
12026
12306
|
|
12027
12307
|
/**
|
12028
12308
|
* The type of a geometric primitive, i.e., points, lines, and triangles.
|
@@ -12120,7 +12400,7 @@ define('Core/Geometry',[
|
|
12120
12400
|
DeveloperError,
|
12121
12401
|
GeometryType,
|
12122
12402
|
PrimitiveType) {
|
12123
|
-
|
12403
|
+
'use strict';
|
12124
12404
|
|
12125
12405
|
/**
|
12126
12406
|
* A geometry representation with attributes forming vertices and optional index data
|
@@ -12313,7 +12593,7 @@ define('Core/GeometryAttribute',[
|
|
12313
12593
|
defaultValue,
|
12314
12594
|
defined,
|
12315
12595
|
DeveloperError) {
|
12316
|
-
|
12596
|
+
'use strict';
|
12317
12597
|
|
12318
12598
|
/**
|
12319
12599
|
* Values and type information for geometry attributes. A {@link Geometry}
|
@@ -12450,7 +12730,7 @@ define('Core/GeometryAttributes',[
|
|
12450
12730
|
'./defaultValue'
|
12451
12731
|
], function(
|
12452
12732
|
defaultValue) {
|
12453
|
-
|
12733
|
+
'use strict';
|
12454
12734
|
|
12455
12735
|
/**
|
12456
12736
|
* Attributes, which make up a geometry's vertices. Each property in this object corresponds to a
|
@@ -12554,7 +12834,7 @@ define('Core/IndexDatatype',[
|
|
12554
12834
|
DeveloperError,
|
12555
12835
|
freezeObject,
|
12556
12836
|
CesiumMath) {
|
12557
|
-
|
12837
|
+
'use strict';
|
12558
12838
|
|
12559
12839
|
/**
|
12560
12840
|
* Constants for WebGL index datatypes. These corresponds to the
|
@@ -12687,72 +12967,722 @@ define('Core/IndexDatatype',[
|
|
12687
12967
|
return freezeObject(IndexDatatype);
|
12688
12968
|
});
|
12689
12969
|
|
12690
|
-
|
12691
|
-
|
12692
|
-
'./defaultValue',
|
12693
|
-
'./defined',
|
12694
|
-
'./DeveloperError',
|
12695
|
-
'./freezeObject',
|
12696
|
-
'./Math'
|
12697
|
-
], function(
|
12698
|
-
defaultValue,
|
12699
|
-
defined,
|
12700
|
-
DeveloperError,
|
12701
|
-
freezeObject,
|
12702
|
-
CesiumMath) {
|
12703
|
-
"use strict";
|
12970
|
+
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define('ThirdParty/earcut-2.1.1',[],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.earcut = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
12971
|
+
'use strict';
|
12704
12972
|
|
12705
|
-
|
12706
|
-
* A 2D Cartesian point.
|
12707
|
-
* @alias Cartesian2
|
12708
|
-
* @constructor
|
12709
|
-
*
|
12710
|
-
* @param {Number} [x=0.0] The X component.
|
12711
|
-
* @param {Number} [y=0.0] The Y component.
|
12712
|
-
*
|
12713
|
-
* @see Cartesian3
|
12714
|
-
* @see Cartesian4
|
12715
|
-
* @see Packable
|
12716
|
-
*/
|
12717
|
-
function Cartesian2(x, y) {
|
12718
|
-
/**
|
12719
|
-
* The X component.
|
12720
|
-
* @type {Number}
|
12721
|
-
* @default 0.0
|
12722
|
-
*/
|
12723
|
-
this.x = defaultValue(x, 0.0);
|
12973
|
+
module.exports = earcut;
|
12724
12974
|
|
12725
|
-
|
12726
|
-
* The Y component.
|
12727
|
-
* @type {Number}
|
12728
|
-
* @default 0.0
|
12729
|
-
*/
|
12730
|
-
this.y = defaultValue(y, 0.0);
|
12731
|
-
}
|
12975
|
+
function earcut(data, holeIndices, dim) {
|
12732
12976
|
|
12733
|
-
|
12734
|
-
* Creates a Cartesian2 instance from x and y coordinates.
|
12735
|
-
*
|
12736
|
-
* @param {Number} x The x coordinate.
|
12737
|
-
* @param {Number} y The y coordinate.
|
12738
|
-
* @param {Cartesian2} [result] The object onto which to store the result.
|
12739
|
-
* @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
12740
|
-
*/
|
12741
|
-
Cartesian2.fromElements = function(x, y, result) {
|
12742
|
-
if (!defined(result)) {
|
12743
|
-
return new Cartesian2(x, y);
|
12744
|
-
}
|
12977
|
+
dim = dim || 2;
|
12745
12978
|
|
12746
|
-
|
12747
|
-
|
12748
|
-
|
12749
|
-
|
12979
|
+
var hasHoles = holeIndices && holeIndices.length,
|
12980
|
+
outerLen = hasHoles ? holeIndices[0] * dim : data.length,
|
12981
|
+
outerNode = linkedList(data, 0, outerLen, dim, true),
|
12982
|
+
triangles = [];
|
12750
12983
|
|
12751
|
-
|
12752
|
-
|
12753
|
-
|
12754
|
-
|
12755
|
-
|
12984
|
+
if (!outerNode) return triangles;
|
12985
|
+
|
12986
|
+
var minX, minY, maxX, maxY, x, y, size;
|
12987
|
+
|
12988
|
+
if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
|
12989
|
+
|
12990
|
+
// if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
|
12991
|
+
if (data.length > 80 * dim) {
|
12992
|
+
minX = maxX = data[0];
|
12993
|
+
minY = maxY = data[1];
|
12994
|
+
|
12995
|
+
for (var i = dim; i < outerLen; i += dim) {
|
12996
|
+
x = data[i];
|
12997
|
+
y = data[i + 1];
|
12998
|
+
if (x < minX) minX = x;
|
12999
|
+
if (y < minY) minY = y;
|
13000
|
+
if (x > maxX) maxX = x;
|
13001
|
+
if (y > maxY) maxY = y;
|
13002
|
+
}
|
13003
|
+
|
13004
|
+
// minX, minY and size are later used to transform coords into integers for z-order calculation
|
13005
|
+
size = Math.max(maxX - minX, maxY - minY);
|
13006
|
+
}
|
13007
|
+
|
13008
|
+
earcutLinked(outerNode, triangles, dim, minX, minY, size);
|
13009
|
+
|
13010
|
+
return triangles;
|
13011
|
+
}
|
13012
|
+
|
13013
|
+
// create a circular doubly linked list from polygon points in the specified winding order
|
13014
|
+
function linkedList(data, start, end, dim, clockwise) {
|
13015
|
+
var i, last;
|
13016
|
+
|
13017
|
+
if (clockwise === (signedArea(data, start, end, dim) > 0)) {
|
13018
|
+
for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);
|
13019
|
+
} else {
|
13020
|
+
for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);
|
13021
|
+
}
|
13022
|
+
|
13023
|
+
if (last && equals(last, last.next)) {
|
13024
|
+
removeNode(last);
|
13025
|
+
last = last.next;
|
13026
|
+
}
|
13027
|
+
|
13028
|
+
return last;
|
13029
|
+
}
|
13030
|
+
|
13031
|
+
// eliminate colinear or duplicate points
|
13032
|
+
function filterPoints(start, end) {
|
13033
|
+
if (!start) return start;
|
13034
|
+
if (!end) end = start;
|
13035
|
+
|
13036
|
+
var p = start,
|
13037
|
+
again;
|
13038
|
+
do {
|
13039
|
+
again = false;
|
13040
|
+
|
13041
|
+
if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
|
13042
|
+
removeNode(p);
|
13043
|
+
p = end = p.prev;
|
13044
|
+
if (p === p.next) return null;
|
13045
|
+
again = true;
|
13046
|
+
|
13047
|
+
} else {
|
13048
|
+
p = p.next;
|
13049
|
+
}
|
13050
|
+
} while (again || p !== end);
|
13051
|
+
|
13052
|
+
return end;
|
13053
|
+
}
|
13054
|
+
|
13055
|
+
// main ear slicing loop which triangulates a polygon (given as a linked list)
|
13056
|
+
function earcutLinked(ear, triangles, dim, minX, minY, size, pass) {
|
13057
|
+
if (!ear) return;
|
13058
|
+
|
13059
|
+
// interlink polygon nodes in z-order
|
13060
|
+
if (!pass && size) indexCurve(ear, minX, minY, size);
|
13061
|
+
|
13062
|
+
var stop = ear,
|
13063
|
+
prev, next;
|
13064
|
+
|
13065
|
+
// iterate through ears, slicing them one by one
|
13066
|
+
while (ear.prev !== ear.next) {
|
13067
|
+
prev = ear.prev;
|
13068
|
+
next = ear.next;
|
13069
|
+
|
13070
|
+
if (size ? isEarHashed(ear, minX, minY, size) : isEar(ear)) {
|
13071
|
+
// cut off the triangle
|
13072
|
+
triangles.push(prev.i / dim);
|
13073
|
+
triangles.push(ear.i / dim);
|
13074
|
+
triangles.push(next.i / dim);
|
13075
|
+
|
13076
|
+
removeNode(ear);
|
13077
|
+
|
13078
|
+
// skipping the next vertice leads to less sliver triangles
|
13079
|
+
ear = next.next;
|
13080
|
+
stop = next.next;
|
13081
|
+
|
13082
|
+
continue;
|
13083
|
+
}
|
13084
|
+
|
13085
|
+
ear = next;
|
13086
|
+
|
13087
|
+
// if we looped through the whole remaining polygon and can't find any more ears
|
13088
|
+
if (ear === stop) {
|
13089
|
+
// try filtering points and slicing again
|
13090
|
+
if (!pass) {
|
13091
|
+
earcutLinked(filterPoints(ear), triangles, dim, minX, minY, size, 1);
|
13092
|
+
|
13093
|
+
// if this didn't work, try curing all small self-intersections locally
|
13094
|
+
} else if (pass === 1) {
|
13095
|
+
ear = cureLocalIntersections(ear, triangles, dim);
|
13096
|
+
earcutLinked(ear, triangles, dim, minX, minY, size, 2);
|
13097
|
+
|
13098
|
+
// as a last resort, try splitting the remaining polygon into two
|
13099
|
+
} else if (pass === 2) {
|
13100
|
+
splitEarcut(ear, triangles, dim, minX, minY, size);
|
13101
|
+
}
|
13102
|
+
|
13103
|
+
break;
|
13104
|
+
}
|
13105
|
+
}
|
13106
|
+
}
|
13107
|
+
|
13108
|
+
// check whether a polygon node forms a valid ear with adjacent nodes
|
13109
|
+
function isEar(ear) {
|
13110
|
+
var a = ear.prev,
|
13111
|
+
b = ear,
|
13112
|
+
c = ear.next;
|
13113
|
+
|
13114
|
+
if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
|
13115
|
+
|
13116
|
+
// now make sure we don't have other points inside the potential ear
|
13117
|
+
var p = ear.next.next;
|
13118
|
+
|
13119
|
+
while (p !== ear.prev) {
|
13120
|
+
if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
|
13121
|
+
area(p.prev, p, p.next) >= 0) return false;
|
13122
|
+
p = p.next;
|
13123
|
+
}
|
13124
|
+
|
13125
|
+
return true;
|
13126
|
+
}
|
13127
|
+
|
13128
|
+
function isEarHashed(ear, minX, minY, size) {
|
13129
|
+
var a = ear.prev,
|
13130
|
+
b = ear,
|
13131
|
+
c = ear.next;
|
13132
|
+
|
13133
|
+
if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
|
13134
|
+
|
13135
|
+
// triangle bbox; min & max are calculated like this for speed
|
13136
|
+
var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),
|
13137
|
+
minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),
|
13138
|
+
maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),
|
13139
|
+
maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);
|
13140
|
+
|
13141
|
+
// z-order range for the current triangle bbox;
|
13142
|
+
var minZ = zOrder(minTX, minTY, minX, minY, size),
|
13143
|
+
maxZ = zOrder(maxTX, maxTY, minX, minY, size);
|
13144
|
+
|
13145
|
+
// first look for points inside the triangle in increasing z-order
|
13146
|
+
var p = ear.nextZ;
|
13147
|
+
|
13148
|
+
while (p && p.z <= maxZ) {
|
13149
|
+
if (p !== ear.prev && p !== ear.next &&
|
13150
|
+
pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
|
13151
|
+
area(p.prev, p, p.next) >= 0) return false;
|
13152
|
+
p = p.nextZ;
|
13153
|
+
}
|
13154
|
+
|
13155
|
+
// then look for points in decreasing z-order
|
13156
|
+
p = ear.prevZ;
|
13157
|
+
|
13158
|
+
while (p && p.z >= minZ) {
|
13159
|
+
if (p !== ear.prev && p !== ear.next &&
|
13160
|
+
pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
|
13161
|
+
area(p.prev, p, p.next) >= 0) return false;
|
13162
|
+
p = p.prevZ;
|
13163
|
+
}
|
13164
|
+
|
13165
|
+
return true;
|
13166
|
+
}
|
13167
|
+
|
13168
|
+
// go through all polygon nodes and cure small local self-intersections
|
13169
|
+
function cureLocalIntersections(start, triangles, dim) {
|
13170
|
+
var p = start;
|
13171
|
+
do {
|
13172
|
+
var a = p.prev,
|
13173
|
+
b = p.next.next;
|
13174
|
+
|
13175
|
+
if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
|
13176
|
+
|
13177
|
+
triangles.push(a.i / dim);
|
13178
|
+
triangles.push(p.i / dim);
|
13179
|
+
triangles.push(b.i / dim);
|
13180
|
+
|
13181
|
+
// remove two nodes involved
|
13182
|
+
removeNode(p);
|
13183
|
+
removeNode(p.next);
|
13184
|
+
|
13185
|
+
p = start = b;
|
13186
|
+
}
|
13187
|
+
p = p.next;
|
13188
|
+
} while (p !== start);
|
13189
|
+
|
13190
|
+
return p;
|
13191
|
+
}
|
13192
|
+
|
13193
|
+
// try splitting polygon into two and triangulate them independently
|
13194
|
+
function splitEarcut(start, triangles, dim, minX, minY, size) {
|
13195
|
+
// look for a valid diagonal that divides the polygon into two
|
13196
|
+
var a = start;
|
13197
|
+
do {
|
13198
|
+
var b = a.next.next;
|
13199
|
+
while (b !== a.prev) {
|
13200
|
+
if (a.i !== b.i && isValidDiagonal(a, b)) {
|
13201
|
+
// split the polygon in two by the diagonal
|
13202
|
+
var c = splitPolygon(a, b);
|
13203
|
+
|
13204
|
+
// filter colinear points around the cuts
|
13205
|
+
a = filterPoints(a, a.next);
|
13206
|
+
c = filterPoints(c, c.next);
|
13207
|
+
|
13208
|
+
// run earcut on each half
|
13209
|
+
earcutLinked(a, triangles, dim, minX, minY, size);
|
13210
|
+
earcutLinked(c, triangles, dim, minX, minY, size);
|
13211
|
+
return;
|
13212
|
+
}
|
13213
|
+
b = b.next;
|
13214
|
+
}
|
13215
|
+
a = a.next;
|
13216
|
+
} while (a !== start);
|
13217
|
+
}
|
13218
|
+
|
13219
|
+
// link every hole into the outer loop, producing a single-ring polygon without holes
|
13220
|
+
function eliminateHoles(data, holeIndices, outerNode, dim) {
|
13221
|
+
var queue = [],
|
13222
|
+
i, len, start, end, list;
|
13223
|
+
|
13224
|
+
for (i = 0, len = holeIndices.length; i < len; i++) {
|
13225
|
+
start = holeIndices[i] * dim;
|
13226
|
+
end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
|
13227
|
+
list = linkedList(data, start, end, dim, false);
|
13228
|
+
if (list === list.next) list.steiner = true;
|
13229
|
+
queue.push(getLeftmost(list));
|
13230
|
+
}
|
13231
|
+
|
13232
|
+
queue.sort(compareX);
|
13233
|
+
|
13234
|
+
// process holes from left to right
|
13235
|
+
for (i = 0; i < queue.length; i++) {
|
13236
|
+
eliminateHole(queue[i], outerNode);
|
13237
|
+
outerNode = filterPoints(outerNode, outerNode.next);
|
13238
|
+
}
|
13239
|
+
|
13240
|
+
return outerNode;
|
13241
|
+
}
|
13242
|
+
|
13243
|
+
function compareX(a, b) {
|
13244
|
+
return a.x - b.x;
|
13245
|
+
}
|
13246
|
+
|
13247
|
+
// find a bridge between vertices that connects hole with an outer ring and and link it
|
13248
|
+
function eliminateHole(hole, outerNode) {
|
13249
|
+
outerNode = findHoleBridge(hole, outerNode);
|
13250
|
+
if (outerNode) {
|
13251
|
+
var b = splitPolygon(outerNode, hole);
|
13252
|
+
filterPoints(b, b.next);
|
13253
|
+
}
|
13254
|
+
}
|
13255
|
+
|
13256
|
+
// David Eberly's algorithm for finding a bridge between hole and outer polygon
|
13257
|
+
function findHoleBridge(hole, outerNode) {
|
13258
|
+
var p = outerNode,
|
13259
|
+
hx = hole.x,
|
13260
|
+
hy = hole.y,
|
13261
|
+
qx = -Infinity,
|
13262
|
+
m;
|
13263
|
+
|
13264
|
+
// find a segment intersected by a ray from the hole's leftmost point to the left;
|
13265
|
+
// segment's endpoint with lesser x will be potential connection point
|
13266
|
+
do {
|
13267
|
+
if (hy <= p.y && hy >= p.next.y) {
|
13268
|
+
var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
|
13269
|
+
if (x <= hx && x > qx) {
|
13270
|
+
qx = x;
|
13271
|
+
if (x === hx) {
|
13272
|
+
if (hy === p.y) return p;
|
13273
|
+
if (hy === p.next.y) return p.next;
|
13274
|
+
}
|
13275
|
+
m = p.x < p.next.x ? p : p.next;
|
13276
|
+
}
|
13277
|
+
}
|
13278
|
+
p = p.next;
|
13279
|
+
} while (p !== outerNode);
|
13280
|
+
|
13281
|
+
if (!m) return null;
|
13282
|
+
|
13283
|
+
if (hx === qx) return m.prev; // hole touches outer segment; pick lower endpoint
|
13284
|
+
|
13285
|
+
// look for points inside the triangle of hole point, segment intersection and endpoint;
|
13286
|
+
// if there are no points found, we have a valid connection;
|
13287
|
+
// otherwise choose the point of the minimum angle with the ray as connection point
|
13288
|
+
|
13289
|
+
var stop = m,
|
13290
|
+
mx = m.x,
|
13291
|
+
my = m.y,
|
13292
|
+
tanMin = Infinity,
|
13293
|
+
tan;
|
13294
|
+
|
13295
|
+
p = m.next;
|
13296
|
+
|
13297
|
+
while (p !== stop) {
|
13298
|
+
if (hx >= p.x && p.x >= mx &&
|
13299
|
+
pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
|
13300
|
+
|
13301
|
+
tan = Math.abs(hy - p.y) / (hx - p.x); // tangential
|
13302
|
+
|
13303
|
+
if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {
|
13304
|
+
m = p;
|
13305
|
+
tanMin = tan;
|
13306
|
+
}
|
13307
|
+
}
|
13308
|
+
|
13309
|
+
p = p.next;
|
13310
|
+
}
|
13311
|
+
|
13312
|
+
return m;
|
13313
|
+
}
|
13314
|
+
|
13315
|
+
// interlink polygon nodes in z-order
|
13316
|
+
function indexCurve(start, minX, minY, size) {
|
13317
|
+
var p = start;
|
13318
|
+
do {
|
13319
|
+
if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, size);
|
13320
|
+
p.prevZ = p.prev;
|
13321
|
+
p.nextZ = p.next;
|
13322
|
+
p = p.next;
|
13323
|
+
} while (p !== start);
|
13324
|
+
|
13325
|
+
p.prevZ.nextZ = null;
|
13326
|
+
p.prevZ = null;
|
13327
|
+
|
13328
|
+
sortLinked(p);
|
13329
|
+
}
|
13330
|
+
|
13331
|
+
// Simon Tatham's linked list merge sort algorithm
|
13332
|
+
// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
|
13333
|
+
function sortLinked(list) {
|
13334
|
+
var i, p, q, e, tail, numMerges, pSize, qSize,
|
13335
|
+
inSize = 1;
|
13336
|
+
|
13337
|
+
do {
|
13338
|
+
p = list;
|
13339
|
+
list = null;
|
13340
|
+
tail = null;
|
13341
|
+
numMerges = 0;
|
13342
|
+
|
13343
|
+
while (p) {
|
13344
|
+
numMerges++;
|
13345
|
+
q = p;
|
13346
|
+
pSize = 0;
|
13347
|
+
for (i = 0; i < inSize; i++) {
|
13348
|
+
pSize++;
|
13349
|
+
q = q.nextZ;
|
13350
|
+
if (!q) break;
|
13351
|
+
}
|
13352
|
+
|
13353
|
+
qSize = inSize;
|
13354
|
+
|
13355
|
+
while (pSize > 0 || (qSize > 0 && q)) {
|
13356
|
+
|
13357
|
+
if (pSize === 0) {
|
13358
|
+
e = q;
|
13359
|
+
q = q.nextZ;
|
13360
|
+
qSize--;
|
13361
|
+
} else if (qSize === 0 || !q) {
|
13362
|
+
e = p;
|
13363
|
+
p = p.nextZ;
|
13364
|
+
pSize--;
|
13365
|
+
} else if (p.z <= q.z) {
|
13366
|
+
e = p;
|
13367
|
+
p = p.nextZ;
|
13368
|
+
pSize--;
|
13369
|
+
} else {
|
13370
|
+
e = q;
|
13371
|
+
q = q.nextZ;
|
13372
|
+
qSize--;
|
13373
|
+
}
|
13374
|
+
|
13375
|
+
if (tail) tail.nextZ = e;
|
13376
|
+
else list = e;
|
13377
|
+
|
13378
|
+
e.prevZ = tail;
|
13379
|
+
tail = e;
|
13380
|
+
}
|
13381
|
+
|
13382
|
+
p = q;
|
13383
|
+
}
|
13384
|
+
|
13385
|
+
tail.nextZ = null;
|
13386
|
+
inSize *= 2;
|
13387
|
+
|
13388
|
+
} while (numMerges > 1);
|
13389
|
+
|
13390
|
+
return list;
|
13391
|
+
}
|
13392
|
+
|
13393
|
+
// z-order of a point given coords and size of the data bounding box
|
13394
|
+
function zOrder(x, y, minX, minY, size) {
|
13395
|
+
// coords are transformed into non-negative 15-bit integer range
|
13396
|
+
x = 32767 * (x - minX) / size;
|
13397
|
+
y = 32767 * (y - minY) / size;
|
13398
|
+
|
13399
|
+
x = (x | (x << 8)) & 0x00FF00FF;
|
13400
|
+
x = (x | (x << 4)) & 0x0F0F0F0F;
|
13401
|
+
x = (x | (x << 2)) & 0x33333333;
|
13402
|
+
x = (x | (x << 1)) & 0x55555555;
|
13403
|
+
|
13404
|
+
y = (y | (y << 8)) & 0x00FF00FF;
|
13405
|
+
y = (y | (y << 4)) & 0x0F0F0F0F;
|
13406
|
+
y = (y | (y << 2)) & 0x33333333;
|
13407
|
+
y = (y | (y << 1)) & 0x55555555;
|
13408
|
+
|
13409
|
+
return x | (y << 1);
|
13410
|
+
}
|
13411
|
+
|
13412
|
+
// find the leftmost node of a polygon ring
|
13413
|
+
function getLeftmost(start) {
|
13414
|
+
var p = start,
|
13415
|
+
leftmost = start;
|
13416
|
+
do {
|
13417
|
+
if (p.x < leftmost.x) leftmost = p;
|
13418
|
+
p = p.next;
|
13419
|
+
} while (p !== start);
|
13420
|
+
|
13421
|
+
return leftmost;
|
13422
|
+
}
|
13423
|
+
|
13424
|
+
// check if a point lies within a convex triangle
|
13425
|
+
function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
|
13426
|
+
return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&
|
13427
|
+
(ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&
|
13428
|
+
(bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
|
13429
|
+
}
|
13430
|
+
|
13431
|
+
// check if a diagonal between two polygon nodes is valid (lies in polygon interior)
|
13432
|
+
function isValidDiagonal(a, b) {
|
13433
|
+
return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&
|
13434
|
+
locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);
|
13435
|
+
}
|
13436
|
+
|
13437
|
+
// signed area of a triangle
|
13438
|
+
function area(p, q, r) {
|
13439
|
+
return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
|
13440
|
+
}
|
13441
|
+
|
13442
|
+
// check if two points are equal
|
13443
|
+
function equals(p1, p2) {
|
13444
|
+
return p1.x === p2.x && p1.y === p2.y;
|
13445
|
+
}
|
13446
|
+
|
13447
|
+
// check if two segments intersect
|
13448
|
+
function intersects(p1, q1, p2, q2) {
|
13449
|
+
if ((equals(p1, q1) && equals(p2, q2)) ||
|
13450
|
+
(equals(p1, q2) && equals(p2, q1))) return true;
|
13451
|
+
return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&
|
13452
|
+
area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;
|
13453
|
+
}
|
13454
|
+
|
13455
|
+
// check if a polygon diagonal intersects any polygon segments
|
13456
|
+
function intersectsPolygon(a, b) {
|
13457
|
+
var p = a;
|
13458
|
+
do {
|
13459
|
+
if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
|
13460
|
+
intersects(p, p.next, a, b)) return true;
|
13461
|
+
p = p.next;
|
13462
|
+
} while (p !== a);
|
13463
|
+
|
13464
|
+
return false;
|
13465
|
+
}
|
13466
|
+
|
13467
|
+
// check if a polygon diagonal is locally inside the polygon
|
13468
|
+
function locallyInside(a, b) {
|
13469
|
+
return area(a.prev, a, a.next) < 0 ?
|
13470
|
+
area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :
|
13471
|
+
area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
|
13472
|
+
}
|
13473
|
+
|
13474
|
+
// check if the middle point of a polygon diagonal is inside the polygon
|
13475
|
+
function middleInside(a, b) {
|
13476
|
+
var p = a,
|
13477
|
+
inside = false,
|
13478
|
+
px = (a.x + b.x) / 2,
|
13479
|
+
py = (a.y + b.y) / 2;
|
13480
|
+
do {
|
13481
|
+
if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))
|
13482
|
+
inside = !inside;
|
13483
|
+
p = p.next;
|
13484
|
+
} while (p !== a);
|
13485
|
+
|
13486
|
+
return inside;
|
13487
|
+
}
|
13488
|
+
|
13489
|
+
// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;
|
13490
|
+
// if one belongs to the outer ring and another to a hole, it merges it into a single ring
|
13491
|
+
function splitPolygon(a, b) {
|
13492
|
+
var a2 = new Node(a.i, a.x, a.y),
|
13493
|
+
b2 = new Node(b.i, b.x, b.y),
|
13494
|
+
an = a.next,
|
13495
|
+
bp = b.prev;
|
13496
|
+
|
13497
|
+
a.next = b;
|
13498
|
+
b.prev = a;
|
13499
|
+
|
13500
|
+
a2.next = an;
|
13501
|
+
an.prev = a2;
|
13502
|
+
|
13503
|
+
b2.next = a2;
|
13504
|
+
a2.prev = b2;
|
13505
|
+
|
13506
|
+
bp.next = b2;
|
13507
|
+
b2.prev = bp;
|
13508
|
+
|
13509
|
+
return b2;
|
13510
|
+
}
|
13511
|
+
|
13512
|
+
// create a node and optionally link it with previous one (in a circular doubly linked list)
|
13513
|
+
function insertNode(i, x, y, last) {
|
13514
|
+
var p = new Node(i, x, y);
|
13515
|
+
|
13516
|
+
if (!last) {
|
13517
|
+
p.prev = p;
|
13518
|
+
p.next = p;
|
13519
|
+
|
13520
|
+
} else {
|
13521
|
+
p.next = last.next;
|
13522
|
+
p.prev = last;
|
13523
|
+
last.next.prev = p;
|
13524
|
+
last.next = p;
|
13525
|
+
}
|
13526
|
+
return p;
|
13527
|
+
}
|
13528
|
+
|
13529
|
+
function removeNode(p) {
|
13530
|
+
p.next.prev = p.prev;
|
13531
|
+
p.prev.next = p.next;
|
13532
|
+
|
13533
|
+
if (p.prevZ) p.prevZ.nextZ = p.nextZ;
|
13534
|
+
if (p.nextZ) p.nextZ.prevZ = p.prevZ;
|
13535
|
+
}
|
13536
|
+
|
13537
|
+
function Node(i, x, y) {
|
13538
|
+
// vertice index in coordinates array
|
13539
|
+
this.i = i;
|
13540
|
+
|
13541
|
+
// vertex coordinates
|
13542
|
+
this.x = x;
|
13543
|
+
this.y = y;
|
13544
|
+
|
13545
|
+
// previous and next vertice nodes in a polygon ring
|
13546
|
+
this.prev = null;
|
13547
|
+
this.next = null;
|
13548
|
+
|
13549
|
+
// z-order curve value
|
13550
|
+
this.z = null;
|
13551
|
+
|
13552
|
+
// previous and next nodes in z-order
|
13553
|
+
this.prevZ = null;
|
13554
|
+
this.nextZ = null;
|
13555
|
+
|
13556
|
+
// indicates whether this is a steiner point
|
13557
|
+
this.steiner = false;
|
13558
|
+
}
|
13559
|
+
|
13560
|
+
// return a percentage difference between the polygon area and its triangulation area;
|
13561
|
+
// used to verify correctness of triangulation
|
13562
|
+
earcut.deviation = function (data, holeIndices, dim, triangles) {
|
13563
|
+
var hasHoles = holeIndices && holeIndices.length;
|
13564
|
+
var outerLen = hasHoles ? holeIndices[0] * dim : data.length;
|
13565
|
+
|
13566
|
+
var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
|
13567
|
+
if (hasHoles) {
|
13568
|
+
for (var i = 0, len = holeIndices.length; i < len; i++) {
|
13569
|
+
var start = holeIndices[i] * dim;
|
13570
|
+
var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
|
13571
|
+
polygonArea -= Math.abs(signedArea(data, start, end, dim));
|
13572
|
+
}
|
13573
|
+
}
|
13574
|
+
|
13575
|
+
var trianglesArea = 0;
|
13576
|
+
for (i = 0; i < triangles.length; i += 3) {
|
13577
|
+
var a = triangles[i] * dim;
|
13578
|
+
var b = triangles[i + 1] * dim;
|
13579
|
+
var c = triangles[i + 2] * dim;
|
13580
|
+
trianglesArea += Math.abs(
|
13581
|
+
(data[a] - data[c]) * (data[b + 1] - data[a + 1]) -
|
13582
|
+
(data[a] - data[b]) * (data[c + 1] - data[a + 1]));
|
13583
|
+
}
|
13584
|
+
|
13585
|
+
return polygonArea === 0 && trianglesArea === 0 ? 0 :
|
13586
|
+
Math.abs((trianglesArea - polygonArea) / polygonArea);
|
13587
|
+
};
|
13588
|
+
|
13589
|
+
function signedArea(data, start, end, dim) {
|
13590
|
+
var sum = 0;
|
13591
|
+
for (var i = start, j = end - dim; i < end; i += dim) {
|
13592
|
+
sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
|
13593
|
+
j = i;
|
13594
|
+
}
|
13595
|
+
return sum;
|
13596
|
+
}
|
13597
|
+
|
13598
|
+
// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts
|
13599
|
+
earcut.flatten = function (data) {
|
13600
|
+
var dim = data[0][0].length,
|
13601
|
+
result = {vertices: [], holes: [], dimensions: dim},
|
13602
|
+
holeIndex = 0;
|
13603
|
+
|
13604
|
+
for (var i = 0; i < data.length; i++) {
|
13605
|
+
for (var j = 0; j < data[i].length; j++) {
|
13606
|
+
for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
|
13607
|
+
}
|
13608
|
+
if (i > 0) {
|
13609
|
+
holeIndex += data[i - 1].length;
|
13610
|
+
result.holes.push(holeIndex);
|
13611
|
+
}
|
13612
|
+
}
|
13613
|
+
return result;
|
13614
|
+
};
|
13615
|
+
|
13616
|
+
},{}]},{},[1])(1)
|
13617
|
+
});
|
13618
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvZWFyY3V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIid1c2Ugc3RyaWN0JztcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZWFyY3V0O1xyXG5cclxuZnVuY3Rpb24gZWFyY3V0KGRhdGEsIGhvbGVJbmRpY2VzLCBkaW0pIHtcclxuXHJcbiAgICBkaW0gPSBkaW0gfHwgMjtcclxuXHJcbiAgICB2YXIgaGFzSG9sZXMgPSBob2xlSW5kaWNlcyAmJiBob2xlSW5kaWNlcy5sZW5ndGgsXHJcbiAgICAgICAgb3V0ZXJMZW4gPSBoYXNIb2xlcyA/IGhvbGVJbmRpY2VzWzBdICogZGltIDogZGF0YS5sZW5ndGgsXHJcbiAgICAgICAgb3V0ZXJOb2RlID0gbGlua2VkTGlzdChkYXRhLCAwLCBvdXRlckxlbiwgZGltLCB0cnVlKSxcclxuICAgICAgICB0cmlhbmdsZXMgPSBbXTtcclxuXHJcbiAgICBpZiAoIW91dGVyTm9kZSkgcmV0dXJuIHRyaWFuZ2xlcztcclxuXHJcbiAgICB2YXIgbWluWCwgbWluWSwgbWF4WCwgbWF4WSwgeCwgeSwgc2l6ZTtcclxuXHJcbiAgICBpZiAoaGFzSG9sZXMpIG91dGVyTm9kZSA9IGVsaW1pbmF0ZUhvbGVzKGRhdGEsIGhvbGVJbmRpY2VzLCBvdXRlck5vZGUsIGRpbSk7XHJcblxyXG4gICAgLy8gaWYgdGhlIHNoYXBlIGlzIG5vdCB0b28gc2ltcGxlLCB3ZSdsbCB1c2Ugei1vcmRlciBjdXJ2ZSBoYXNoIGxhdGVyOyBjYWxjdWxhdGUgcG9seWdvbiBiYm94XHJcbiAgICBpZiAoZGF0YS5sZW5ndGggPiA4MCAqIGRpbSkge1xyXG4gICAgICAgIG1pblggPSBtYXhYID0gZGF0YVswXTtcclxuICAgICAgICBtaW5ZID0gbWF4WSA9IGRhdGFbMV07XHJcblxyXG4gICAgICAgIGZvciAodmFyIGkgPSBkaW07IGkgPCBvdXRlckxlbjsgaSArPSBkaW0pIHtcclxuICAgICAgICAgICAgeCA9IGRhdGFbaV07XHJcbiAgICAgICAgICAgIHkgPSBkYXRhW2kgKyAxXTtcclxuICAgICAgICAgICAgaWYgKHggPCBtaW5YKSBtaW5YID0geDtcclxuICAgICAgICAgICAgaWYgKHkgPCBtaW5ZKSBtaW5ZID0geTtcclxuICAgICAgICAgICAgaWYgKHggPiBtYXhYKSBtYXhYID0geDtcclxuICAgICAgICAgICAgaWYgKHkgPiBtYXhZKSBtYXhZID0geTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIG1pblgsIG1pblkgYW5kIHNpemUgYXJlIGxhdGVyIHVzZWQgdG8gdHJhbnNmb3JtIGNvb3JkcyBpbnRvIGludGVnZXJzIGZvciB6LW9yZGVyIGNhbGN1bGF0aW9uXHJcbiAgICAgICAgc2l6ZSA9IE1hdGgubWF4KG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7XHJcbiAgICB9XHJcblxyXG4gICAgZWFyY3V0TGlua2VkKG91dGVyTm9kZSwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG5cclxuICAgIHJldHVybiB0cmlhbmdsZXM7XHJcbn1cclxuXHJcbi8vIGNyZWF0ZSBhIGNpcmN1bGFyIGRvdWJseSBsaW5rZWQgbGlzdCBmcm9tIHBvbHlnb24gcG9pbnRzIGluIHRoZSBzcGVjaWZpZWQgd2luZGluZyBvcmRlclxyXG5mdW5jdGlvbiBsaW5rZWRMaXN0KGRhdGEsIHN0YXJ0LCBlbmQsIGRpbSwgY2xvY2t3aXNlKSB7XHJcbiAgICB2YXIgaSwgbGFzdDtcclxuXHJcbiAgICBpZiAoY2xvY2t3aXNlID09PSAoc2lnbmVkQXJlYShkYXRhLCBzdGFydCwgZW5kLCBkaW0pID4gMCkpIHtcclxuICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBkaW0pIGxhc3QgPSBpbnNlcnROb2RlKGksIGRhdGFbaV0sIGRhdGFbaSArIDFdLCBsYXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9yIChpID0gZW5kIC0gZGltOyBpID49IHN0YXJ0OyBpIC09IGRpbSkgbGFzdCA9IGluc2VydE5vZGUoaSwgZGF0YVtpXSwgZGF0YVtpICsgMV0sIGxhc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXN0ICYmIGVxdWFscyhsYXN0LCBsYXN0Lm5leHQpKSB7XHJcbiAgICAgICAgcmVtb3ZlTm9kZShsYXN0KTtcclxuICAgICAgICBsYXN0ID0gbGFzdC5uZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYXN0O1xyXG59XHJcblxyXG4vLyBlbGltaW5hdGUgY29saW5lYXIgb3IgZHVwbGljYXRlIHBvaW50c1xyXG5mdW5jdGlvbiBmaWx0ZXJQb2ludHMoc3RhcnQsIGVuZCkge1xyXG4gICAgaWYgKCFzdGFydCkgcmV0dXJuIHN0YXJ0O1xyXG4gICAgaWYgKCFlbmQpIGVuZCA9IHN0YXJ0O1xyXG5cclxuICAgIHZhciBwID0gc3RhcnQsXHJcbiAgICAgICAgYWdhaW47XHJcbiAgICBkbyB7XHJcbiAgICAgICAgYWdhaW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKCFwLnN0ZWluZXIgJiYgKGVxdWFscyhwLCBwLm5leHQpIHx8IGFyZWEocC5wcmV2LCBwLCBwLm5leHQpID09PSAwKSkge1xyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHApO1xyXG4gICAgICAgICAgICBwID0gZW5kID0gcC5wcmV2O1xyXG4gICAgICAgICAgICBpZiAocCA9PT0gcC5uZXh0KSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgYWdhaW4gPSB0cnVlO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgICAgIH1cclxuICAgIH0gd2hpbGUgKGFnYWluIHx8IHAgIT09IGVuZCk7XHJcblxyXG4gICAgcmV0dXJuIGVuZDtcclxufVxyXG5cclxuLy8gbWFpbiBlYXIgc2xpY2luZyBsb29wIHdoaWNoIHRyaWFuZ3VsYXRlcyBhIHBvbHlnb24gKGdpdmVuIGFzIGEgbGlua2VkIGxpc3QpXHJcbmZ1bmN0aW9uIGVhcmN1dExpbmtlZChlYXIsIHRyaWFuZ2xlcywgZGltLCBtaW5YLCBtaW5ZLCBzaXplLCBwYXNzKSB7XHJcbiAgICBpZiAoIWVhcikgcmV0dXJuO1xyXG5cclxuICAgIC8vIGludGVybGluayBwb2x5Z29uIG5vZGVzIGluIHotb3JkZXJcclxuICAgIGlmICghcGFzcyAmJiBzaXplKSBpbmRleEN1cnZlKGVhciwgbWluWCwgbWluWSwgc2l6ZSk7XHJcblxyXG4gICAgdmFyIHN0b3AgPSBlYXIsXHJcbiAgICAgICAgcHJldiwgbmV4dDtcclxuXHJcbiAgICAvLyBpdGVyYXRlIHRocm91Z2ggZWFycywgc2xpY2luZyB0aGVtIG9uZSBieSBvbmVcclxuICAgIHdoaWxlIChlYXIucHJldiAhPT0gZWFyLm5leHQpIHtcclxuICAgICAgICBwcmV2ID0gZWFyLnByZXY7XHJcbiAgICAgICAgbmV4dCA9IGVhci5uZXh0O1xyXG5cclxuICAgICAgICBpZiAoc2l6ZSA/IGlzRWFySGFzaGVkKGVhciwgbWluWCwgbWluWSwgc2l6ZSkgOiBpc0VhcihlYXIpKSB7XHJcbiAgICAgICAgICAgIC8vIGN1dCBvZmYgdGhlIHRyaWFuZ2xlXHJcbiAgICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKHByZXYuaSAvIGRpbSk7XHJcbiAgICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKGVhci5pIC8gZGltKTtcclxuICAgICAgICAgICAgdHJpYW5nbGVzLnB1c2gobmV4dC5pIC8gZGltKTtcclxuXHJcbiAgICAgICAgICAgIHJlbW92ZU5vZGUoZWFyKTtcclxuXHJcbiAgICAgICAgICAgIC8vIHNraXBwaW5nIHRoZSBuZXh0IHZlcnRpY2UgbGVhZHMgdG8gbGVzcyBzbGl2ZXIgdHJpYW5nbGVzXHJcbiAgICAgICAgICAgIGVhciA9IG5leHQubmV4dDtcclxuICAgICAgICAgICAgc3RvcCA9IG5leHQubmV4dDtcclxuXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWFyID0gbmV4dDtcclxuXHJcbiAgICAgICAgLy8gaWYgd2UgbG9vcGVkIHRocm91Z2ggdGhlIHdob2xlIHJlbWFpbmluZyBwb2x5Z29uIGFuZCBjYW4ndCBmaW5kIGFueSBtb3JlIGVhcnNcclxuICAgICAgICBpZiAoZWFyID09PSBzdG9wKSB7XHJcbiAgICAgICAgICAgIC8vIHRyeSBmaWx0ZXJpbmcgcG9pbnRzIGFuZCBzbGljaW5nIGFnYWluXHJcbiAgICAgICAgICAgIGlmICghcGFzcykge1xyXG4gICAgICAgICAgICAgICAgZWFyY3V0TGlua2VkKGZpbHRlclBvaW50cyhlYXIpLCB0cmlhbmdsZXMsIGRpbSwgbWluWCwgbWluWSwgc2l6ZSwgMSk7XHJcblxyXG4gICAgICAgICAgICAvLyBpZiB0aGlzIGRpZG4ndCB3b3JrLCB0cnkgY3VyaW5nIGFsbCBzbWFsbCBzZWxmLWludGVyc2VjdGlvbnMgbG9jYWxseVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhc3MgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIGVhciA9IGN1cmVMb2NhbEludGVyc2VjdGlvbnMoZWFyLCB0cmlhbmdsZXMsIGRpbSk7XHJcbiAgICAgICAgICAgICAgICBlYXJjdXRMaW5rZWQoZWFyLCB0cmlhbmdsZXMsIGRpbSwgbWluWCwgbWluWSwgc2l6ZSwgMik7XHJcblxyXG4gICAgICAgICAgICAvLyBhcyBhIGxhc3QgcmVzb3J0LCB0cnkgc3BsaXR0aW5nIHRoZSByZW1haW5pbmcgcG9seWdvbiBpbnRvIHR3b1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhc3MgPT09IDIpIHtcclxuICAgICAgICAgICAgICAgIHNwbGl0RWFyY3V0KGVhciwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGNoZWNrIHdoZXRoZXIgYSBwb2x5Z29uIG5vZGUgZm9ybXMgYSB2YWxpZCBlYXIgd2l0aCBhZGphY2VudCBub2Rlc1xyXG5mdW5jdGlvbiBpc0VhcihlYXIpIHtcclxuICAgIHZhciBhID0gZWFyLnByZXYsXHJcbiAgICAgICAgYiA9IGVhcixcclxuICAgICAgICBjID0gZWFyLm5leHQ7XHJcblxyXG4gICAgaWYgKGFyZWEoYSwgYiwgYykgPj0gMCkgcmV0dXJuIGZhbHNlOyAvLyByZWZsZXgsIGNhbid0IGJlIGFuIGVhclxyXG5cclxuICAgIC8vIG5vdyBtYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBvdGhlciBwb2ludHMgaW5zaWRlIHRoZSBwb3RlbnRpYWwgZWFyXHJcbiAgICB2YXIgcCA9IGVhci5uZXh0Lm5leHQ7XHJcblxyXG4gICAgd2hpbGUgKHAgIT09IGVhci5wcmV2KSB7XHJcbiAgICAgICAgaWYgKHBvaW50SW5UcmlhbmdsZShhLngsIGEueSwgYi54LCBiLnksIGMueCwgYy55LCBwLngsIHAueSkgJiZcclxuICAgICAgICAgICAgYXJlYShwLnByZXYsIHAsIHAubmV4dCkgPj0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHAgPSBwLm5leHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRWFySGFzaGVkKGVhciwgbWluWCwgbWluWSwgc2l6ZSkge1xyXG4gICAgdmFyIGEgPSBlYXIucHJldixcclxuICAgICAgICBiID0gZWFyLFxyXG4gICAgICAgIGMgPSBlYXIubmV4dDtcclxuXHJcbiAgICBpZiAoYXJlYShhLCBiLCBjKSA+PSAwKSByZXR1cm4gZmFsc2U7IC8vIHJlZmxleCwgY2FuJ3QgYmUgYW4gZWFyXHJcblxyXG4gICAgLy8gdHJpYW5nbGUgYmJveDsgbWluICYgbWF4IGFyZSBjYWxjdWxhdGVkIGxpa2UgdGhpcyBmb3Igc3BlZWRcclxuICAgIHZhciBtaW5UWCA9IGEueCA8IGIueCA/IChhLnggPCBjLnggPyBhLnggOiBjLngpIDogKGIueCA8IGMueCA/IGIueCA6IGMueCksXHJcbiAgICAgICAgbWluVFkgPSBhLnkgPCBiLnkgPyAoYS55IDwgYy55ID8gYS55IDogYy55KSA6IChiLnkgPCBjLnkgPyBiLnkgOiBjLnkpLFxyXG4gICAgICAgIG1heFRYID0gYS54ID4gYi54ID8gKGEueCA+IGMueCA/IGEueCA6IGMueCkgOiAoYi54ID4gYy54ID8gYi54IDogYy54KSxcclxuICAgICAgICBtYXhUWSA9IGEueSA+IGIueSA/IChhLnkgPiBjLnkgPyBhLnkgOiBjLnkpIDogKGIueSA+IGMueSA/IGIueSA6IGMueSk7XHJcblxyXG4gICAgLy8gei1vcmRlciByYW5nZSBmb3IgdGhlIGN1cnJlbnQgdHJpYW5nbGUgYmJveDtcclxuICAgIHZhciBtaW5aID0gek9yZGVyKG1pblRYLCBtaW5UWSwgbWluWCwgbWluWSwgc2l6ZSksXHJcbiAgICAgICAgbWF4WiA9IHpPcmRlcihtYXhUWCwgbWF4VFksIG1pblgsIG1pblksIHNpemUpO1xyXG5cclxuICAgIC8vIGZpcnN0IGxvb2sgZm9yIHBvaW50cyBpbnNpZGUgdGhlIHRyaWFuZ2xlIGluIGluY3JlYXNpbmcgei1vcmRlclxyXG4gICAgdmFyIHAgPSBlYXIubmV4dFo7XHJcblxyXG4gICAgd2hpbGUgKHAgJiYgcC56IDw9IG1heFopIHtcclxuICAgICAgICBpZiAocCAhPT0gZWFyLnByZXYgJiYgcCAhPT0gZWFyLm5leHQgJiZcclxuICAgICAgICAgICAgcG9pbnRJblRyaWFuZ2xlKGEueCwgYS55LCBiLngsIGIueSwgYy54LCBjLnksIHAueCwgcC55KSAmJlxyXG4gICAgICAgICAgICBhcmVhKHAucHJldiwgcCwgcC5uZXh0KSA+PSAwKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcCA9IHAubmV4dFo7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhlbiBsb29rIGZvciBwb2ludHMgaW4gZGVjcmVhc2luZyB6LW9yZGVyXHJcbiAgICBwID0gZWFyLnByZXZaO1xyXG5cclxuICAgIHdoaWxlIChwICYmIHAueiA+PSBtaW5aKSB7XHJcbiAgICAgICAgaWYgKHAgIT09IGVhci5wcmV2ICYmIHAgIT09IGVhci5uZXh0ICYmXHJcbiAgICAgICAgICAgIHBvaW50SW5UcmlhbmdsZShhLngsIGEueSwgYi54LCBiLnksIGMueCwgYy55LCBwLngsIHAueSkgJiZcclxuICAgICAgICAgICAgYXJlYShwLnByZXYsIHAsIHAubmV4dCkgPj0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHAgPSBwLnByZXZaO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLyBnbyB0aHJvdWdoIGFsbCBwb2x5Z29uIG5vZGVzIGFuZCBjdXJlIHNtYWxsIGxvY2FsIHNlbGYtaW50ZXJzZWN0aW9uc1xyXG5mdW5jdGlvbiBjdXJlTG9jYWxJbnRlcnNlY3Rpb25zKHN0YXJ0LCB0cmlhbmdsZXMsIGRpbSkge1xyXG4gICAgdmFyIHAgPSBzdGFydDtcclxuICAgIGRvIHtcclxuICAgICAgICB2YXIgYSA9IHAucHJldixcclxuICAgICAgICAgICAgYiA9IHAubmV4dC5uZXh0O1xyXG5cclxuICAgICAgICBpZiAoIWVxdWFscyhhLCBiKSAmJiBpbnRlcnNlY3RzKGEsIHAsIHAubmV4dCwgYikgJiYgbG9jYWxseUluc2lkZShhLCBiKSAmJiBsb2NhbGx5SW5zaWRlKGIsIGEpKSB7XHJcblxyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChhLmkgLyBkaW0pO1xyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChwLmkgLyBkaW0pO1xyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChiLmkgLyBkaW0pO1xyXG5cclxuICAgICAgICAgICAgLy8gcmVtb3ZlIHR3byBub2RlcyBpbnZvbHZlZFxyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHApO1xyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHAubmV4dCk7XHJcblxyXG4gICAgICAgICAgICBwID0gc3RhcnQgPSBiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfSB3aGlsZSAocCAhPT0gc3RhcnQpO1xyXG5cclxuICAgIHJldHVybiBwO1xyXG59XHJcblxyXG4vLyB0cnkgc3BsaXR0aW5nIHBvbHlnb24gaW50byB0d28gYW5kIHRyaWFuZ3VsYXRlIHRoZW0gaW5kZXBlbmRlbnRseVxyXG5mdW5jdGlvbiBzcGxpdEVhcmN1dChzdGFydCwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpIHtcclxuICAgIC8vIGxvb2sgZm9yIGEgdmFsaWQgZGlhZ29uYWwgdGhhdCBkaXZpZGVzIHRoZSBwb2x5Z29uIGludG8gdHdvXHJcbiAgICB2YXIgYSA9IHN0YXJ0O1xyXG4gICAgZG8ge1xyXG4gICAgICAgIHZhciBiID0gYS5uZXh0Lm5leHQ7XHJcbiAgICAgICAgd2hpbGUgKGIgIT09IGEucHJldikge1xyXG4gICAgICAgICAgICBpZiAoYS5pICE9PSBiLmkgJiYgaXNWYWxpZERpYWdvbmFsKGEsIGIpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzcGxpdCB0aGUgcG9seWdvbiBpbiB0d28gYnkgdGhlIGRpYWdvbmFsXHJcbiAgICAgICAgICAgICAgICB2YXIgYyA9IHNwbGl0UG9seWdvbihhLCBiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgY29saW5lYXIgcG9pbnRzIGFyb3VuZCB0aGUgY3V0c1xyXG4gICAgICAgICAgICAgICAgYSA9IGZpbHRlclBvaW50cyhhLCBhLm5leHQpO1xyXG4gICAgICAgICAgICAgICAgYyA9IGZpbHRlclBvaW50cyhjLCBjLm5leHQpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHJ1biBlYXJjdXQgb24gZWFjaCBoYWxmXHJcbiAgICAgICAgICAgICAgICBlYXJjdXRMaW5rZWQoYSwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgZWFyY3V0TGlua2VkKGMsIHRyaWFuZ2xlcywgZGltLCBtaW5YLCBtaW5ZLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiID0gYi5uZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhID0gYS5uZXh0O1xyXG4gICAgfSB3aGlsZSAoYSAhPT0gc3RhcnQpO1xyXG59XHJcblxyXG4vLyBsaW5rIGV2ZXJ5IGhvbGUgaW50byB0aGUgb3V0ZXIgbG9vcCwgcHJvZHVjaW5nIGEgc2luZ2xlLXJpbmcgcG9seWdvbiB3aXRob3V0IGhvbGVzXHJcbmZ1bmN0aW9uIGVsaW1pbmF0ZUhvbGVzKGRhdGEsIGhvbGVJbmRpY2VzLCBvdXRlck5vZGUsIGRpbSkge1xyXG4gICAgdmFyIHF1ZXVlID0gW10sXHJcbiAgICAgICAgaSwgbGVuLCBzdGFydCwgZW5kLCBsaXN0O1xyXG5cclxuICAgIGZvciAoaSA9IDAsIGxlbiA9IGhvbGVJbmRpY2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgc3RhcnQgPSBob2xlSW5kaWNlc1tpXSAqIGRpbTtcclxuICAgICAgICBlbmQgPSBpIDwgbGVuIC0gMSA/IGhvbGVJbmRpY2VzW2kgKyAxXSAqIGRpbSA6IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxpc3QgPSBsaW5rZWRMaXN0KGRhdGEsIHN0YXJ0LCBlbmQsIGRpbSwgZmFsc2UpO1xyXG4gICAgICAgIGlmIChsaXN0ID09PSBsaXN0Lm5leHQpIGxpc3Quc3RlaW5lciA9IHRydWU7XHJcbiAgICAgICAgcXVldWUucHVzaChnZXRMZWZ0bW9zdChsaXN0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcXVldWUuc29ydChjb21wYXJlWCk7XHJcblxyXG4gICAgLy8gcHJvY2VzcyBob2xlcyBmcm9tIGxlZnQgdG8gcmlnaHRcclxuICAgIGZvciAoaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGVsaW1pbmF0ZUhvbGUocXVldWVbaV0sIG91dGVyTm9kZSk7XHJcbiAgICAgICAgb3V0ZXJOb2RlID0gZmlsdGVyUG9pbnRzKG91dGVyTm9kZSwgb3V0ZXJOb2RlLm5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvdXRlck5vZGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbXBhcmVYKGEsIGIpIHtcclxuICAgIHJldHVybiBhLnggLSBiLng7XHJcbn1cclxuXHJcbi8vIGZpbmQgYSBicmlkZ2UgYmV0d2VlbiB2ZXJ0aWNlcyB0aGF0IGNvbm5lY3RzIGhvbGUgd2l0aCBhbiBvdXRlciByaW5nIGFuZCBhbmQgbGluayBpdFxyXG5mdW5jdGlvbiBlbGltaW5hdGVIb2xlKGhvbGUsIG91dGVyTm9kZSkge1xyXG4gICAgb3V0ZXJOb2RlID0gZmluZEhvbGVCcmlkZ2UoaG9sZSwgb3V0ZXJOb2RlKTtcclxuICAgIGlmIChvdXRlck5vZGUpIHtcclxuICAgICAgICB2YXIgYiA9IHNwbGl0UG9seWdvbihvdXRlck5vZGUsIGhvbGUpO1xyXG4gICAgICAgIGZpbHRlclBvaW50cyhiLCBiLm5leHQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEYXZpZCBFYmVybHkncyBhbGdvcml0aG0gZm9yIGZpbmRpbmcgYSBicmlkZ2UgYmV0d2VlbiBob2xlIGFuZCBvdXRlciBwb2x5Z29uXHJcbmZ1bmN0aW9uIGZpbmRIb2xlQnJpZGdlKGhvbGUsIG91dGVyTm9kZSkge1xyXG4gICAgdmFyIHAgPSBvdXRlck5vZGUsXHJcbiAgICAgICAgaHggPSBob2xlLngsXHJcbiAgICAgICAgaHkgPSBob2xlLnksXHJcbiAgICAgICAgcXggPSAtSW5maW5pdHksXHJcbiAgICAgICAgbTtcclxuXHJcbiAgICAvLyBmaW5kIGEgc2VnbWVudCBpbnRlcnNlY3RlZCBieSBhIHJheSBmcm9tIHRoZSBob2xlJ3MgbGVmdG1vc3QgcG9pbnQgdG8gdGhlIGxlZnQ7XHJcbiAgICAvLyBzZWdtZW50J3MgZW5kcG9pbnQgd2l0aCBsZXNzZXIgeCB3aWxsIGJlIHBvdGVudGlhbCBjb25uZWN0aW9uIHBvaW50XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKGh5IDw9IHAueSAmJiBoeSA+PSBwLm5leHQueSkge1xyXG4gICAgICAgICAgICB2YXIgeCA9IHAueCArIChoeSAtIHAueSkgKiAocC5uZXh0LnggLSBwLngpIC8gKHAubmV4dC55IC0gcC55KTtcclxuICAgICAgICAgICAgaWYgKHggPD0gaHggJiYgeCA+IHF4KSB7XHJcbiAgICAgICAgICAgICAgICBxeCA9IHg7XHJcbiAgICAgICAgICAgICAgICBpZiAoeCA9PT0gaHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaHkgPT09IHAueSkgcmV0dXJuIHA7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGh5ID09PSBwLm5leHQueSkgcmV0dXJuIHAubmV4dDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG0gPSBwLnggPCBwLm5leHQueCA/IHAgOiBwLm5leHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IG91dGVyTm9kZSk7XHJcblxyXG4gICAgaWYgKCFtKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBpZiAoaHggPT09IHF4KSByZXR1cm4gbS5wcmV2OyAvLyBob2xlIHRvdWNoZXMgb3V0ZXIgc2VnbWVudDsgcGljayBsb3dlciBlbmRwb2ludFxyXG5cclxuICAgIC8vIGxvb2sgZm9yIHBvaW50cyBpbnNpZGUgdGhlIHRyaWFuZ2xlIG9mIGhvbGUgcG9pbnQsIHNlZ21lbnQgaW50ZXJzZWN0aW9uIGFuZCBlbmRwb2ludDtcclxuICAgIC8vIGlmIHRoZXJlIGFyZSBubyBwb2ludHMgZm91bmQsIHdlIGhhdmUgYSB2YWxpZCBjb25uZWN0aW9uO1xyXG4gICAgLy8gb3RoZXJ3aXNlIGNob29zZSB0aGUgcG9pbnQgb2YgdGhlIG1pbmltdW0gYW5nbGUgd2l0aCB0aGUgcmF5IGFzIGNvbm5lY3Rpb24gcG9pbnRcclxuXHJcbiAgICB2YXIgc3RvcCA9IG0sXHJcbiAgICAgICAgbXggPSBtLngsXHJcbiAgICAgICAgbXkgPSBtLnksXHJcbiAgICAgICAgdGFuTWluID0gSW5maW5pdHksXHJcbiAgICAgICAgdGFuO1xyXG5cclxuICAgIHAgPSBtLm5leHQ7XHJcblxyXG4gICAgd2hpbGUgKHAgIT09IHN0b3ApIHtcclxuICAgICAgICBpZiAoaHggPj0gcC54ICYmIHAueCA+PSBteCAmJlxyXG4gICAgICAgICAgICAgICAgcG9pbnRJblRyaWFuZ2xlKGh5IDwgbXkgPyBoeCA6IHF4LCBoeSwgbXgsIG15LCBoeSA8IG15ID8gcXggOiBoeCwgaHksIHAueCwgcC55KSkge1xyXG5cclxuICAgICAgICAgICAgdGFuID0gTWF0aC5hYnMoaHkgLSBwLnkpIC8gKGh4IC0gcC54KTsgLy8gdGFuZ2VudGlhbFxyXG5cclxuICAgICAgICAgICAgaWYgKCh0YW4gPCB0YW5NaW4gfHwgKHRhbiA9PT0gdGFuTWluICYmIHAueCA+IG0ueCkpICYmIGxvY2FsbHlJbnNpZGUocCwgaG9sZSkpIHtcclxuICAgICAgICAgICAgICAgIG0gPSBwO1xyXG4gICAgICAgICAgICAgICAgdGFuTWluID0gdGFuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtO1xyXG59XHJcblxyXG4vLyBpbnRlcmxpbmsgcG9seWdvbiBub2RlcyBpbiB6LW9yZGVyXHJcbmZ1bmN0aW9uIGluZGV4Q3VydmUoc3RhcnQsIG1pblgsIG1pblksIHNpemUpIHtcclxuICAgIHZhciBwID0gc3RhcnQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKHAueiA9PT0gbnVsbCkgcC56ID0gek9yZGVyKHAueCwgcC55LCBtaW5YLCBtaW5ZLCBzaXplKTtcclxuICAgICAgICBwLnByZXZaID0gcC5wcmV2O1xyXG4gICAgICAgIHAubmV4dFogPSBwLm5leHQ7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IHN0YXJ0KTtcclxuXHJcbiAgICBwLnByZXZaLm5leHRaID0gbnVsbDtcclxuICAgIHAucHJldlogPSBudWxsO1xyXG5cclxuICAgIHNvcnRMaW5rZWQocCk7XHJcbn1cclxuXHJcbi8vIFNpbW9uIFRhdGhhbSdzIGxpbmtlZCBsaXN0IG1lcmdlIHNvcnQgYWxnb3JpdGhtXHJcbi8vIGh0dHA6Ly93d3cuY2hpYXJrLmdyZWVuZW5kLm9yZy51ay9+c2d0YXRoYW0vYWxnb3JpdGhtcy9saXN0c29ydC5odG1sXHJcbmZ1bmN0aW9uIHNvcnRMaW5rZWQobGlzdCkge1xyXG4gICAgdmFyIGksIHAsIHEsIGUsIHRhaWwsIG51bU1lcmdlcywgcFNpemUsIHFTaXplLFxyXG4gICAgICAgIGluU2l6ZSA9IDE7XHJcblxyXG4gICAgZG8ge1xyXG4gICAgICAgIHAgPSBsaXN0O1xyXG4gICAgICAgIGxpc3QgPSBudWxsO1xyXG4gICAgICAgIHRhaWwgPSBudWxsO1xyXG4gICAgICAgIG51bU1lcmdlcyA9IDA7XHJcblxyXG4gICAgICAgIHdoaWxlIChwKSB7XHJcbiAgICAgICAgICAgIG51bU1lcmdlcysrO1xyXG4gICAgICAgICAgICBxID0gcDtcclxuICAgICAgICAgICAgcFNpemUgPSAwO1xyXG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaW5TaXplOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHBTaXplKys7XHJcbiAgICAgICAgICAgICAgICBxID0gcS5uZXh0WjtcclxuICAgICAgICAgICAgICAgIGlmICghcSkgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHFTaXplID0gaW5TaXplO1xyXG5cclxuICAgICAgICAgICAgd2hpbGUgKHBTaXplID4gMCB8fCAocVNpemUgPiAwICYmIHEpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBTaXplID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHE7XHJcbiAgICAgICAgICAgICAgICAgICAgcSA9IHEubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcVNpemUtLTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocVNpemUgPT09IDAgfHwgIXEpIHtcclxuICAgICAgICAgICAgICAgICAgICBlID0gcDtcclxuICAgICAgICAgICAgICAgICAgICBwID0gcC5uZXh0WjtcclxuICAgICAgICAgICAgICAgICAgICBwU2l6ZS0tO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwLnogPD0gcS56KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHA7XHJcbiAgICAgICAgICAgICAgICAgICAgcCA9IHAubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcFNpemUtLTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHE7XHJcbiAgICAgICAgICAgICAgICAgICAgcSA9IHEubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcVNpemUtLTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGFpbCkgdGFpbC5uZXh0WiA9IGU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGxpc3QgPSBlO1xyXG5cclxuICAgICAgICAgICAgICAgIGUucHJldlogPSB0YWlsO1xyXG4gICAgICAgICAgICAgICAgdGFpbCA9IGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAgPSBxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGFpbC5uZXh0WiA9IG51bGw7XHJcbiAgICAgICAgaW5TaXplICo9IDI7XHJcblxyXG4gICAgfSB3aGlsZSAobnVtTWVyZ2VzID4gMSk7XHJcblxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbn1cclxuXHJcbi8vIHotb3JkZXIgb2YgYSBwb2ludCBnaXZlbiBjb29yZHMgYW5kIHNpemUgb2YgdGhlIGRhdGEgYm91bmRpbmcgYm94XHJcbmZ1bmN0aW9uIHpPcmRlcih4LCB5LCBtaW5YLCBtaW5ZLCBzaXplKSB7XHJcbiAgICAvLyBjb29yZHMgYXJlIHRyYW5zZm9ybWVkIGludG8gbm9uLW5lZ2F0aXZlIDE1LWJpdCBpbnRlZ2VyIHJhbmdlXHJcbiAgICB4ID0gMzI3NjcgKiAoeCAtIG1pblgpIC8gc2l6ZTtcclxuICAgIHkgPSAzMjc2NyAqICh5IC0gbWluWSkgLyBzaXplO1xyXG5cclxuICAgIHggPSAoeCB8ICh4IDw8IDgpKSAmIDB4MDBGRjAwRkY7XHJcbiAgICB4ID0gKHggfCAoeCA8PCA0KSkgJiAweDBGMEYwRjBGO1xyXG4gICAgeCA9ICh4IHwgKHggPDwgMikpICYgMHgzMzMzMzMzMztcclxuICAgIHggPSAoeCB8ICh4IDw8IDEpKSAmIDB4NTU1NTU1NTU7XHJcblxyXG4gICAgeSA9ICh5IHwgKHkgPDwgOCkpICYgMHgwMEZGMDBGRjtcclxuICAgIHkgPSAoeSB8ICh5IDw8IDQpKSAmIDB4MEYwRjBGMEY7XHJcbiAgICB5ID0gKHkgfCAoeSA8PCAyKSkgJiAweDMzMzMzMzMzO1xyXG4gICAgeSA9ICh5IHwgKHkgPDwgMSkpICYgMHg1NTU1NTU1NTtcclxuXHJcbiAgICByZXR1cm4geCB8ICh5IDw8IDEpO1xyXG59XHJcblxyXG4vLyBmaW5kIHRoZSBsZWZ0bW9zdCBub2RlIG9mIGEgcG9seWdvbiByaW5nXHJcbmZ1bmN0aW9uIGdldExlZnRtb3N0KHN0YXJ0KSB7XHJcbiAgICB2YXIgcCA9IHN0YXJ0LFxyXG4gICAgICAgIGxlZnRtb3N0ID0gc3RhcnQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKHAueCA8IGxlZnRtb3N0LngpIGxlZnRtb3N0ID0gcDtcclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfSB3aGlsZSAocCAhPT0gc3RhcnQpO1xyXG5cclxuICAgIHJldHVybiBsZWZ0bW9zdDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2ludCBsaWVzIHdpdGhpbiBhIGNvbnZleCB0cmlhbmdsZVxyXG5mdW5jdGlvbiBwb2ludEluVHJpYW5nbGUoYXgsIGF5LCBieCwgYnksIGN4LCBjeSwgcHgsIHB5KSB7XHJcbiAgICByZXR1cm4gKGN4IC0gcHgpICogKGF5IC0gcHkpIC0gKGF4IC0gcHgpICogKGN5IC0gcHkpID49IDAgJiZcclxuICAgICAgICAgICAoYXggLSBweCkgKiAoYnkgLSBweSkgLSAoYnggLSBweCkgKiAoYXkgLSBweSkgPj0gMCAmJlxyXG4gICAgICAgICAgIChieCAtIHB4KSAqIChjeSAtIHB5KSAtIChjeCAtIHB4KSAqIChieSAtIHB5KSA+PSAwO1xyXG59XHJcblxyXG4vLyBjaGVjayBpZiBhIGRpYWdvbmFsIGJldHdlZW4gdHdvIHBvbHlnb24gbm9kZXMgaXMgdmFsaWQgKGxpZXMgaW4gcG9seWdvbiBpbnRlcmlvcilcclxuZnVuY3Rpb24gaXNWYWxpZERpYWdvbmFsKGEsIGIpIHtcclxuICAgIHJldHVybiBhLm5leHQuaSAhPT0gYi5pICYmIGEucHJldi5pICE9PSBiLmkgJiYgIWludGVyc2VjdHNQb2x5Z29uKGEsIGIpICYmXHJcbiAgICAgICAgICAgbG9jYWxseUluc2lkZShhLCBiKSAmJiBsb2NhbGx5SW5zaWRlKGIsIGEpICYmIG1pZGRsZUluc2lkZShhLCBiKTtcclxufVxyXG5cclxuLy8gc2lnbmVkIGFyZWEgb2YgYSB0cmlhbmdsZVxyXG5mdW5jdGlvbiBhcmVhKHAsIHEsIHIpIHtcclxuICAgIHJldHVybiAocS55IC0gcC55KSAqIChyLnggLSBxLngpIC0gKHEueCAtIHAueCkgKiAoci55IC0gcS55KTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdHdvIHBvaW50cyBhcmUgZXF1YWxcclxuZnVuY3Rpb24gZXF1YWxzKHAxLCBwMikge1xyXG4gICAgcmV0dXJuIHAxLnggPT09IHAyLnggJiYgcDEueSA9PT0gcDIueTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdHdvIHNlZ21lbnRzIGludGVyc2VjdFxyXG5mdW5jdGlvbiBpbnRlcnNlY3RzKHAxLCBxMSwgcDIsIHEyKSB7XHJcbiAgICBpZiAoKGVxdWFscyhwMSwgcTEpICYmIGVxdWFscyhwMiwgcTIpKSB8fFxyXG4gICAgICAgIChlcXVhbHMocDEsIHEyKSAmJiBlcXVhbHMocDIsIHExKSkpIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIGFyZWEocDEsIHExLCBwMikgPiAwICE9PSBhcmVhKHAxLCBxMSwgcTIpID4gMCAmJlxyXG4gICAgICAgICAgIGFyZWEocDIsIHEyLCBwMSkgPiAwICE9PSBhcmVhKHAyLCBxMiwgcTEpID4gMDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2x5Z29uIGRpYWdvbmFsIGludGVyc2VjdHMgYW55IHBvbHlnb24gc2VnbWVudHNcclxuZnVuY3Rpb24gaW50ZXJzZWN0c1BvbHlnb24oYSwgYikge1xyXG4gICAgdmFyIHAgPSBhO1xyXG4gICAgZG8ge1xyXG4gICAgICAgIGlmIChwLmkgIT09IGEuaSAmJiBwLm5leHQuaSAhPT0gYS5pICYmIHAuaSAhPT0gYi5pICYmIHAubmV4dC5pICE9PSBiLmkgJiZcclxuICAgICAgICAgICAgICAgIGludGVyc2VjdHMocCwgcC5uZXh0LCBhLCBiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IGEpO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2x5Z29uIGRpYWdvbmFsIGlzIGxvY2FsbHkgaW5zaWRlIHRoZSBwb2x5Z29uXHJcbmZ1bmN0aW9uIGxvY2FsbHlJbnNpZGUoYSwgYikge1xyXG4gICAgcmV0dXJuIGFyZWEoYS5wcmV2LCBhLCBhLm5leHQpIDwgMCA/XHJcbiAgICAgICAgYXJlYShhLCBiLCBhLm5leHQpID49IDAgJiYgYXJlYShhLCBhLnByZXYsIGIpID49IDAgOlxyXG4gICAgICAgIGFyZWEoYSwgYiwgYS5wcmV2KSA8IDAgfHwgYXJlYShhLCBhLm5leHQsIGIpIDwgMDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdGhlIG1pZGRsZSBwb2ludCBvZiBhIHBvbHlnb24gZGlhZ29uYWwgaXMgaW5zaWRlIHRoZSBwb2x5Z29uXHJcbmZ1bmN0aW9uIG1pZGRsZUluc2lkZShhLCBiKSB7XHJcbiAgICB2YXIgcCA9IGEsXHJcbiAgICAgICAgaW5zaWRlID0gZmFsc2UsXHJcbiAgICAgICAgcHggPSAoYS54ICsgYi54KSAvIDIsXHJcbiAgICAgICAgcHkgPSAoYS55ICsgYi55KSAvIDI7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKCgocC55ID4gcHkpICE9PSAocC5uZXh0LnkgPiBweSkpICYmIChweCA8IChwLm5leHQueCAtIHAueCkgKiAocHkgLSBwLnkpIC8gKHAubmV4dC55IC0gcC55KSArIHAueCkpXHJcbiAgICAgICAgICAgIGluc2lkZSA9ICFpbnNpZGU7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IGEpO1xyXG5cclxuICAgIHJldHVybiBpbnNpZGU7XHJcbn1cclxuXHJcbi8vIGxpbmsgdHdvIHBvbHlnb24gdmVydGljZXMgd2l0aCBhIGJyaWRnZTsgaWYgdGhlIHZlcnRpY2VzIGJlbG9uZyB0byB0aGUgc2FtZSByaW5nLCBpdCBzcGxpdHMgcG9seWdvbiBpbnRvIHR3bztcclxuLy8gaWYgb25lIGJlbG9uZ3MgdG8gdGhlIG91dGVyIHJpbmcgYW5kIGFub3RoZXIgdG8gYSBob2xlLCBpdCBtZXJnZXMgaXQgaW50byBhIHNpbmdsZSByaW5nXHJcbmZ1bmN0aW9uIHNwbGl0UG9seWdvbihhLCBiKSB7XHJcbiAgICB2YXIgYTIgPSBuZXcgTm9kZShhLmksIGEueCwgYS55KSxcclxuICAgICAgICBiMiA9IG5ldyBOb2RlKGIuaSwgYi54LCBiLnkpLFxyXG4gICAgICAgIGFuID0gYS5uZXh0LFxyXG4gICAgICAgIGJwID0gYi5wcmV2O1xyXG5cclxuICAgIGEubmV4dCA9IGI7XHJcbiAgICBiLnByZXYgPSBhO1xyXG5cclxuICAgIGEyLm5leHQgPSBhbjtcclxuICAgIGFuLnByZXYgPSBhMjtcclxuXHJcbiAgICBiMi5uZXh0ID0gYTI7XHJcbiAgICBhMi5wcmV2ID0gYjI7XHJcblxyXG4gICAgYnAubmV4dCA9IGIyO1xyXG4gICAgYjIucHJldiA9IGJwO1xyXG5cclxuICAgIHJldHVybiBiMjtcclxufVxyXG5cclxuLy8gY3JlYXRlIGEgbm9kZSBhbmQgb3B0aW9uYWxseSBsaW5rIGl0IHdpdGggcHJldmlvdXMgb25lIChpbiBhIGNpcmN1bGFyIGRvdWJseSBsaW5rZWQgbGlzdClcclxuZnVuY3Rpb24gaW5zZXJ0Tm9kZShpLCB4LCB5LCBsYXN0KSB7XHJcbiAgICB2YXIgcCA9IG5ldyBOb2RlKGksIHgsIHkpO1xyXG5cclxuICAgIGlmICghbGFzdCkge1xyXG4gICAgICAgIHAucHJldiA9IHA7XHJcbiAgICAgICAgcC5uZXh0ID0gcDtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHAubmV4dCA9IGxhc3QubmV4dDtcclxuICAgICAgICBwLnByZXYgPSBsYXN0O1xyXG4gICAgICAgIGxhc3QubmV4dC5wcmV2ID0gcDtcclxuICAgICAgICBsYXN0Lm5leHQgPSBwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZU5vZGUocCkge1xyXG4gICAgcC5uZXh0LnByZXYgPSBwLnByZXY7XHJcbiAgICBwLnByZXYubmV4dCA9IHAubmV4dDtcclxuXHJcbiAgICBpZiAocC5wcmV2WikgcC5wcmV2Wi5uZXh0WiA9IHAubmV4dFo7XHJcbiAgICBpZiAocC5uZXh0WikgcC5uZXh0Wi5wcmV2WiA9IHAucHJldlo7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE5vZGUoaSwgeCwgeSkge1xyXG4gICAgLy8gdmVydGljZSBpbmRleCBpbiBjb29yZGluYXRlcyBhcnJheVxyXG4gICAgdGhpcy5pID0gaTtcclxuXHJcbiAgICAvLyB2ZXJ0ZXggY29vcmRpbmF0ZXNcclxuICAgIHRoaXMueCA9IHg7XHJcbiAgICB0aGlzLnkgPSB5O1xyXG5cclxuICAgIC8vIHByZXZpb3VzIGFuZCBuZXh0IHZlcnRpY2Ugbm9kZXMgaW4gYSBwb2x5Z29uIHJpbmdcclxuICAgIHRoaXMucHJldiA9IG51bGw7XHJcbiAgICB0aGlzLm5leHQgPSBudWxsO1xyXG5cclxuICAgIC8vIHotb3JkZXIgY3VydmUgdmFsdWVcclxuICAgIHRoaXMueiA9IG51bGw7XHJcblxyXG4gICAgLy8gcHJldmlvdXMgYW5kIG5leHQgbm9kZXMgaW4gei1vcmRlclxyXG4gICAgdGhpcy5wcmV2WiA9IG51bGw7XHJcbiAgICB0aGlzLm5leHRaID0gbnVsbDtcclxuXHJcbiAgICAvLyBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIGlzIGEgc3RlaW5lciBwb2ludFxyXG4gICAgdGhpcy5zdGVpbmVyID0gZmFsc2U7XHJcbn1cclxuXHJcbi8vIHJldHVybiBhIHBlcmNlbnRhZ2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBwb2x5Z29uIGFyZWEgYW5kIGl0cyB0cmlhbmd1bGF0aW9uIGFyZWE7XHJcbi8vIHVzZWQgdG8gdmVyaWZ5IGNvcnJlY3RuZXNzIG9mIHRyaWFuZ3VsYXRpb25cclxuZWFyY3V0LmRldmlhdGlvbiA9IGZ1bmN0aW9uIChkYXRhLCBob2xlSW5kaWNlcywgZGltLCB0cmlhbmdsZXMpIHtcclxuICAgIHZhciBoYXNIb2xlcyA9IGhvbGVJbmRpY2VzICYmIGhvbGVJbmRpY2VzLmxlbmd0aDtcclxuICAgIHZhciBvdXRlckxlbiA9IGhhc0hvbGVzID8gaG9sZUluZGljZXNbMF0gKiBkaW0gOiBkYXRhLmxlbmd0aDtcclxuXHJcbiAgICB2YXIgcG9seWdvbkFyZWEgPSBNYXRoLmFicyhzaWduZWRBcmVhKGRhdGEsIDAsIG91dGVyTGVuLCBkaW0pKTtcclxuICAgIGlmIChoYXNIb2xlcykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBob2xlSW5kaWNlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgc3RhcnQgPSBob2xlSW5kaWNlc1tpXSAqIGRpbTtcclxuICAgICAgICAgICAgdmFyIGVuZCA9IGkgPCBsZW4gLSAxID8gaG9sZUluZGljZXNbaSArIDFdICogZGltIDogZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgICAgIHBvbHlnb25BcmVhIC09IE1hdGguYWJzKHNpZ25lZEFyZWEoZGF0YSwgc3RhcnQsIGVuZCwgZGltKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhciB0cmlhbmdsZXNBcmVhID0gMDtcclxuICAgIGZvciAoaSA9IDA7IGkgPCB0cmlhbmdsZXMubGVuZ3RoOyBpICs9IDMpIHtcclxuICAgICAgICB2YXIgYSA9IHRyaWFuZ2xlc1tpXSAqIGRpbTtcclxuICAgICAgICB2YXIgYiA9IHRyaWFuZ2xlc1tpICsgMV0gKiBkaW07XHJcbiAgICAgICAgdmFyIGMgPSB0cmlhbmdsZXNbaSArIDJdICogZGltO1xyXG4gICAgICAgIHRyaWFuZ2xlc0FyZWEgKz0gTWF0aC5hYnMoXHJcbiAgICAgICAgICAgIChkYXRhW2FdIC0gZGF0YVtjXSkgKiAoZGF0YVtiICsgMV0gLSBkYXRhW2EgKyAxXSkgLVxyXG4gICAgICAgICAgICAoZGF0YVthXSAtIGRhdGFbYl0pICogKGRhdGFbYyArIDFdIC0gZGF0YVthICsgMV0pKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9seWdvbkFyZWEgPT09IDAgJiYgdHJpYW5nbGVzQXJlYSA9PT0gMCA/IDAgOlxyXG4gICAgICAgIE1hdGguYWJzKCh0cmlhbmdsZXNBcmVhIC0gcG9seWdvbkFyZWEpIC8gcG9seWdvbkFyZWEpO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gc2lnbmVkQXJlYShkYXRhLCBzdGFydCwgZW5kLCBkaW0pIHtcclxuICAgIHZhciBzdW0gPSAwO1xyXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0LCBqID0gZW5kIC0gZGltOyBpIDwgZW5kOyBpICs9IGRpbSkge1xyXG4gICAgICAgIHN1bSArPSAoZGF0YVtqXSAtIGRhdGFbaV0pICogKGRhdGFbaSArIDFdICsgZGF0YVtqICsgMV0pO1xyXG4gICAgICAgIGogPSBpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1bTtcclxufVxyXG5cclxuLy8gdHVybiBhIHBvbHlnb24gaW4gYSBtdWx0aS1kaW1lbnNpb25hbCBhcnJheSBmb3JtIChlLmcuIGFzIGluIEdlb0pTT04pIGludG8gYSBmb3JtIEVhcmN1dCBhY2NlcHRzXHJcbmVhcmN1dC5mbGF0dGVuID0gZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgIHZhciBkaW0gPSBkYXRhWzBdWzBdLmxlbmd0aCxcclxuICAgICAgICByZXN1bHQgPSB7dmVydGljZXM6IFtdLCBob2xlczogW10sIGRpbWVuc2lvbnM6IGRpbX0sXHJcbiAgICAgICAgaG9sZUluZGV4ID0gMDtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRhdGFbaV0ubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgZCA9IDA7IGQgPCBkaW07IGQrKykgcmVzdWx0LnZlcnRpY2VzLnB1c2goZGF0YVtpXVtqXVtkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICBob2xlSW5kZXggKz0gZGF0YVtpIC0gMV0ubGVuZ3RoO1xyXG4gICAgICAgICAgICByZXN1bHQuaG9sZXMucHVzaChob2xlSW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn07XHJcbiJdfQ==
|
13619
|
+
;
|
13620
|
+
/*global define*/
|
13621
|
+
define('Core/Cartesian2',[
|
13622
|
+
'./defaultValue',
|
13623
|
+
'./defined',
|
13624
|
+
'./DeveloperError',
|
13625
|
+
'./freezeObject',
|
13626
|
+
'./Math'
|
13627
|
+
], function(
|
13628
|
+
defaultValue,
|
13629
|
+
defined,
|
13630
|
+
DeveloperError,
|
13631
|
+
freezeObject,
|
13632
|
+
CesiumMath) {
|
13633
|
+
'use strict';
|
13634
|
+
|
13635
|
+
/**
|
13636
|
+
* A 2D Cartesian point.
|
13637
|
+
* @alias Cartesian2
|
13638
|
+
* @constructor
|
13639
|
+
*
|
13640
|
+
* @param {Number} [x=0.0] The X component.
|
13641
|
+
* @param {Number} [y=0.0] The Y component.
|
13642
|
+
*
|
13643
|
+
* @see Cartesian3
|
13644
|
+
* @see Cartesian4
|
13645
|
+
* @see Packable
|
13646
|
+
*/
|
13647
|
+
function Cartesian2(x, y) {
|
13648
|
+
/**
|
13649
|
+
* The X component.
|
13650
|
+
* @type {Number}
|
13651
|
+
* @default 0.0
|
13652
|
+
*/
|
13653
|
+
this.x = defaultValue(x, 0.0);
|
13654
|
+
|
13655
|
+
/**
|
13656
|
+
* The Y component.
|
13657
|
+
* @type {Number}
|
13658
|
+
* @default 0.0
|
13659
|
+
*/
|
13660
|
+
this.y = defaultValue(y, 0.0);
|
13661
|
+
}
|
13662
|
+
|
13663
|
+
/**
|
13664
|
+
* Creates a Cartesian2 instance from x and y coordinates.
|
13665
|
+
*
|
13666
|
+
* @param {Number} x The x coordinate.
|
13667
|
+
* @param {Number} y The y coordinate.
|
13668
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
13669
|
+
* @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
13670
|
+
*/
|
13671
|
+
Cartesian2.fromElements = function(x, y, result) {
|
13672
|
+
if (!defined(result)) {
|
13673
|
+
return new Cartesian2(x, y);
|
13674
|
+
}
|
13675
|
+
|
13676
|
+
result.x = x;
|
13677
|
+
result.y = y;
|
13678
|
+
return result;
|
13679
|
+
};
|
13680
|
+
|
13681
|
+
/**
|
13682
|
+
* Duplicates a Cartesian2 instance.
|
13683
|
+
*
|
13684
|
+
* @param {Cartesian2} cartesian The Cartesian to duplicate.
|
13685
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
12756
13686
|
* @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided. (Returns undefined if cartesian is undefined)
|
12757
13687
|
*/
|
12758
13688
|
Cartesian2.clone = function(cartesian, result) {
|
@@ -12841,10 +13771,61 @@ define('Core/Cartesian2',[
|
|
12841
13771
|
};
|
12842
13772
|
|
12843
13773
|
/**
|
12844
|
-
*
|
12845
|
-
* @function
|
13774
|
+
* Flattens an array of Cartesian2s into and array of components.
|
12846
13775
|
*
|
12847
|
-
* @param {
|
13776
|
+
* @param {Cartesian2[]} array The array of cartesians to pack.
|
13777
|
+
* @param {Number[]} result The array onto which to store the result.
|
13778
|
+
* @returns {Number[]} The packed array.
|
13779
|
+
*/
|
13780
|
+
Cartesian2.packArray = function(array, result) {
|
13781
|
+
if (!defined(array)) {
|
13782
|
+
throw new DeveloperError('array is required');
|
13783
|
+
}
|
13784
|
+
|
13785
|
+
var length = array.length;
|
13786
|
+
if (!defined(result)) {
|
13787
|
+
result = new Array(length * 2);
|
13788
|
+
} else {
|
13789
|
+
result.length = length * 2;
|
13790
|
+
}
|
13791
|
+
|
13792
|
+
for (var i = 0; i < length; ++i) {
|
13793
|
+
Cartesian2.pack(array[i], result, i * 2);
|
13794
|
+
}
|
13795
|
+
return result;
|
13796
|
+
};
|
13797
|
+
|
13798
|
+
/**
|
13799
|
+
* Unpacks an array of cartesian components into and array of Cartesian2s.
|
13800
|
+
*
|
13801
|
+
* @param {Number[]} array The array of components to unpack.
|
13802
|
+
* @param {Cartesian2[]} result The array onto which to store the result.
|
13803
|
+
* @returns {Cartesian2[]} The unpacked array.
|
13804
|
+
*/
|
13805
|
+
Cartesian2.unpackArray = function(array, result) {
|
13806
|
+
if (!defined(array)) {
|
13807
|
+
throw new DeveloperError('array is required');
|
13808
|
+
}
|
13809
|
+
|
13810
|
+
var length = array.length;
|
13811
|
+
if (!defined(result)) {
|
13812
|
+
result = new Array(length / 2);
|
13813
|
+
} else {
|
13814
|
+
result.length = length / 2;
|
13815
|
+
}
|
13816
|
+
|
13817
|
+
for (var i = 0; i < length; i += 2) {
|
13818
|
+
var index = i / 2;
|
13819
|
+
result[index] = Cartesian2.unpack(array, i, result[index]);
|
13820
|
+
}
|
13821
|
+
return result;
|
13822
|
+
};
|
13823
|
+
|
13824
|
+
/**
|
13825
|
+
* Creates a Cartesian2 from two consecutive elements in an array.
|
13826
|
+
* @function
|
13827
|
+
*
|
13828
|
+
* @param {Number[]} array The array whose two consecutive elements correspond to the x and y components, respectively.
|
12848
13829
|
* @param {Number} [startingIndex=0] The offset into the array of the first element, which corresponds to the x component.
|
12849
13830
|
* @param {Cartesian2} [result] The object onto which to store the result.
|
12850
13831
|
* @returns {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
@@ -13411,7 +14392,7 @@ define('Core/AxisAlignedBoundingBox',[
|
|
13411
14392
|
defined,
|
13412
14393
|
DeveloperError,
|
13413
14394
|
Intersect) {
|
13414
|
-
|
14395
|
+
'use strict';
|
13415
14396
|
|
13416
14397
|
/**
|
13417
14398
|
* Creates an instance of an AxisAlignedBoundingBox from the minimum and maximum points along the x, y, and z axes.
|
@@ -13638,7 +14619,7 @@ define('Core/QuadraticRealPolynomial',[
|
|
13638
14619
|
], function(
|
13639
14620
|
DeveloperError,
|
13640
14621
|
CesiumMath) {
|
13641
|
-
|
14622
|
+
'use strict';
|
13642
14623
|
|
13643
14624
|
/**
|
13644
14625
|
* Defines functions for 2nd order polynomial functions of one variable with only real coefficients.
|
@@ -13773,7 +14754,7 @@ define('Core/CubicRealPolynomial',[
|
|
13773
14754
|
], function(
|
13774
14755
|
DeveloperError,
|
13775
14756
|
QuadraticRealPolynomial) {
|
13776
|
-
|
14757
|
+
'use strict';
|
13777
14758
|
|
13778
14759
|
/**
|
13779
14760
|
* Defines functions for 3rd order polynomial functions of one variable with only real coefficients.
|
@@ -14013,7 +14994,7 @@ define('Core/QuarticRealPolynomial',[
|
|
14013
14994
|
DeveloperError,
|
14014
14995
|
CesiumMath,
|
14015
14996
|
QuadraticRealPolynomial) {
|
14016
|
-
|
14997
|
+
'use strict';
|
14017
14998
|
|
14018
14999
|
/**
|
14019
15000
|
* Defines functions for 4th order polynomial functions of one variable with only real coefficients.
|
@@ -14337,7 +15318,7 @@ define('Core/Ray',[
|
|
14337
15318
|
defaultValue,
|
14338
15319
|
defined,
|
14339
15320
|
DeveloperError) {
|
14340
|
-
|
15321
|
+
'use strict';
|
14341
15322
|
|
14342
15323
|
/**
|
14343
15324
|
* Represents a ray that extends infinitely from the provided origin in the provided direction.
|
@@ -14423,7 +15404,7 @@ define('Core/IntersectionTests',[
|
|
14423
15404
|
QuadraticRealPolynomial,
|
14424
15405
|
QuarticRealPolynomial,
|
14425
15406
|
Ray) {
|
14426
|
-
|
15407
|
+
'use strict';
|
14427
15408
|
|
14428
15409
|
/**
|
14429
15410
|
* Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids.
|
@@ -14478,7 +15459,19 @@ define('Core/IntersectionTests',[
|
|
14478
15459
|
var scratchTVec = new Cartesian3();
|
14479
15460
|
var scratchQVec = new Cartesian3();
|
14480
15461
|
|
14481
|
-
|
15462
|
+
/**
|
15463
|
+
* Computes the intersection of a ray and a triangle as a parametric distance along the input ray.
|
15464
|
+
* @memberof IntersectionTests
|
15465
|
+
*
|
15466
|
+
* @param {Ray} ray The ray.
|
15467
|
+
* @param {Cartesian3} p0 The first vertex of the triangle.
|
15468
|
+
* @param {Cartesian3} p1 The second vertex of the triangle.
|
15469
|
+
* @param {Cartesian3} p2 The third vertex of the triangle.
|
15470
|
+
* @param {Boolean} [cullBackFaces=false] If <code>true</code>, will only compute an intersection with the front face of the triangle
|
15471
|
+
* and return undefined for intersections with the back face.
|
15472
|
+
* @returns {Number} The intersection as a parametric distance along the ray, or undefined if there is no intersection.
|
15473
|
+
*/
|
15474
|
+
IntersectionTests.rayTriangleParametric = function(ray, p0, p1, p2, cullBackFaces) {
|
14482
15475
|
if (!defined(ray)) {
|
14483
15476
|
throw new DeveloperError('ray is required.');
|
14484
15477
|
}
|
@@ -14552,10 +15545,10 @@ define('Core/IntersectionTests',[
|
|
14552
15545
|
}
|
14553
15546
|
|
14554
15547
|
return t;
|
14555
|
-
}
|
15548
|
+
};
|
14556
15549
|
|
14557
15550
|
/**
|
14558
|
-
* Computes the intersection of a ray and a triangle.
|
15551
|
+
* Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
|
14559
15552
|
* @memberof IntersectionTests
|
14560
15553
|
*
|
14561
15554
|
* @param {Ray} ray The ray.
|
@@ -14568,7 +15561,7 @@ define('Core/IntersectionTests',[
|
|
14568
15561
|
* @returns {Cartesian3} The intersection point or undefined if there is no intersections.
|
14569
15562
|
*/
|
14570
15563
|
IntersectionTests.rayTriangle = function(ray, p0, p1, p2, cullBackFaces, result) {
|
14571
|
-
var t =
|
15564
|
+
var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
|
14572
15565
|
if (!defined(t) || t < 0.0) {
|
14573
15566
|
return undefined;
|
14574
15567
|
}
|
@@ -14610,7 +15603,7 @@ define('Core/IntersectionTests',[
|
|
14610
15603
|
Cartesian3.subtract(v1, v0, ray.direction);
|
14611
15604
|
Cartesian3.normalize(ray.direction, ray.direction);
|
14612
15605
|
|
14613
|
-
var t =
|
15606
|
+
var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
|
14614
15607
|
if (!defined(t) || t < 0.0 || t > Cartesian3.distance(v0, v1)) {
|
14615
15608
|
return undefined;
|
14616
15609
|
}
|
@@ -14735,6 +15728,7 @@ define('Core/IntersectionTests',[
|
|
14735
15728
|
}
|
14736
15729
|
|
14737
15730
|
var ray = scratchLineSegmentRay;
|
15731
|
+
Cartesian3.clone(p0, ray.origin);
|
14738
15732
|
var direction = Cartesian3.subtract(p1, p0, ray.direction);
|
14739
15733
|
|
14740
15734
|
var maxT = Cartesian3.magnitude(direction);
|
@@ -16026,7 +17020,7 @@ define('Core/binarySearch',[
|
|
16026
17020
|
], function(
|
16027
17021
|
defined,
|
16028
17022
|
DeveloperError) {
|
16029
|
-
|
17023
|
+
'use strict';
|
16030
17024
|
|
16031
17025
|
/**
|
16032
17026
|
* Finds an item in a sorted array.
|
@@ -16103,7 +17097,7 @@ define('Core/binarySearch',[
|
|
16103
17097
|
|
16104
17098
|
/*global define*/
|
16105
17099
|
define('Core/EarthOrientationParametersSample',[],function() {
|
16106
|
-
|
17100
|
+
'use strict';
|
16107
17101
|
|
16108
17102
|
/**
|
16109
17103
|
* A set of Earth Orientation Parameters (EOP) sampled at a time.
|
@@ -16477,7 +17471,7 @@ return sprintf;
|
|
16477
17471
|
|
16478
17472
|
/*global define*/
|
16479
17473
|
define('Core/GregorianDate',[],function() {
|
16480
|
-
|
17474
|
+
'use strict';
|
16481
17475
|
|
16482
17476
|
/**
|
16483
17477
|
* Represents a Gregorian date in a more precise format than the JavaScript Date object.
|
@@ -16538,7 +17532,7 @@ define('Core/isLeapYear',[
|
|
16538
17532
|
'./DeveloperError'
|
16539
17533
|
], function(
|
16540
17534
|
DeveloperError) {
|
16541
|
-
|
17535
|
+
'use strict';
|
16542
17536
|
|
16543
17537
|
/**
|
16544
17538
|
* Determines if a given date is a leap year.
|
@@ -16564,7 +17558,7 @@ define('Core/isLeapYear',[
|
|
16564
17558
|
|
16565
17559
|
/*global define*/
|
16566
17560
|
define('Core/LeapSecond',[],function() {
|
16567
|
-
|
17561
|
+
'use strict';
|
16568
17562
|
|
16569
17563
|
/**
|
16570
17564
|
* Describes a single leap second, which is constructed from a {@link JulianDate} and a
|
@@ -16598,7 +17592,7 @@ define('Core/TimeConstants',[
|
|
16598
17592
|
'./freezeObject'
|
16599
17593
|
], function(
|
16600
17594
|
freezeObject) {
|
16601
|
-
|
17595
|
+
'use strict';
|
16602
17596
|
|
16603
17597
|
/**
|
16604
17598
|
* Constants for time conversions like those done by {@link JulianDate}.
|
@@ -16691,7 +17685,7 @@ define('Core/TimeStandard',[
|
|
16691
17685
|
'./freezeObject'
|
16692
17686
|
], function(
|
16693
17687
|
freezeObject) {
|
16694
|
-
|
17688
|
+
'use strict';
|
16695
17689
|
|
16696
17690
|
/**
|
16697
17691
|
* Provides the type of time standards which JulianDate can take as input.
|
@@ -16743,7 +17737,7 @@ define('Core/JulianDate',[
|
|
16743
17737
|
LeapSecond,
|
16744
17738
|
TimeConstants,
|
16745
17739
|
TimeStandard) {
|
16746
|
-
|
17740
|
+
'use strict';
|
16747
17741
|
|
16748
17742
|
var gregorianDateScratch = new GregorianDate();
|
16749
17743
|
var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
@@ -16892,8 +17886,8 @@ define('Core/JulianDate',[
|
|
16892
17886
|
* @alias JulianDate
|
16893
17887
|
* @constructor
|
16894
17888
|
*
|
16895
|
-
* @param {Number} julianDayNumber The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
|
16896
|
-
* @param {Number} secondsOfDay The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
|
17889
|
+
* @param {Number} [julianDayNumber=0.0] The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
|
17890
|
+
* @param {Number} [secondsOfDay=0.0] The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
|
16897
17891
|
* @param {TimeStandard} [timeStandard=TimeStandard.UTC] The time standard in which the first two parameters are defined.
|
16898
17892
|
*/
|
16899
17893
|
function JulianDate(julianDayNumber, secondsOfDay, timeStandard) {
|
@@ -17716,7 +18710,7 @@ define('Core/clone',[
|
|
17716
18710
|
'./defaultValue'
|
17717
18711
|
], function(
|
17718
18712
|
defaultValue) {
|
17719
|
-
|
18713
|
+
'use strict';
|
17720
18714
|
|
17721
18715
|
/**
|
17722
18716
|
* Clones an object, returning a new object containing the same properties.
|
@@ -17753,7 +18747,7 @@ define('Core/clone',[
|
|
17753
18747
|
|
17754
18748
|
/*global define*/
|
17755
18749
|
define('Core/parseResponseHeaders',[], function() {
|
17756
|
-
|
18750
|
+
'use strict';
|
17757
18751
|
|
17758
18752
|
/**
|
17759
18753
|
* Parses the result of XMLHttpRequest's getAllResponseHeaders() method into
|
@@ -17802,7 +18796,7 @@ define('Core/RequestErrorEvent',[
|
|
17802
18796
|
], function(
|
17803
18797
|
defined,
|
17804
18798
|
parseResponseHeaders) {
|
17805
|
-
|
18799
|
+
'use strict';
|
17806
18800
|
|
17807
18801
|
/**
|
17808
18802
|
* An event that is raised when a request encounters an error.
|
@@ -17877,7 +18871,7 @@ define('Core/loadWithXhr',[
|
|
17877
18871
|
DeveloperError,
|
17878
18872
|
RequestErrorEvent,
|
17879
18873
|
RuntimeError) {
|
17880
|
-
|
18874
|
+
'use strict';
|
17881
18875
|
|
17882
18876
|
/**
|
17883
18877
|
* Asynchronously loads the given URL. Returns a promise that will resolve to
|
@@ -18048,7 +19042,7 @@ define('Core/loadText',[
|
|
18048
19042
|
'./loadWithXhr'
|
18049
19043
|
], function(
|
18050
19044
|
loadWithXhr) {
|
18051
|
-
|
19045
|
+
'use strict';
|
18052
19046
|
|
18053
19047
|
/**
|
18054
19048
|
* Asynchronously loads the given URL as text. Returns a promise that will resolve to
|
@@ -18098,7 +19092,7 @@ define('Core/loadJson',[
|
|
18098
19092
|
defined,
|
18099
19093
|
DeveloperError,
|
18100
19094
|
loadText) {
|
18101
|
-
|
19095
|
+
'use strict';
|
18102
19096
|
|
18103
19097
|
var defaultHeaders = {
|
18104
19098
|
Accept : 'application/json,*/*;q=0.01'
|
@@ -18181,7 +19175,7 @@ define('Core/EarthOrientationParameters',[
|
|
18181
19175
|
RuntimeError,
|
18182
19176
|
TimeConstants,
|
18183
19177
|
TimeStandard) {
|
18184
|
-
|
19178
|
+
'use strict';
|
18185
19179
|
|
18186
19180
|
/**
|
18187
19181
|
* Specifies Earth polar motion coordinates and the difference between UT1 and UTC.
|
@@ -18826,7 +19820,7 @@ define('Core/getAbsoluteUri',[
|
|
18826
19820
|
defaultValue,
|
18827
19821
|
defined,
|
18828
19822
|
DeveloperError) {
|
18829
|
-
|
19823
|
+
'use strict';
|
18830
19824
|
|
18831
19825
|
/**
|
18832
19826
|
* Given a relative Uri and a base Uri, returns the absolute Uri of the relative Uri.
|
@@ -18853,20 +19847,127 @@ define('Core/getAbsoluteUri',[
|
|
18853
19847
|
return getAbsoluteUri;
|
18854
19848
|
});
|
18855
19849
|
|
19850
|
+
/*global define*/
|
19851
|
+
define('Core/joinUrls',[
|
19852
|
+
'../ThirdParty/Uri',
|
19853
|
+
'./defaultValue',
|
19854
|
+
'./defined',
|
19855
|
+
'./DeveloperError'
|
19856
|
+
], function(
|
19857
|
+
Uri,
|
19858
|
+
defaultValue,
|
19859
|
+
defined,
|
19860
|
+
DeveloperError) {
|
19861
|
+
'use strict';
|
19862
|
+
|
19863
|
+
/**
|
19864
|
+
* Function for joining URLs in a manner that is aware of query strings and fragments.
|
19865
|
+
* This is useful when the base URL has a query string that needs to be maintained
|
19866
|
+
* (e.g. a presigned base URL).
|
19867
|
+
* @param {String|Uri} first The base URL.
|
19868
|
+
* @param {String|Uri} second The URL path to join to the base URL. If this URL is absolute, it is returned unmodified.
|
19869
|
+
* @param {Boolean} [appendSlash=true] The boolean determining whether there should be a forward slash between first and second.
|
19870
|
+
* @private
|
19871
|
+
*/
|
19872
|
+
function joinUrls(first, second, appendSlash) {
|
19873
|
+
if (!defined(first)) {
|
19874
|
+
throw new DeveloperError('first is required');
|
19875
|
+
}
|
19876
|
+
if (!defined(second)) {
|
19877
|
+
throw new DeveloperError('second is required');
|
19878
|
+
}
|
19879
|
+
|
19880
|
+
appendSlash = defaultValue(appendSlash, true);
|
19881
|
+
|
19882
|
+
if (!(first instanceof Uri)) {
|
19883
|
+
first = new Uri(first);
|
19884
|
+
}
|
19885
|
+
|
19886
|
+
if (!(second instanceof Uri)) {
|
19887
|
+
second = new Uri(second);
|
19888
|
+
}
|
19889
|
+
|
19890
|
+
// Uri.isAbsolute returns false for a URL like '//foo.com'. So if we have an authority but
|
19891
|
+
// not a scheme, add a scheme matching the page's scheme.
|
19892
|
+
if (defined(second.authority) && !defined(second.scheme)) {
|
19893
|
+
if (typeof document !== 'undefined' && defined(document.location) && defined(document.location.href)) {
|
19894
|
+
second.scheme = new Uri(document.location.href).scheme;
|
19895
|
+
} else {
|
19896
|
+
// Not in a browser? Use the first URL's scheme instead.
|
19897
|
+
second.scheme = first.scheme;
|
19898
|
+
}
|
19899
|
+
}
|
19900
|
+
|
19901
|
+
// If the second URL is absolute, use it for the scheme, authority, and path.
|
19902
|
+
var baseUri = first;
|
19903
|
+
if (second.isAbsolute()) {
|
19904
|
+
baseUri = second;
|
19905
|
+
}
|
19906
|
+
|
19907
|
+
var url = '';
|
19908
|
+
if (defined(baseUri.scheme)) {
|
19909
|
+
url += baseUri.scheme + ':';
|
19910
|
+
}
|
19911
|
+
if (defined(baseUri.authority)) {
|
19912
|
+
url += '//' + baseUri.authority;
|
19913
|
+
|
19914
|
+
if (baseUri.path !== '' && baseUri.path !== '/') {
|
19915
|
+
url = url.replace(/\/?$/, '/');
|
19916
|
+
baseUri.path = baseUri.path.replace(/^\/?/g, '');
|
19917
|
+
}
|
19918
|
+
}
|
19919
|
+
|
19920
|
+
// Combine the paths (only if second is relative).
|
19921
|
+
if (baseUri === first) {
|
19922
|
+
if (appendSlash) {
|
19923
|
+
url += first.path.replace(/\/?$/, '/') + second.path.replace(/^\/?/g, '');
|
19924
|
+
} else {
|
19925
|
+
url += first.path + second.path;
|
19926
|
+
}
|
19927
|
+
} else {
|
19928
|
+
url += second.path;
|
19929
|
+
}
|
19930
|
+
|
19931
|
+
// Combine the queries and fragments.
|
19932
|
+
var hasFirstQuery = defined(first.query);
|
19933
|
+
var hasSecondQuery = defined(second.query);
|
19934
|
+
if (hasFirstQuery && hasSecondQuery) {
|
19935
|
+
url += '?' + first.query + '&' + second.query;
|
19936
|
+
} else if (hasFirstQuery && !hasSecondQuery) {
|
19937
|
+
url += '?' + first.query;
|
19938
|
+
} else if (!hasFirstQuery && hasSecondQuery) {
|
19939
|
+
url += '?' + second.query;
|
19940
|
+
}
|
19941
|
+
|
19942
|
+
var hasSecondFragment = defined(second.fragment);
|
19943
|
+
if (defined(first.fragment) && !hasSecondFragment) {
|
19944
|
+
url += '#' + first.fragment;
|
19945
|
+
} else if (hasSecondFragment) {
|
19946
|
+
url += '#' + second.fragment;
|
19947
|
+
}
|
19948
|
+
|
19949
|
+
return url;
|
19950
|
+
}
|
19951
|
+
|
19952
|
+
return joinUrls;
|
19953
|
+
});
|
19954
|
+
|
18856
19955
|
/*global define*/
|
18857
19956
|
define('Core/buildModuleUrl',[
|
18858
19957
|
'../ThirdParty/Uri',
|
18859
19958
|
'./defined',
|
18860
19959
|
'./DeveloperError',
|
18861
19960
|
'./getAbsoluteUri',
|
19961
|
+
'./joinUrls',
|
18862
19962
|
'require'
|
18863
19963
|
], function(
|
18864
19964
|
Uri,
|
18865
19965
|
defined,
|
18866
19966
|
DeveloperError,
|
18867
19967
|
getAbsoluteUri,
|
19968
|
+
joinUrls,
|
18868
19969
|
require) {
|
18869
|
-
|
19970
|
+
'use strict';
|
18870
19971
|
/*global CESIUM_BASE_URL*/
|
18871
19972
|
|
18872
19973
|
var cesiumScriptRegex = /((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i;
|
@@ -18910,7 +20011,7 @@ define('Core/buildModuleUrl',[
|
|
18910
20011
|
}
|
18911
20012
|
|
18912
20013
|
function buildModuleUrlFromBaseUrl(moduleID) {
|
18913
|
-
return
|
20014
|
+
return joinUrls(getCesiumBaseUrl(), moduleID);
|
18914
20015
|
}
|
18915
20016
|
|
18916
20017
|
var implementation;
|
@@ -18961,7 +20062,7 @@ define('Core/buildModuleUrl',[
|
|
18961
20062
|
|
18962
20063
|
/*global define*/
|
18963
20064
|
define('Core/Iau2006XysSample',[],function() {
|
18964
|
-
|
20065
|
+
'use strict';
|
18965
20066
|
|
18966
20067
|
/**
|
18967
20068
|
* An IAU 2006 XYS value sampled at a particular time.
|
@@ -19017,7 +20118,7 @@ define('Core/Iau2006XysData',[
|
|
19017
20118
|
JulianDate,
|
19018
20119
|
loadJson,
|
19019
20120
|
TimeStandard) {
|
19020
|
-
|
20121
|
+
'use strict';
|
19021
20122
|
|
19022
20123
|
/**
|
19023
20124
|
* A set of IAU2006 XYS data that is used to evaluate the transformation between the International
|
@@ -19283,7 +20384,7 @@ define('Core/Quaternion',[
|
|
19283
20384
|
freezeObject,
|
19284
20385
|
CesiumMath,
|
19285
20386
|
Matrix3) {
|
19286
|
-
|
20387
|
+
'use strict';
|
19287
20388
|
|
19288
20389
|
/**
|
19289
20390
|
* A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
|
@@ -20365,6 +21466,7 @@ define('Core/Transforms',[
|
|
20365
21466
|
'./Cartesian2',
|
20366
21467
|
'./Cartesian3',
|
20367
21468
|
'./Cartesian4',
|
21469
|
+
'./Cartographic',
|
20368
21470
|
'./defaultValue',
|
20369
21471
|
'./defined',
|
20370
21472
|
'./DeveloperError',
|
@@ -20384,6 +21486,7 @@ define('Core/Transforms',[
|
|
20384
21486
|
Cartesian2,
|
20385
21487
|
Cartesian3,
|
20386
21488
|
Cartesian4,
|
21489
|
+
Cartographic,
|
20387
21490
|
defaultValue,
|
20388
21491
|
defined,
|
20389
21492
|
DeveloperError,
|
@@ -20398,7 +21501,7 @@ define('Core/Transforms',[
|
|
20398
21501
|
Matrix4,
|
20399
21502
|
Quaternion,
|
20400
21503
|
TimeConstants) {
|
20401
|
-
|
21504
|
+
'use strict';
|
20402
21505
|
|
20403
21506
|
/**
|
20404
21507
|
* Contains functions for transforming positions to various reference frames.
|
@@ -20734,6 +21837,38 @@ define('Core/Transforms',[
|
|
20734
21837
|
return Matrix4.multiply(result, hprMatrix, result);
|
20735
21838
|
};
|
20736
21839
|
|
21840
|
+
/**
|
21841
|
+
* Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles
|
21842
|
+
* centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north
|
21843
|
+
* direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
|
21844
|
+
* are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
|
21845
|
+
*
|
21846
|
+
* @param {Cartesian3} origin The center point of the local reference frame.
|
21847
|
+
* @param {Number} heading The heading angle in radians.
|
21848
|
+
* @param {Number} pitch The pitch angle in radians.
|
21849
|
+
* @param {Number} roll The roll angle in radians.
|
21850
|
+
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
|
21851
|
+
* @param {Matrix4} [result] The object onto which to store the result.
|
21852
|
+
* @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
|
21853
|
+
*
|
21854
|
+
* @example
|
21855
|
+
* // Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
|
21856
|
+
* var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
|
21857
|
+
* var heading = -Cesium.Math.PI_OVER_TWO;
|
21858
|
+
* var pitch = Cesium.Math.PI_OVER_FOUR;
|
21859
|
+
* var roll = 0.0;
|
21860
|
+
* var transform = Cesium.Transforms.aircraftHeadingPitchRollToFixedFrame(center, heading, pitch, roll);
|
21861
|
+
*
|
21862
|
+
* @private
|
21863
|
+
*/
|
21864
|
+
Transforms.aircraftHeadingPitchRollToFixedFrame = function(origin, heading, pitch, roll, ellipsoid, result) {
|
21865
|
+
// checks for required parameters happen in the called functions
|
21866
|
+
var hprQuaternion = Quaternion.fromHeadingPitchRoll(heading, pitch, roll, scratchHPRQuaternion);
|
21867
|
+
var hprMatrix = Matrix4.fromTranslationQuaternionRotationScale(Cartesian3.ZERO, hprQuaternion, scratchScale, scratchHPRMatrix4);
|
21868
|
+
result = Transforms.northEastDownToFixedFrame(origin, ellipsoid, result);
|
21869
|
+
return Matrix4.multiply(result, hprMatrix, result);
|
21870
|
+
};
|
21871
|
+
|
20737
21872
|
var scratchENUMatrix4 = new Matrix4();
|
20738
21873
|
var scratchHPRMatrix3 = new Matrix3();
|
20739
21874
|
|
@@ -20766,6 +21901,37 @@ define('Core/Transforms',[
|
|
20766
21901
|
return Quaternion.fromRotationMatrix(rotation, result);
|
20767
21902
|
};
|
20768
21903
|
|
21904
|
+
/**
|
21905
|
+
* Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles
|
21906
|
+
* centered at the provided origin. Heading is the rotation from the local north
|
21907
|
+
* direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
|
21908
|
+
* are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
|
21909
|
+
*
|
21910
|
+
* @param {Cartesian3} origin The center point of the local reference frame.
|
21911
|
+
* @param {Number} heading The heading angle in radians.
|
21912
|
+
* @param {Number} pitch The pitch angle in radians.
|
21913
|
+
* @param {Number} roll The roll angle in radians.
|
21914
|
+
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
|
21915
|
+
* @param {Quaternion} [result] The object onto which to store the result.
|
21916
|
+
* @returns {Quaternion} The modified result parameter or a new Quaternion instance if none was provided.
|
21917
|
+
*
|
21918
|
+
* @example
|
21919
|
+
* // Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
|
21920
|
+
* var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
|
21921
|
+
* var heading = -Cesium.Math.PI_OVER_TWO;
|
21922
|
+
* var pitch = Cesium.Math.PI_OVER_FOUR;
|
21923
|
+
* var roll = 0.0;
|
21924
|
+
* var quaternion = Cesium.Transforms.aircraftHeadingPitchRollQuaternion(center, heading, pitch, roll);
|
21925
|
+
*
|
21926
|
+
* @private
|
21927
|
+
*/
|
21928
|
+
Transforms.aircraftHeadingPitchRollQuaternion = function(origin, heading, pitch, roll, ellipsoid, result) {
|
21929
|
+
// checks for required parameters happen in the called functions
|
21930
|
+
var transform = Transforms.aircraftHeadingPitchRollToFixedFrame(origin, heading, pitch, roll, ellipsoid, scratchENUMatrix4);
|
21931
|
+
var rotation = Matrix4.getRotation(transform, scratchHPRMatrix3);
|
21932
|
+
return Quaternion.fromRotationMatrix(rotation, result);
|
21933
|
+
};
|
21934
|
+
|
20769
21935
|
|
20770
21936
|
var gmstConstant0 = 6 * 3600 + 41 * 60 + 50.54841;
|
20771
21937
|
var gmstConstant1 = 8640184.812866;
|
@@ -21165,6 +22331,79 @@ define('Core/Transforms',[
|
|
21165
22331
|
return result;
|
21166
22332
|
};
|
21167
22333
|
|
22334
|
+
var scratchCartographic = new Cartographic();
|
22335
|
+
var scratchCartesian3Projection = new Cartesian3();
|
22336
|
+
var scratchCartesian3 = new Cartesian3();
|
22337
|
+
var scratchCartesian4Origin = new Cartesian4();
|
22338
|
+
var scratchCartesian4NewOrigin = new Cartesian4();
|
22339
|
+
var scratchCartesian4NewXAxis = new Cartesian4();
|
22340
|
+
var scratchCartesian4NewYAxis = new Cartesian4();
|
22341
|
+
var scratchCartesian4NewZAxis = new Cartesian4();
|
22342
|
+
var scratchFromENU = new Matrix4();
|
22343
|
+
var scratchToENU = new Matrix4();
|
22344
|
+
|
22345
|
+
/**
|
22346
|
+
* @private
|
22347
|
+
*/
|
22348
|
+
Transforms.basisTo2D = function(projection, matrix, result) {
|
22349
|
+
if (!defined(projection)) {
|
22350
|
+
throw new DeveloperError('projection is required.');
|
22351
|
+
}
|
22352
|
+
if (!defined(matrix)) {
|
22353
|
+
throw new DeveloperError('matrix is required.');
|
22354
|
+
}
|
22355
|
+
if (!defined(result)) {
|
22356
|
+
throw new DeveloperError('result is required.');
|
22357
|
+
}
|
22358
|
+
|
22359
|
+
var ellipsoid = projection.ellipsoid;
|
22360
|
+
|
22361
|
+
var origin = Matrix4.getColumn(matrix, 3, scratchCartesian4Origin);
|
22362
|
+
var cartographic = ellipsoid.cartesianToCartographic(origin, scratchCartographic);
|
22363
|
+
|
22364
|
+
var fromENU = Transforms.eastNorthUpToFixedFrame(origin, ellipsoid, scratchFromENU);
|
22365
|
+
var toENU = Matrix4.inverseTransformation(fromENU, scratchToENU);
|
22366
|
+
|
22367
|
+
var projectedPosition = projection.project(cartographic, scratchCartesian3Projection);
|
22368
|
+
var newOrigin = scratchCartesian4NewOrigin;
|
22369
|
+
newOrigin.x = projectedPosition.z;
|
22370
|
+
newOrigin.y = projectedPosition.x;
|
22371
|
+
newOrigin.z = projectedPosition.y;
|
22372
|
+
newOrigin.w = 1.0;
|
22373
|
+
|
22374
|
+
var xAxis = Matrix4.getColumn(matrix, 0, scratchCartesian3);
|
22375
|
+
var xScale = Cartesian3.magnitude(xAxis);
|
22376
|
+
var newXAxis = Matrix4.multiplyByVector(toENU, xAxis, scratchCartesian4NewXAxis);
|
22377
|
+
Cartesian4.fromElements(newXAxis.z, newXAxis.x, newXAxis.y, 0.0, newXAxis);
|
22378
|
+
|
22379
|
+
var yAxis = Matrix4.getColumn(matrix, 1, scratchCartesian3);
|
22380
|
+
var yScale = Cartesian3.magnitude(yAxis);
|
22381
|
+
var newYAxis = Matrix4.multiplyByVector(toENU, yAxis, scratchCartesian4NewYAxis);
|
22382
|
+
Cartesian4.fromElements(newYAxis.z, newYAxis.x, newYAxis.y, 0.0, newYAxis);
|
22383
|
+
|
22384
|
+
var zAxis = Matrix4.getColumn(matrix, 2, scratchCartesian3);
|
22385
|
+
var zScale = Cartesian3.magnitude(zAxis);
|
22386
|
+
|
22387
|
+
var newZAxis = scratchCartesian4NewZAxis;
|
22388
|
+
Cartesian3.cross(newXAxis, newYAxis, newZAxis);
|
22389
|
+
Cartesian3.normalize(newZAxis, newZAxis);
|
22390
|
+
Cartesian3.cross(newYAxis, newZAxis, newXAxis);
|
22391
|
+
Cartesian3.normalize(newXAxis, newXAxis);
|
22392
|
+
Cartesian3.cross(newZAxis, newXAxis, newYAxis);
|
22393
|
+
Cartesian3.normalize(newYAxis, newYAxis);
|
22394
|
+
|
22395
|
+
Cartesian3.multiplyByScalar(newXAxis, xScale, newXAxis);
|
22396
|
+
Cartesian3.multiplyByScalar(newYAxis, yScale, newYAxis);
|
22397
|
+
Cartesian3.multiplyByScalar(newZAxis, zScale, newZAxis);
|
22398
|
+
|
22399
|
+
Matrix4.setColumn(result, 0, newXAxis, result);
|
22400
|
+
Matrix4.setColumn(result, 1, newYAxis, result);
|
22401
|
+
Matrix4.setColumn(result, 2, newZAxis, result);
|
22402
|
+
Matrix4.setColumn(result, 3, newOrigin, result);
|
22403
|
+
|
22404
|
+
return result;
|
22405
|
+
};
|
22406
|
+
|
21168
22407
|
return Transforms;
|
21169
22408
|
});
|
21170
22409
|
|
@@ -21201,7 +22440,7 @@ define('Core/EllipsoidTangentPlane',[
|
|
21201
22440
|
Plane,
|
21202
22441
|
Ray,
|
21203
22442
|
Transforms) {
|
21204
|
-
|
22443
|
+
'use strict';
|
21205
22444
|
|
21206
22445
|
var scratchCart4 = new Cartesian4();
|
21207
22446
|
/**
|
@@ -21515,7 +22754,7 @@ define('Core/barycentricCoordinates',[
|
|
21515
22754
|
Cartesian3,
|
21516
22755
|
defined,
|
21517
22756
|
DeveloperError) {
|
21518
|
-
|
22757
|
+
'use strict';
|
21519
22758
|
|
21520
22759
|
var scratchCartesian1 = new Cartesian3();
|
21521
22760
|
var scratchCartesian2 = new Cartesian3();
|
@@ -21594,7 +22833,7 @@ define('Core/pointInsideTriangle',[
|
|
21594
22833
|
], function(
|
21595
22834
|
barycentricCoordinates,
|
21596
22835
|
Cartesian3) {
|
21597
|
-
|
22836
|
+
'use strict';
|
21598
22837
|
|
21599
22838
|
var coords = new Cartesian3();
|
21600
22839
|
|
@@ -21626,1688 +22865,219 @@ define('Core/pointInsideTriangle',[
|
|
21626
22865
|
});
|
21627
22866
|
|
21628
22867
|
/*global define*/
|
21629
|
-
define('Core/
|
21630
|
-
'
|
21631
|
-
'./Cartographic',
|
21632
|
-
'./defaultValue',
|
21633
|
-
'./defined',
|
21634
|
-
'./defineProperties',
|
21635
|
-
'./DeveloperError',
|
21636
|
-
'./Ellipsoid',
|
21637
|
-
'./Math'
|
22868
|
+
define('Core/Queue',[
|
22869
|
+
'../Core/defineProperties'
|
21638
22870
|
], function(
|
21639
|
-
|
21640
|
-
|
21641
|
-
defaultValue,
|
21642
|
-
defined,
|
21643
|
-
defineProperties,
|
21644
|
-
DeveloperError,
|
21645
|
-
Ellipsoid,
|
21646
|
-
CesiumMath) {
|
21647
|
-
"use strict";
|
21648
|
-
|
21649
|
-
function setConstants(ellipsoidGeodesic) {
|
21650
|
-
var uSquared = ellipsoidGeodesic._uSquared;
|
21651
|
-
var a = ellipsoidGeodesic._ellipsoid.maximumRadius;
|
21652
|
-
var b = ellipsoidGeodesic._ellipsoid.minimumRadius;
|
21653
|
-
var f = (a - b) / a;
|
21654
|
-
|
21655
|
-
var cosineHeading = Math.cos(ellipsoidGeodesic._startHeading);
|
21656
|
-
var sineHeading = Math.sin(ellipsoidGeodesic._startHeading);
|
21657
|
-
|
21658
|
-
var tanU = (1 - f) * Math.tan(ellipsoidGeodesic._start.latitude);
|
21659
|
-
|
21660
|
-
var cosineU = 1.0 / Math.sqrt(1.0 + tanU * tanU);
|
21661
|
-
var sineU = cosineU * tanU;
|
21662
|
-
|
21663
|
-
var sigma = Math.atan2(tanU, cosineHeading);
|
21664
|
-
|
21665
|
-
var sineAlpha = cosineU * sineHeading;
|
21666
|
-
var sineSquaredAlpha = sineAlpha * sineAlpha;
|
21667
|
-
|
21668
|
-
var cosineSquaredAlpha = 1.0 - sineSquaredAlpha;
|
21669
|
-
var cosineAlpha = Math.sqrt(cosineSquaredAlpha);
|
21670
|
-
|
21671
|
-
var u2Over4 = uSquared / 4.0;
|
21672
|
-
var u4Over16 = u2Over4 * u2Over4;
|
21673
|
-
var u6Over64 = u4Over16 * u2Over4;
|
21674
|
-
var u8Over256 = u4Over16 * u4Over16;
|
21675
|
-
|
21676
|
-
var a0 = (1.0 + u2Over4 - 3.0 * u4Over16 / 4.0 + 5.0 * u6Over64 / 4.0 - 175.0 * u8Over256 / 64.0);
|
21677
|
-
var a1 = (1.0 - u2Over4 + 15.0 * u4Over16 / 8.0 - 35.0 * u6Over64 / 8.0);
|
21678
|
-
var a2 = (1.0 - 3.0 * u2Over4 + 35.0 * u4Over16 / 4.0);
|
21679
|
-
var a3 = (1.0 - 5.0 * u2Over4);
|
21680
|
-
|
21681
|
-
var distanceRatio = a0 * sigma - a1 * Math.sin(2.0 * sigma) * u2Over4 / 2.0 - a2 * Math.sin(4.0 * sigma) * u4Over16 / 16.0 -
|
21682
|
-
a3 * Math.sin(6.0 * sigma) * u6Over64 / 48.0 - Math.sin(8.0 * sigma) * 5.0 * u8Over256 / 512;
|
21683
|
-
|
21684
|
-
var constants = ellipsoidGeodesic._constants;
|
21685
|
-
|
21686
|
-
constants.a = a;
|
21687
|
-
constants.b = b;
|
21688
|
-
constants.f = f;
|
21689
|
-
constants.cosineHeading = cosineHeading;
|
21690
|
-
constants.sineHeading = sineHeading;
|
21691
|
-
constants.tanU = tanU;
|
21692
|
-
constants.cosineU = cosineU;
|
21693
|
-
constants.sineU = sineU;
|
21694
|
-
constants.sigma = sigma;
|
21695
|
-
constants.sineAlpha = sineAlpha;
|
21696
|
-
constants.sineSquaredAlpha = sineSquaredAlpha;
|
21697
|
-
constants.cosineSquaredAlpha = cosineSquaredAlpha;
|
21698
|
-
constants.cosineAlpha = cosineAlpha;
|
21699
|
-
constants.u2Over4 = u2Over4;
|
21700
|
-
constants.u4Over16 = u4Over16;
|
21701
|
-
constants.u6Over64 = u6Over64;
|
21702
|
-
constants.u8Over256 = u8Over256;
|
21703
|
-
constants.a0 = a0;
|
21704
|
-
constants.a1 = a1;
|
21705
|
-
constants.a2 = a2;
|
21706
|
-
constants.a3 = a3;
|
21707
|
-
constants.distanceRatio = distanceRatio;
|
21708
|
-
}
|
21709
|
-
|
21710
|
-
function computeC(f, cosineSquaredAlpha) {
|
21711
|
-
return f * cosineSquaredAlpha * (4.0 + f * (4.0 - 3.0 * cosineSquaredAlpha)) / 16.0;
|
21712
|
-
}
|
21713
|
-
|
21714
|
-
function computeDeltaLambda(f, sineAlpha, cosineSquaredAlpha, sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint) {
|
21715
|
-
var C = computeC(f, cosineSquaredAlpha);
|
21716
|
-
|
21717
|
-
return (1.0 - C) * f * sineAlpha * (sigma + C * sineSigma * (cosineTwiceSigmaMidpoint +
|
21718
|
-
C * cosineSigma * (2.0 * cosineTwiceSigmaMidpoint * cosineTwiceSigmaMidpoint - 1.0)));
|
21719
|
-
}
|
21720
|
-
|
21721
|
-
function vincentyInverseFormula(ellipsoidGeodesic, major, minor, firstLongitude, firstLatitude, secondLongitude, secondLatitude) {
|
21722
|
-
var eff = (major - minor) / major;
|
21723
|
-
var l = secondLongitude - firstLongitude;
|
21724
|
-
|
21725
|
-
var u1 = Math.atan((1 - eff) * Math.tan(firstLatitude));
|
21726
|
-
var u2 = Math.atan((1 - eff) * Math.tan(secondLatitude));
|
21727
|
-
|
21728
|
-
var cosineU1 = Math.cos(u1);
|
21729
|
-
var sineU1 = Math.sin(u1);
|
21730
|
-
var cosineU2 = Math.cos(u2);
|
21731
|
-
var sineU2 = Math.sin(u2);
|
21732
|
-
|
21733
|
-
var cc = cosineU1 * cosineU2;
|
21734
|
-
var cs = cosineU1 * sineU2;
|
21735
|
-
var ss = sineU1 * sineU2;
|
21736
|
-
var sc = sineU1 * cosineU2;
|
21737
|
-
|
21738
|
-
var lambda = l;
|
21739
|
-
var lambdaDot = CesiumMath.TWO_PI;
|
21740
|
-
|
21741
|
-
var cosineLambda = Math.cos(lambda);
|
21742
|
-
var sineLambda = Math.sin(lambda);
|
21743
|
-
|
21744
|
-
var sigma;
|
21745
|
-
var cosineSigma;
|
21746
|
-
var sineSigma;
|
21747
|
-
var cosineSquaredAlpha;
|
21748
|
-
var cosineTwiceSigmaMidpoint;
|
21749
|
-
|
21750
|
-
do {
|
21751
|
-
cosineLambda = Math.cos(lambda);
|
21752
|
-
sineLambda = Math.sin(lambda);
|
21753
|
-
|
21754
|
-
var temp = cs - sc * cosineLambda;
|
21755
|
-
sineSigma = Math.sqrt(cosineU2 * cosineU2 * sineLambda * sineLambda + temp * temp);
|
21756
|
-
cosineSigma = ss + cc * cosineLambda;
|
21757
|
-
|
21758
|
-
sigma = Math.atan2(sineSigma, cosineSigma);
|
21759
|
-
|
21760
|
-
var sineAlpha;
|
21761
|
-
|
21762
|
-
if (sineSigma === 0.0) {
|
21763
|
-
sineAlpha = 0.0;
|
21764
|
-
cosineSquaredAlpha = 1.0;
|
21765
|
-
} else {
|
21766
|
-
sineAlpha = cc * sineLambda / sineSigma;
|
21767
|
-
cosineSquaredAlpha = 1.0 - sineAlpha * sineAlpha;
|
21768
|
-
}
|
21769
|
-
|
21770
|
-
lambdaDot = lambda;
|
21771
|
-
|
21772
|
-
cosineTwiceSigmaMidpoint = cosineSigma - 2.0 * ss / cosineSquaredAlpha;
|
21773
|
-
|
21774
|
-
if (isNaN(cosineTwiceSigmaMidpoint)) {
|
21775
|
-
cosineTwiceSigmaMidpoint = 0.0;
|
21776
|
-
}
|
21777
|
-
|
21778
|
-
lambda = l + computeDeltaLambda(eff, sineAlpha, cosineSquaredAlpha,
|
21779
|
-
sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint);
|
21780
|
-
} while (Math.abs(lambda - lambdaDot) > CesiumMath.EPSILON12);
|
21781
|
-
|
21782
|
-
var uSquared = cosineSquaredAlpha * (major * major - minor * minor) / (minor * minor);
|
21783
|
-
var A = 1.0 + uSquared * (4096.0 + uSquared * (uSquared * (320.0 - 175.0 * uSquared) - 768.0)) / 16384.0;
|
21784
|
-
var B = uSquared * (256.0 + uSquared * (uSquared * (74.0 - 47.0 * uSquared) - 128.0)) / 1024.0;
|
21785
|
-
|
21786
|
-
var cosineSquaredTwiceSigmaMidpoint = cosineTwiceSigmaMidpoint * cosineTwiceSigmaMidpoint;
|
21787
|
-
var deltaSigma = B * sineSigma * (cosineTwiceSigmaMidpoint + B * (cosineSigma *
|
21788
|
-
(2.0 * cosineSquaredTwiceSigmaMidpoint - 1.0) - B * cosineTwiceSigmaMidpoint *
|
21789
|
-
(4.0 * sineSigma * sineSigma - 3.0) * (4.0 * cosineSquaredTwiceSigmaMidpoint - 3.0) / 6.0) / 4.0);
|
21790
|
-
|
21791
|
-
var distance = minor * A * (sigma - deltaSigma);
|
21792
|
-
|
21793
|
-
var startHeading = Math.atan2(cosineU2 * sineLambda, cs - sc * cosineLambda);
|
21794
|
-
var endHeading = Math.atan2(cosineU1 * sineLambda, cs * cosineLambda - sc);
|
21795
|
-
|
21796
|
-
ellipsoidGeodesic._distance = distance;
|
21797
|
-
ellipsoidGeodesic._startHeading = startHeading;
|
21798
|
-
ellipsoidGeodesic._endHeading = endHeading;
|
21799
|
-
ellipsoidGeodesic._uSquared = uSquared;
|
21800
|
-
}
|
21801
|
-
|
21802
|
-
function computeProperties(ellipsoidGeodesic, start, end, ellipsoid) {
|
21803
|
-
var firstCartesian = Cartesian3.normalize(ellipsoid.cartographicToCartesian(start, scratchCart2), scratchCart1);
|
21804
|
-
var lastCartesian = Cartesian3.normalize(ellipsoid.cartographicToCartesian(end, scratchCart2), scratchCart2);
|
21805
|
-
|
21806
|
-
if (Math.abs(Math.abs(Cartesian3.angleBetween(firstCartesian, lastCartesian)) - Math.PI) < 0.0125) {
|
21807
|
-
throw new DeveloperError('geodesic position is not unique');
|
21808
|
-
}
|
21809
|
-
|
21810
|
-
vincentyInverseFormula(ellipsoidGeodesic, ellipsoid.maximumRadius, ellipsoid.minimumRadius,
|
21811
|
-
start.longitude, start.latitude, end.longitude, end.latitude);
|
21812
|
-
|
21813
|
-
ellipsoidGeodesic._start = Cartographic.clone(start, ellipsoidGeodesic._start);
|
21814
|
-
ellipsoidGeodesic._end = Cartographic.clone(end, ellipsoidGeodesic._end);
|
21815
|
-
ellipsoidGeodesic._start.height = 0;
|
21816
|
-
ellipsoidGeodesic._end.height = 0;
|
21817
|
-
|
21818
|
-
setConstants(ellipsoidGeodesic);
|
21819
|
-
}
|
22871
|
+
defineProperties) {
|
22872
|
+
'use strict';
|
21820
22873
|
|
21821
|
-
var scratchCart1 = new Cartesian3();
|
21822
|
-
var scratchCart2 = new Cartesian3();
|
21823
22874
|
/**
|
21824
|
-
*
|
22875
|
+
* A queue that can enqueue items at the end, and dequeue items from the front.
|
21825
22876
|
*
|
21826
|
-
* @alias
|
22877
|
+
* @alias Queue
|
21827
22878
|
* @constructor
|
21828
|
-
*
|
21829
|
-
* @param {Cartographic} [start] The initial planetodetic point on the path.
|
21830
|
-
* @param {Cartographic} [end] The final planetodetic point on the path.
|
21831
|
-
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the geodesic lies.
|
21832
22879
|
*/
|
21833
|
-
function
|
21834
|
-
|
21835
|
-
this.
|
21836
|
-
this.
|
21837
|
-
this._end = new Cartographic();
|
21838
|
-
|
21839
|
-
this._constants = {};
|
21840
|
-
this._startHeading = undefined;
|
21841
|
-
this._endHeading = undefined;
|
21842
|
-
this._distance = undefined;
|
21843
|
-
this._uSquared = undefined;
|
21844
|
-
|
21845
|
-
if (defined(start) && defined(end)) {
|
21846
|
-
computeProperties(this, start, end, e);
|
21847
|
-
}
|
22880
|
+
function Queue() {
|
22881
|
+
this._array = [];
|
22882
|
+
this._offset = 0;
|
22883
|
+
this._length = 0;
|
21848
22884
|
}
|
21849
22885
|
|
21850
|
-
defineProperties(
|
21851
|
-
/**
|
21852
|
-
* Gets the ellipsoid.
|
21853
|
-
* @memberof EllipsoidGeodesic.prototype
|
21854
|
-
* @type {Ellipsoid}
|
21855
|
-
* @readonly
|
21856
|
-
*/
|
21857
|
-
ellipsoid : {
|
21858
|
-
get : function() {
|
21859
|
-
return this._ellipsoid;
|
21860
|
-
}
|
21861
|
-
},
|
21862
|
-
|
22886
|
+
defineProperties(Queue.prototype, {
|
21863
22887
|
/**
|
21864
|
-
*
|
21865
|
-
*
|
22888
|
+
* The length of the queue.
|
22889
|
+
*
|
22890
|
+
* @memberof Queue.prototype
|
22891
|
+
*
|
21866
22892
|
* @type {Number}
|
21867
22893
|
* @readonly
|
21868
22894
|
*/
|
21869
|
-
|
21870
|
-
get : function() {
|
21871
|
-
if (!defined(this._distance)) {
|
21872
|
-
throw new DeveloperError('set end positions before getting surfaceDistance');
|
21873
|
-
}
|
21874
|
-
|
21875
|
-
return this._distance;
|
21876
|
-
}
|
21877
|
-
},
|
21878
|
-
|
21879
|
-
/**
|
21880
|
-
* Gets the initial planetodetic point on the path.
|
21881
|
-
* @memberof EllipsoidGeodesic.prototype
|
21882
|
-
* @type {Cartographic}
|
21883
|
-
* @readonly
|
21884
|
-
*/
|
21885
|
-
start : {
|
21886
|
-
get : function() {
|
21887
|
-
return this._start;
|
21888
|
-
}
|
21889
|
-
},
|
21890
|
-
|
21891
|
-
/**
|
21892
|
-
* Gets the final planetodetic point on the path.
|
21893
|
-
* @memberof EllipsoidGeodesic.prototype
|
21894
|
-
* @type {Cartographic}
|
21895
|
-
* @readonly
|
21896
|
-
*/
|
21897
|
-
end : {
|
21898
|
-
get : function() {
|
21899
|
-
return this._end;
|
21900
|
-
}
|
21901
|
-
},
|
21902
|
-
|
21903
|
-
/**
|
21904
|
-
* Gets the heading at the initial point.
|
21905
|
-
* @memberof EllipsoidGeodesic.prototype
|
21906
|
-
* @type {Number}
|
21907
|
-
* @readonly
|
21908
|
-
*/
|
21909
|
-
startHeading : {
|
21910
|
-
get : function() {
|
21911
|
-
if (!defined(this._distance)) {
|
21912
|
-
throw new DeveloperError('set end positions before getting startHeading');
|
21913
|
-
}
|
21914
|
-
|
21915
|
-
return this._startHeading;
|
21916
|
-
}
|
21917
|
-
},
|
21918
|
-
|
21919
|
-
/**
|
21920
|
-
* Gets the heading at the final point.
|
21921
|
-
* @memberof EllipsoidGeodesic.prototype
|
21922
|
-
* @type {Number}
|
21923
|
-
* @readonly
|
21924
|
-
*/
|
21925
|
-
endHeading : {
|
22895
|
+
length : {
|
21926
22896
|
get : function() {
|
21927
|
-
|
21928
|
-
|
21929
|
-
|
21930
|
-
|
21931
|
-
|
21932
|
-
|
21933
|
-
|
21934
|
-
});
|
21935
|
-
|
21936
|
-
/**
|
21937
|
-
* Sets the start and end points of the geodesic
|
21938
|
-
*
|
21939
|
-
* @param {Cartographic} start The initial planetodetic point on the path.
|
21940
|
-
* @param {Cartographic} end The final planetodetic point on the path.
|
21941
|
-
*/
|
21942
|
-
EllipsoidGeodesic.prototype.setEndPoints = function(start, end) {
|
21943
|
-
if (!defined(start)) {
|
21944
|
-
throw new DeveloperError('start cartographic position is required');
|
21945
|
-
}
|
21946
|
-
if (!defined(end)) {
|
21947
|
-
throw new DeveloperError('end cartgraphic position is required');
|
21948
|
-
}
|
21949
|
-
|
21950
|
-
computeProperties(this, start, end, this._ellipsoid);
|
21951
|
-
};
|
21952
|
-
|
21953
|
-
/**
|
21954
|
-
* Provides the location of a point at the indicated portion along the geodesic.
|
21955
|
-
*
|
21956
|
-
* @param {Number} fraction The portion of the distance between the initial and final points.
|
21957
|
-
* @returns {Cartographic} The location of the point along the geodesic.
|
21958
|
-
*/
|
21959
|
-
EllipsoidGeodesic.prototype.interpolateUsingFraction = function(fraction, result) {
|
21960
|
-
return this.interpolateUsingSurfaceDistance(this._distance * fraction, result);
|
21961
|
-
};
|
21962
|
-
|
21963
|
-
/**
|
21964
|
-
* Provides the location of a point at the indicated distance along the geodesic.
|
21965
|
-
*
|
21966
|
-
* @param {Number} distance The distance from the inital point to the point of interest along the geodesic
|
21967
|
-
* @returns {Cartographic} The location of the point along the geodesic.
|
21968
|
-
*
|
21969
|
-
* @exception {DeveloperError} start and end must be set before calling funciton interpolateUsingSurfaceDistance
|
21970
|
-
*/
|
21971
|
-
EllipsoidGeodesic.prototype.interpolateUsingSurfaceDistance = function(distance, result) {
|
21972
|
-
if (!defined(this._distance)) {
|
21973
|
-
throw new DeveloperError('start and end must be set before calling funciton interpolateUsingSurfaceDistance');
|
21974
|
-
}
|
21975
|
-
|
21976
|
-
var constants = this._constants;
|
21977
|
-
|
21978
|
-
var s = constants.distanceRatio + distance / constants.b;
|
21979
|
-
|
21980
|
-
var cosine2S = Math.cos(2.0 * s);
|
21981
|
-
var cosine4S = Math.cos(4.0 * s);
|
21982
|
-
var cosine6S = Math.cos(6.0 * s);
|
21983
|
-
var sine2S = Math.sin(2.0 * s);
|
21984
|
-
var sine4S = Math.sin(4.0 * s);
|
21985
|
-
var sine6S = Math.sin(6.0 * s);
|
21986
|
-
var sine8S = Math.sin(8.0 * s);
|
21987
|
-
|
21988
|
-
var s2 = s * s;
|
21989
|
-
var s3 = s * s2;
|
21990
|
-
|
21991
|
-
var u8Over256 = constants.u8Over256;
|
21992
|
-
var u2Over4 = constants.u2Over4;
|
21993
|
-
var u6Over64 = constants.u6Over64;
|
21994
|
-
var u4Over16 = constants.u4Over16;
|
21995
|
-
var sigma = 2.0 * s3 * u8Over256 * cosine2S / 3.0 +
|
21996
|
-
s * (1.0 - u2Over4 + 7.0 * u4Over16 / 4.0 - 15.0 * u6Over64 / 4.0 + 579.0 * u8Over256 / 64.0 -
|
21997
|
-
(u4Over16 - 15.0 * u6Over64 / 4.0 + 187.0 * u8Over256 / 16.0) * cosine2S -
|
21998
|
-
(5.0 * u6Over64 / 4.0 - 115.0 * u8Over256 / 16.0) * cosine4S -
|
21999
|
-
29.0 * u8Over256 * cosine6S / 16.0) +
|
22000
|
-
(u2Over4 / 2.0 - u4Over16 + 71.0 * u6Over64 / 32.0 - 85.0 * u8Over256 / 16.0) * sine2S +
|
22001
|
-
(5.0 * u4Over16 / 16.0 - 5.0 * u6Over64 / 4.0 + 383.0 * u8Over256 / 96.0) * sine4S -
|
22002
|
-
s2 * ((u6Over64 - 11.0 * u8Over256 / 2.0) * sine2S + 5.0 * u8Over256 * sine4S / 2.0) +
|
22003
|
-
(29.0 * u6Over64 / 96.0 - 29.0 * u8Over256 / 16.0) * sine6S +
|
22004
|
-
539.0 * u8Over256 * sine8S / 1536.0;
|
22005
|
-
|
22006
|
-
var theta = Math.asin(Math.sin(sigma) * constants.cosineAlpha);
|
22007
|
-
var latitude = Math.atan(constants.a / constants.b * Math.tan(theta));
|
22008
|
-
|
22009
|
-
// Redefine in terms of relative argument of latitude.
|
22010
|
-
sigma = sigma - constants.sigma;
|
22011
|
-
|
22012
|
-
var cosineTwiceSigmaMidpoint = Math.cos(2.0 * constants.sigma + sigma);
|
22013
|
-
|
22014
|
-
var sineSigma = Math.sin(sigma);
|
22015
|
-
var cosineSigma = Math.cos(sigma);
|
22016
|
-
|
22017
|
-
var cc = constants.cosineU * cosineSigma;
|
22018
|
-
var ss = constants.sineU * sineSigma;
|
22019
|
-
|
22020
|
-
var lambda = Math.atan2(sineSigma * constants.sineHeading, cc - ss * constants.cosineHeading);
|
22021
|
-
|
22022
|
-
var l = lambda - computeDeltaLambda(constants.f, constants.sineAlpha, constants.cosineSquaredAlpha,
|
22023
|
-
sigma, sineSigma, cosineSigma, cosineTwiceSigmaMidpoint);
|
22024
|
-
|
22025
|
-
if (defined(result)) {
|
22026
|
-
result.longitude = this._start.longitude + l;
|
22027
|
-
result.latitude = latitude;
|
22028
|
-
result.height = 0.0;
|
22029
|
-
return result;
|
22030
|
-
}
|
22031
|
-
|
22032
|
-
return new Cartographic(this._start.longitude + l, latitude, 0.0);
|
22033
|
-
};
|
22034
|
-
|
22035
|
-
return EllipsoidGeodesic;
|
22036
|
-
});
|
22037
|
-
|
22038
|
-
/*global define*/
|
22039
|
-
define('Core/isArray',[
|
22040
|
-
'./defined'
|
22041
|
-
], function(
|
22042
|
-
defined) {
|
22043
|
-
"use strict";
|
22044
|
-
|
22045
|
-
/**
|
22046
|
-
* Tests an object to see if it is an array.
|
22047
|
-
* @exports isArray
|
22048
|
-
*
|
22049
|
-
* @param {Object} value The value to test.
|
22050
|
-
* @returns {Boolean} true if the value is an array, false otherwise.
|
22051
|
-
*/
|
22052
|
-
var isArray = Array.isArray;
|
22053
|
-
if (!defined(isArray)) {
|
22054
|
-
isArray = function(value) {
|
22055
|
-
return Object.prototype.toString.call(value) === '[object Array]';
|
22056
|
-
};
|
22057
|
-
}
|
22058
|
-
|
22059
|
-
return isArray;
|
22060
|
-
});
|
22061
|
-
/*global define*/
|
22062
|
-
define('Core/PolylinePipeline',[
|
22063
|
-
'./Cartesian3',
|
22064
|
-
'./Cartographic',
|
22065
|
-
'./defaultValue',
|
22066
|
-
'./defined',
|
22067
|
-
'./DeveloperError',
|
22068
|
-
'./Ellipsoid',
|
22069
|
-
'./EllipsoidGeodesic',
|
22070
|
-
'./IntersectionTests',
|
22071
|
-
'./isArray',
|
22072
|
-
'./Math',
|
22073
|
-
'./Matrix4',
|
22074
|
-
'./Plane'
|
22075
|
-
], function(
|
22076
|
-
Cartesian3,
|
22077
|
-
Cartographic,
|
22078
|
-
defaultValue,
|
22079
|
-
defined,
|
22080
|
-
DeveloperError,
|
22081
|
-
Ellipsoid,
|
22082
|
-
EllipsoidGeodesic,
|
22083
|
-
IntersectionTests,
|
22084
|
-
isArray,
|
22085
|
-
CesiumMath,
|
22086
|
-
Matrix4,
|
22087
|
-
Plane) {
|
22088
|
-
"use strict";
|
22089
|
-
|
22090
|
-
/**
|
22091
|
-
* @private
|
22092
|
-
*/
|
22093
|
-
var PolylinePipeline = {};
|
22094
|
-
|
22095
|
-
PolylinePipeline.numberOfPoints = function(p0, p1, minDistance) {
|
22096
|
-
var distance = Cartesian3.distance(p0, p1);
|
22097
|
-
return Math.ceil(distance / minDistance);
|
22098
|
-
};
|
22099
|
-
|
22100
|
-
var cartoScratch = new Cartographic();
|
22101
|
-
PolylinePipeline.extractHeights = function(positions, ellipsoid) {
|
22102
|
-
var length = positions.length;
|
22103
|
-
var heights = new Array(length);
|
22104
|
-
for (var i = 0; i < length; i++) {
|
22105
|
-
var p = positions[i];
|
22106
|
-
heights[i] = ellipsoid.cartesianToCartographic(p, cartoScratch).height;
|
22107
|
-
}
|
22108
|
-
return heights;
|
22109
|
-
};
|
22110
|
-
|
22111
|
-
var wrapLongitudeInversMatrix = new Matrix4();
|
22112
|
-
var wrapLongitudeOrigin = new Cartesian3();
|
22113
|
-
var wrapLongitudeXZNormal = new Cartesian3();
|
22114
|
-
var wrapLongitudeXZPlane = new Plane(Cartesian3.ZERO, 0.0);
|
22115
|
-
var wrapLongitudeYZNormal = new Cartesian3();
|
22116
|
-
var wrapLongitudeYZPlane = new Plane(Cartesian3.ZERO, 0.0);
|
22117
|
-
var wrapLongitudeIntersection = new Cartesian3();
|
22118
|
-
var wrapLongitudeOffset = new Cartesian3();
|
22119
|
-
|
22120
|
-
var subdivideHeightsScratchArray = [];
|
22121
|
-
|
22122
|
-
function subdivideHeights(numPoints, h0, h1) {
|
22123
|
-
var heights = subdivideHeightsScratchArray;
|
22124
|
-
heights.length = numPoints;
|
22125
|
-
|
22126
|
-
var i;
|
22127
|
-
if (h0 === h1) {
|
22128
|
-
for (i = 0; i < numPoints; i++) {
|
22129
|
-
heights[i] = h0;
|
22130
|
-
}
|
22131
|
-
return heights;
|
22132
|
-
}
|
22133
|
-
|
22134
|
-
var dHeight = h1 - h0;
|
22135
|
-
var heightPerVertex = dHeight / numPoints;
|
22136
|
-
|
22137
|
-
for (i = 0; i < numPoints; i++) {
|
22138
|
-
var h = h0 + i*heightPerVertex;
|
22139
|
-
heights[i] = h;
|
22140
|
-
}
|
22141
|
-
|
22142
|
-
return heights;
|
22143
|
-
}
|
22144
|
-
|
22145
|
-
var carto1 = new Cartographic();
|
22146
|
-
var carto2 = new Cartographic();
|
22147
|
-
var cartesian = new Cartesian3();
|
22148
|
-
var scaleFirst = new Cartesian3();
|
22149
|
-
var scaleLast = new Cartesian3();
|
22150
|
-
var ellipsoidGeodesic = new EllipsoidGeodesic();
|
22151
|
-
|
22152
|
-
//Returns subdivided line scaled to ellipsoid surface starting at p1 and ending at p2.
|
22153
|
-
//Result includes p1, but not include p2. This function is called for a sequence of line segments,
|
22154
|
-
//and this prevents duplication of end point.
|
22155
|
-
function generateCartesianArc(p0, p1, minDistance, ellipsoid, h0, h1, array, offset) {
|
22156
|
-
var first = ellipsoid.scaleToGeodeticSurface(p0, scaleFirst);
|
22157
|
-
var last = ellipsoid.scaleToGeodeticSurface(p1, scaleLast);
|
22158
|
-
var numPoints = PolylinePipeline.numberOfPoints(p0, p1, minDistance);
|
22159
|
-
var start = ellipsoid.cartesianToCartographic(first, carto1);
|
22160
|
-
var end = ellipsoid.cartesianToCartographic(last, carto2);
|
22161
|
-
var heights = subdivideHeights(numPoints, h0, h1);
|
22162
|
-
|
22163
|
-
ellipsoidGeodesic.setEndPoints(start, end);
|
22164
|
-
var surfaceDistanceBetweenPoints = ellipsoidGeodesic.surfaceDistance / numPoints;
|
22165
|
-
|
22166
|
-
var index = offset;
|
22167
|
-
start.height = h0;
|
22168
|
-
var cart = ellipsoid.cartographicToCartesian(start, cartesian);
|
22169
|
-
Cartesian3.pack(cart, array, index);
|
22170
|
-
index += 3;
|
22171
|
-
|
22172
|
-
for (var i = 1; i < numPoints; i++) {
|
22173
|
-
var carto = ellipsoidGeodesic.interpolateUsingSurfaceDistance(i * surfaceDistanceBetweenPoints, carto2);
|
22174
|
-
carto.height = heights[i];
|
22175
|
-
cart = ellipsoid.cartographicToCartesian(carto, cartesian);
|
22176
|
-
Cartesian3.pack(cart, array, index);
|
22177
|
-
index += 3;
|
22178
|
-
}
|
22179
|
-
|
22180
|
-
return index;
|
22181
|
-
}
|
22182
|
-
|
22183
|
-
/**
|
22184
|
-
* Breaks a {@link Polyline} into segments such that it does not cross the ±180 degree meridian of an ellipsoid.
|
22185
|
-
*
|
22186
|
-
* @param {Cartesian3[]} positions The polyline's Cartesian positions.
|
22187
|
-
* @param {Matrix4} [modelMatrix=Matrix4.IDENTITY] The polyline's model matrix. Assumed to be an affine
|
22188
|
-
* transformation matrix, where the upper left 3x3 elements are a rotation matrix, and
|
22189
|
-
* the upper three elements in the fourth column are the translation. The bottom row is assumed to be [0, 0, 0, 1].
|
22190
|
-
* The matrix is not verified to be in the proper form.
|
22191
|
-
* @returns {Object} An object with a <code>positions</code> property that is an array of positions and a
|
22192
|
-
* <code>segments</code> property.
|
22193
|
-
*
|
22194
|
-
*
|
22195
|
-
* @example
|
22196
|
-
* var polylines = new Cesium.PolylineCollection();
|
22197
|
-
* var polyline = polylines.add(...);
|
22198
|
-
* var positions = polyline.positions;
|
22199
|
-
* var modelMatrix = polylines.modelMatrix;
|
22200
|
-
* var segments = Cesium.PolylinePipeline.wrapLongitude(positions, modelMatrix);
|
22201
|
-
*
|
22202
|
-
* @see PolygonPipeline.wrapLongitude
|
22203
|
-
* @see Polyline
|
22204
|
-
* @see PolylineCollection
|
22205
|
-
*/
|
22206
|
-
PolylinePipeline.wrapLongitude = function(positions, modelMatrix) {
|
22207
|
-
var cartesians = [];
|
22208
|
-
var segments = [];
|
22209
|
-
|
22210
|
-
if (defined(positions) && positions.length > 0) {
|
22211
|
-
modelMatrix = defaultValue(modelMatrix, Matrix4.IDENTITY);
|
22212
|
-
var inverseModelMatrix = Matrix4.inverseTransformation(modelMatrix, wrapLongitudeInversMatrix);
|
22213
|
-
|
22214
|
-
var origin = Matrix4.multiplyByPoint(inverseModelMatrix, Cartesian3.ZERO, wrapLongitudeOrigin);
|
22215
|
-
var xzNormal = Matrix4.multiplyByPointAsVector(inverseModelMatrix, Cartesian3.UNIT_Y, wrapLongitudeXZNormal);
|
22216
|
-
var xzPlane = Plane.fromPointNormal(origin, xzNormal, wrapLongitudeXZPlane);
|
22217
|
-
var yzNormal = Matrix4.multiplyByPointAsVector(inverseModelMatrix, Cartesian3.UNIT_X, wrapLongitudeYZNormal);
|
22218
|
-
var yzPlane = Plane.fromPointNormal(origin, yzNormal, wrapLongitudeYZPlane);
|
22219
|
-
|
22220
|
-
var count = 1;
|
22221
|
-
cartesians.push(Cartesian3.clone(positions[0]));
|
22222
|
-
var prev = cartesians[0];
|
22223
|
-
|
22224
|
-
var length = positions.length;
|
22225
|
-
for (var i = 1; i < length; ++i) {
|
22226
|
-
var cur = positions[i];
|
22227
|
-
|
22228
|
-
// intersects the IDL if either endpoint is on the negative side of the yz-plane
|
22229
|
-
if (Plane.getPointDistance(yzPlane, prev) < 0.0 || Plane.getPointDistance(yzPlane, cur) < 0.0) {
|
22230
|
-
// and intersects the xz-plane
|
22231
|
-
var intersection = IntersectionTests.lineSegmentPlane(prev, cur, xzPlane, wrapLongitudeIntersection);
|
22232
|
-
if (defined(intersection)) {
|
22233
|
-
// move point on the xz-plane slightly away from the plane
|
22234
|
-
var offset = Cartesian3.multiplyByScalar(xzNormal, 5.0e-9, wrapLongitudeOffset);
|
22235
|
-
if (Plane.getPointDistance(xzPlane, prev) < 0.0) {
|
22236
|
-
Cartesian3.negate(offset, offset);
|
22237
|
-
}
|
22238
|
-
|
22239
|
-
cartesians.push(Cartesian3.add(intersection, offset, new Cartesian3()));
|
22240
|
-
segments.push(count + 1);
|
22241
|
-
|
22242
|
-
Cartesian3.negate(offset, offset);
|
22243
|
-
cartesians.push(Cartesian3.add(intersection, offset, new Cartesian3()));
|
22244
|
-
count = 1;
|
22245
|
-
}
|
22246
|
-
}
|
22247
|
-
|
22248
|
-
cartesians.push(Cartesian3.clone(positions[i]));
|
22249
|
-
count++;
|
22250
|
-
|
22251
|
-
prev = cur;
|
22252
|
-
}
|
22253
|
-
|
22254
|
-
segments.push(count);
|
22255
|
-
}
|
22256
|
-
|
22257
|
-
return {
|
22258
|
-
positions : cartesians,
|
22259
|
-
lengths : segments
|
22260
|
-
};
|
22261
|
-
};
|
22262
|
-
|
22263
|
-
var removeDuplicatesEpsilon = CesiumMath.EPSILON10;
|
22264
|
-
|
22265
|
-
/**
|
22266
|
-
* Removes adjacent duplicate positions in an array of positions.
|
22267
|
-
*
|
22268
|
-
* @param {Cartesian3[]} positions The array of positions.
|
22269
|
-
* @returns {Cartesian3[]|undefined} A new array of positions with no adjacent duplicate positions or the input array if no duplicates were found.
|
22270
|
-
*
|
22271
|
-
* @example
|
22272
|
-
* // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0)]
|
22273
|
-
* var positions = [
|
22274
|
-
* new Cesium.Cartesian3(1.0, 1.0, 1.0),
|
22275
|
-
* new Cesium.Cartesian3(1.0, 1.0, 1.0),
|
22276
|
-
* new Cesium.Cartesian3(2.0, 2.0, 2.0)];
|
22277
|
-
* var nonDuplicatePositions = Cesium.PolylinePipeline.removeDuplicates(positions);
|
22278
|
-
*/
|
22279
|
-
PolylinePipeline.removeDuplicates = function(positions) {
|
22280
|
-
if (!defined(positions)) {
|
22281
|
-
throw new DeveloperError('positions is required.');
|
22282
|
-
}
|
22283
|
-
|
22284
|
-
var length = positions.length;
|
22285
|
-
if (length < 2) {
|
22286
|
-
return positions;
|
22287
|
-
}
|
22288
|
-
|
22289
|
-
var i;
|
22290
|
-
var v0;
|
22291
|
-
var v1;
|
22292
|
-
|
22293
|
-
for (i = 1; i < length; ++i) {
|
22294
|
-
v0 = positions[i - 1];
|
22295
|
-
v1 = positions[i];
|
22296
|
-
if (Cartesian3.equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
|
22297
|
-
break;
|
22298
|
-
}
|
22299
|
-
}
|
22300
|
-
|
22301
|
-
if (i === length) {
|
22302
|
-
return positions;
|
22303
|
-
}
|
22304
|
-
|
22305
|
-
var cleanedPositions = positions.slice(0, i);
|
22306
|
-
for (; i < length; ++i) {
|
22307
|
-
// v0 is set by either the previous loop, or the previous clean point.
|
22308
|
-
v1 = positions[i];
|
22309
|
-
if (!Cartesian3.equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
|
22310
|
-
cleanedPositions.push(Cartesian3.clone(v1));
|
22311
|
-
v0 = v1;
|
22312
|
-
}
|
22313
|
-
}
|
22314
|
-
|
22315
|
-
return cleanedPositions;
|
22316
|
-
};
|
22317
|
-
|
22318
|
-
/**
|
22319
|
-
* Subdivides polyline and raises all points to the specified height. Returns an array of numbers to represent the positions.
|
22320
|
-
* @param {Cartesian3[]} positions The array of type {Cartesian3} representing positions.
|
22321
|
-
* @param {Number|Number[]} [height=0.0] A number or array of numbers representing the heights of each position.
|
22322
|
-
* @param {Number} [granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
|
22323
|
-
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
|
22324
|
-
* @returns {Number[]} A new array of positions of type {Number} that have been subdivided and raised to the surface of the ellipsoid.
|
22325
|
-
*
|
22326
|
-
* @example
|
22327
|
-
* var positions = Cesium.Cartesian3.fromDegreesArray([
|
22328
|
-
* -105.0, 40.0,
|
22329
|
-
* -100.0, 38.0,
|
22330
|
-
* -105.0, 35.0,
|
22331
|
-
* -100.0, 32.0
|
22332
|
-
* ]);
|
22333
|
-
* var surfacePositions = Cesium.PolylinePipeline.generateArc({
|
22334
|
-
* positons: positions
|
22335
|
-
* });
|
22336
|
-
*/
|
22337
|
-
PolylinePipeline.generateArc = function(options) {
|
22338
|
-
if (!defined(options)) {
|
22339
|
-
options = {};
|
22340
|
-
}
|
22341
|
-
var positions = options.positions;
|
22342
|
-
if (!defined(positions)) {
|
22343
|
-
throw new DeveloperError('options.positions is required.');
|
22344
|
-
}
|
22345
|
-
|
22346
|
-
var length = positions.length;
|
22347
|
-
var ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.WGS84);
|
22348
|
-
var height = defaultValue(options.height, 0);
|
22349
|
-
|
22350
|
-
if (length < 1) {
|
22351
|
-
return [];
|
22352
|
-
} else if (length === 1) {
|
22353
|
-
var p = ellipsoid.scaleToGeodeticSurface(positions[0], scaleFirst);
|
22354
|
-
if (height !== 0) {
|
22355
|
-
var n = ellipsoid.geodeticSurfaceNormal(p, cartesian);
|
22356
|
-
Cartesian3.multiplyByScalar(n, height, n);
|
22357
|
-
Cartesian3.add(p, n, p);
|
22358
|
-
}
|
22359
|
-
|
22360
|
-
return [p.x, p.y, p.z];
|
22361
|
-
}
|
22362
|
-
|
22363
|
-
var minDistance = options.minDistance;
|
22364
|
-
if (!defined(minDistance)) {
|
22365
|
-
var granularity = defaultValue(options.granularity, CesiumMath.RADIANS_PER_DEGREE);
|
22366
|
-
minDistance = CesiumMath.chordLength(granularity, ellipsoid.maximumRadius);
|
22367
|
-
}
|
22368
|
-
|
22369
|
-
var numPoints = 0;
|
22370
|
-
var i;
|
22371
|
-
|
22372
|
-
for (i = 0; i < length -1; i++) {
|
22373
|
-
numPoints += PolylinePipeline.numberOfPoints(positions[i], positions[i+1], minDistance);
|
22374
|
-
}
|
22375
|
-
|
22376
|
-
var arrayLength = (numPoints + 1) * 3;
|
22377
|
-
var newPositions = new Array(arrayLength);
|
22378
|
-
var offset = 0;
|
22379
|
-
var hasHeightArray = isArray(height);
|
22380
|
-
|
22381
|
-
for (i = 0; i < length - 1; i++) {
|
22382
|
-
var p0 = positions[i];
|
22383
|
-
var p1 = positions[i + 1];
|
22384
|
-
|
22385
|
-
var h0 = hasHeightArray ? height[i] : height;
|
22386
|
-
var h1 = hasHeightArray ? height[i + 1] : height;
|
22387
|
-
|
22388
|
-
offset = generateCartesianArc(p0, p1, minDistance, ellipsoid, h0, h1, newPositions, offset);
|
22389
|
-
}
|
22390
|
-
|
22391
|
-
subdivideHeightsScratchArray.length = 0;
|
22392
|
-
|
22393
|
-
var lastPoint = positions[length - 1];
|
22394
|
-
var carto = ellipsoid.cartesianToCartographic(lastPoint, carto1);
|
22395
|
-
carto.height = hasHeightArray ? height[length - 1] : height;
|
22396
|
-
var cart = ellipsoid.cartographicToCartesian(carto, cartesian);
|
22397
|
-
Cartesian3.pack(cart, newPositions, arrayLength - 3);
|
22398
|
-
|
22399
|
-
return newPositions;
|
22400
|
-
};
|
22401
|
-
|
22402
|
-
/**
|
22403
|
-
* Subdivides polyline and raises all points to the specified height. Returns an array of new {Cartesian3} positions.
|
22404
|
-
* @param {Cartesian3[]} positions The array of type {Cartesian3} representing positions.
|
22405
|
-
* @param {Number|Number[]} [height=0.0] A number or array of numbers representing the heights of each position.
|
22406
|
-
* @param {Number} [granularity = CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
|
22407
|
-
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
|
22408
|
-
* @returns {Cartesian3[]} A new array of cartesian3 positions that have been subdivided and raised to the surface of the ellipsoid.
|
22409
|
-
*
|
22410
|
-
* @example
|
22411
|
-
* var positions = Cesium.Cartesian3.fromDegreesArray([
|
22412
|
-
* -105.0, 40.0,
|
22413
|
-
* -100.0, 38.0,
|
22414
|
-
* -105.0, 35.0,
|
22415
|
-
* -100.0, 32.0
|
22416
|
-
* ]);
|
22417
|
-
* var surfacePositions = Cesium.PolylinePipeline.generateCartesianArc({
|
22418
|
-
* positons: positions
|
22419
|
-
* });
|
22420
|
-
*/
|
22421
|
-
PolylinePipeline.generateCartesianArc = function(options) {
|
22422
|
-
var numberArray = PolylinePipeline.generateArc(options);
|
22423
|
-
var size = numberArray.length/3;
|
22424
|
-
var newPositions = new Array(size);
|
22425
|
-
for (var i = 0; i < size; i++) {
|
22426
|
-
newPositions[i] = Cartesian3.unpack(numberArray, i*3);
|
22427
|
-
}
|
22428
|
-
return newPositions;
|
22429
|
-
};
|
22430
|
-
|
22431
|
-
return PolylinePipeline;
|
22432
|
-
});
|
22433
|
-
|
22434
|
-
/*global define*/
|
22435
|
-
define('Core/Queue',[
|
22436
|
-
'../Core/defineProperties'
|
22437
|
-
], function(
|
22438
|
-
defineProperties) {
|
22439
|
-
"use strict";
|
22440
|
-
|
22441
|
-
/**
|
22442
|
-
* A queue that can enqueue items at the end, and dequeue items from the front.
|
22443
|
-
*
|
22444
|
-
* @alias Queue
|
22445
|
-
* @constructor
|
22446
|
-
*/
|
22447
|
-
function Queue() {
|
22448
|
-
this._array = [];
|
22449
|
-
this._offset = 0;
|
22450
|
-
this._length = 0;
|
22451
|
-
}
|
22452
|
-
|
22453
|
-
defineProperties(Queue.prototype, {
|
22454
|
-
/**
|
22455
|
-
* The length of the queue.
|
22456
|
-
*
|
22457
|
-
* @memberof Queue.prototype
|
22458
|
-
*
|
22459
|
-
* @type {Number}
|
22460
|
-
* @readonly
|
22461
|
-
*/
|
22462
|
-
length : {
|
22463
|
-
get : function() {
|
22464
|
-
return this._length;
|
22465
|
-
}
|
22466
|
-
}
|
22467
|
-
});
|
22468
|
-
|
22469
|
-
/**
|
22470
|
-
* Enqueues the specified item.
|
22471
|
-
*
|
22472
|
-
* @param {Object} item The item to enqueue.
|
22473
|
-
*/
|
22474
|
-
Queue.prototype.enqueue = function(item) {
|
22475
|
-
this._array.push(item);
|
22476
|
-
this._length++;
|
22477
|
-
};
|
22478
|
-
|
22479
|
-
/**
|
22480
|
-
* Dequeues an item. Returns undefined if the queue is empty.
|
22481
|
-
*
|
22482
|
-
* @returns {Object} The the dequeued item.
|
22483
|
-
*/
|
22484
|
-
Queue.prototype.dequeue = function() {
|
22485
|
-
if (this._length === 0) {
|
22486
|
-
return undefined;
|
22487
|
-
}
|
22488
|
-
|
22489
|
-
var array = this._array;
|
22490
|
-
var offset = this._offset;
|
22491
|
-
var item = array[offset];
|
22492
|
-
array[offset] = undefined;
|
22493
|
-
|
22494
|
-
offset++;
|
22495
|
-
if ((offset > 10) && (offset * 2 > array.length)) {
|
22496
|
-
//compact array
|
22497
|
-
this._array = array.slice(offset);
|
22498
|
-
offset = 0;
|
22499
|
-
}
|
22500
|
-
|
22501
|
-
this._offset = offset;
|
22502
|
-
this._length--;
|
22503
|
-
|
22504
|
-
return item;
|
22505
|
-
};
|
22506
|
-
|
22507
|
-
/**
|
22508
|
-
* Returns the item at the front of the queue. Returns undefined if the queue is empty.
|
22509
|
-
*
|
22510
|
-
* @returns {Object} The item at the front of the queue.
|
22511
|
-
*/
|
22512
|
-
Queue.prototype.peek = function() {
|
22513
|
-
if (this._length === 0) {
|
22514
|
-
return undefined;
|
22515
|
-
}
|
22516
|
-
|
22517
|
-
return this._array[this._offset];
|
22518
|
-
};
|
22519
|
-
|
22520
|
-
/**
|
22521
|
-
* Check whether this queue contains the specified item.
|
22522
|
-
*
|
22523
|
-
* @param {Object} item The item to search for.
|
22524
|
-
*/
|
22525
|
-
Queue.prototype.contains = function(item) {
|
22526
|
-
return this._array.indexOf(item) !== -1;
|
22527
|
-
};
|
22528
|
-
|
22529
|
-
/**
|
22530
|
-
* Remove all items from the queue.
|
22531
|
-
*/
|
22532
|
-
Queue.prototype.clear = function() {
|
22533
|
-
this._array.length = this._offset = this._length = 0;
|
22534
|
-
};
|
22535
|
-
|
22536
|
-
/**
|
22537
|
-
* Sort the items in the queue in-place.
|
22538
|
-
*
|
22539
|
-
* @param {Queue~Comparator} compareFunction A function that defines the sort order.
|
22540
|
-
*/
|
22541
|
-
Queue.prototype.sort = function(compareFunction) {
|
22542
|
-
if (this._offset > 0) {
|
22543
|
-
//compact array
|
22544
|
-
this._array = this._array.slice(this._offset);
|
22545
|
-
this._offset = 0;
|
22546
|
-
}
|
22547
|
-
|
22548
|
-
this._array.sort(compareFunction);
|
22549
|
-
};
|
22550
|
-
|
22551
|
-
/**
|
22552
|
-
* A function used to compare two items while sorting a queue.
|
22553
|
-
* @callback Queue~Comparator
|
22554
|
-
*
|
22555
|
-
* @param {Object} a An item in the array.
|
22556
|
-
* @param {Object} b An item in the array.
|
22557
|
-
* @returns {Number} Returns a negative value if <code>a</code> is less than <code>b</code>,
|
22558
|
-
* a positive value if <code>a</code> is greater than <code>b</code>, or
|
22559
|
-
* 0 if <code>a</code> is equal to <code>b</code>.
|
22560
|
-
*
|
22561
|
-
* @example
|
22562
|
-
* function compareNumbers(a, b) {
|
22563
|
-
* return a - b;
|
22564
|
-
* }
|
22565
|
-
*/
|
22566
|
-
|
22567
|
-
return Queue;
|
22568
|
-
});
|
22569
|
-
|
22570
|
-
/*global define*/
|
22571
|
-
define('Core/WindingOrder',[
|
22572
|
-
'../Renderer/WebGLConstants',
|
22573
|
-
'./freezeObject'
|
22574
|
-
], function(
|
22575
|
-
WebGLConstants,
|
22576
|
-
freezeObject) {
|
22577
|
-
"use strict";
|
22578
|
-
|
22579
|
-
/**
|
22580
|
-
* Winding order defines the order of vertices for a triangle to be considered front-facing.
|
22581
|
-
*
|
22582
|
-
* @exports WindingOrder
|
22583
|
-
*/
|
22584
|
-
var WindingOrder = {
|
22585
|
-
/**
|
22586
|
-
* Vertices are in clockwise order.
|
22587
|
-
*
|
22588
|
-
* @type {Number}
|
22589
|
-
* @constant
|
22590
|
-
*/
|
22591
|
-
CLOCKWISE : WebGLConstants.CW,
|
22592
|
-
|
22593
|
-
/**
|
22594
|
-
* Vertices are in counter-clockwise order.
|
22595
|
-
*
|
22596
|
-
* @type {Number}
|
22597
|
-
* @constant
|
22598
|
-
*/
|
22599
|
-
COUNTER_CLOCKWISE : WebGLConstants.CCW,
|
22600
|
-
|
22601
|
-
/**
|
22602
|
-
* @private
|
22603
|
-
*/
|
22604
|
-
validate : function(windingOrder) {
|
22605
|
-
return windingOrder === WindingOrder.CLOCKWISE ||
|
22606
|
-
windingOrder === WindingOrder.COUNTER_CLOCKWISE;
|
22607
|
-
}
|
22608
|
-
};
|
22609
|
-
|
22610
|
-
return freezeObject(WindingOrder);
|
22611
|
-
});
|
22612
|
-
/*global define*/
|
22613
|
-
define('Core/PolygonPipeline',[
|
22614
|
-
'./Cartesian2',
|
22615
|
-
'./Cartesian3',
|
22616
|
-
'./ComponentDatatype',
|
22617
|
-
'./defaultValue',
|
22618
|
-
'./defined',
|
22619
|
-
'./DeveloperError',
|
22620
|
-
'./Ellipsoid',
|
22621
|
-
'./EllipsoidTangentPlane',
|
22622
|
-
'./Geometry',
|
22623
|
-
'./GeometryAttribute',
|
22624
|
-
'./Math',
|
22625
|
-
'./pointInsideTriangle',
|
22626
|
-
'./PolylinePipeline',
|
22627
|
-
'./PrimitiveType',
|
22628
|
-
'./Queue',
|
22629
|
-
'./WindingOrder'
|
22630
|
-
], function(
|
22631
|
-
Cartesian2,
|
22632
|
-
Cartesian3,
|
22633
|
-
ComponentDatatype,
|
22634
|
-
defaultValue,
|
22635
|
-
defined,
|
22636
|
-
DeveloperError,
|
22637
|
-
Ellipsoid,
|
22638
|
-
EllipsoidTangentPlane,
|
22639
|
-
Geometry,
|
22640
|
-
GeometryAttribute,
|
22641
|
-
CesiumMath,
|
22642
|
-
pointInsideTriangle,
|
22643
|
-
PolylinePipeline,
|
22644
|
-
PrimitiveType,
|
22645
|
-
Queue,
|
22646
|
-
WindingOrder) {
|
22647
|
-
"use strict";
|
22648
|
-
|
22649
|
-
var uScratch = new Cartesian2();
|
22650
|
-
var vScratch = new Cartesian2();
|
22651
|
-
function isTipConvex(p0, p1, p2) {
|
22652
|
-
var u = Cartesian2.subtract(p1, p0, uScratch);
|
22653
|
-
var v = Cartesian2.subtract(p2, p1, vScratch);
|
22654
|
-
|
22655
|
-
// Use the sign of the z component of the cross product
|
22656
|
-
return ((u.x * v.y) - (u.y * v.x)) >= 0.0;
|
22657
|
-
}
|
22658
|
-
|
22659
|
-
/**
|
22660
|
-
* Returns the index of the vertex with the maximum X value.
|
22661
|
-
*
|
22662
|
-
* @param {Cartesian2[]} positions An array of the Cartesian points defining the polygon's vertices.
|
22663
|
-
* @returns {Number} The index of the positions with the maximum X value.
|
22664
|
-
*
|
22665
|
-
* @private
|
22666
|
-
*/
|
22667
|
-
function getRightmostPositionIndex(positions) {
|
22668
|
-
var maximumX = positions[0].x;
|
22669
|
-
var rightmostPositionIndex = 0;
|
22670
|
-
for ( var i = 0; i < positions.length; i++) {
|
22671
|
-
if (positions[i].x > maximumX) {
|
22672
|
-
maximumX = positions[i].x;
|
22673
|
-
rightmostPositionIndex = i;
|
22674
|
-
}
|
22675
|
-
}
|
22676
|
-
return rightmostPositionIndex;
|
22677
|
-
}
|
22678
|
-
|
22679
|
-
/**
|
22680
|
-
* Returns the index of the ring that contains the rightmost vertex.
|
22681
|
-
*
|
22682
|
-
* @param {Cartesian2[]} rings An array of arrays of Cartesians. Each array contains the vertices defining a polygon.
|
22683
|
-
* @returns {Number} The index of the ring containing the rightmost vertex.
|
22684
|
-
*
|
22685
|
-
* @private
|
22686
|
-
*/
|
22687
|
-
function getRightmostRingIndex(rings) {
|
22688
|
-
var rightmostX = rings[0][0].x;
|
22689
|
-
var rightmostRingIndex = 0;
|
22690
|
-
for ( var ring = 0; ring < rings.length; ring++) {
|
22691
|
-
var maximumX = rings[ring][getRightmostPositionIndex(rings[ring])].x;
|
22692
|
-
if (maximumX > rightmostX) {
|
22693
|
-
rightmostX = maximumX;
|
22694
|
-
rightmostRingIndex = ring;
|
22695
|
-
}
|
22696
|
-
}
|
22697
|
-
|
22698
|
-
return rightmostRingIndex;
|
22699
|
-
}
|
22700
|
-
|
22701
|
-
/**
|
22702
|
-
* Returns a list containing the reflex vertices for a given polygon.
|
22703
|
-
*
|
22704
|
-
* @param {Cartesian2[]} polygon An array of Cartesian elements defining the polygon.
|
22705
|
-
* @returns {Cartesian2[]}
|
22706
|
-
*
|
22707
|
-
* @private
|
22708
|
-
*/
|
22709
|
-
function getReflexVertices(polygon) {
|
22710
|
-
var reflexVertices = [];
|
22711
|
-
for ( var i = 0; i < polygon.length; i++) {
|
22712
|
-
var p0 = polygon[((i - 1) + polygon.length) % polygon.length];
|
22713
|
-
var p1 = polygon[i];
|
22714
|
-
var p2 = polygon[(i + 1) % polygon.length];
|
22715
|
-
|
22716
|
-
if (!isTipConvex(p0, p1, p2)) {
|
22717
|
-
reflexVertices.push(p1);
|
22718
|
-
}
|
22719
|
-
}
|
22720
|
-
return reflexVertices;
|
22721
|
-
}
|
22722
|
-
|
22723
|
-
/**
|
22724
|
-
* Returns true if the given point is contained in the list of positions.
|
22725
|
-
*
|
22726
|
-
* @param {Cartesian2[]} positions A list of Cartesian elements defining a polygon.
|
22727
|
-
* @param {Cartesian2} point The point to check.
|
22728
|
-
* @returns {Number} The index of <code>point</code> in <code>positions</code> or -1 if it was not found.
|
22729
|
-
*
|
22730
|
-
* @private
|
22731
|
-
*/
|
22732
|
-
function isVertex(positions, point) {
|
22733
|
-
for ( var i = 0; i < positions.length; i++) {
|
22734
|
-
if (Cartesian2.equals(point, positions[i])) {
|
22735
|
-
return i;
|
22736
|
-
}
|
22737
|
-
}
|
22738
|
-
return -1;
|
22739
|
-
}
|
22740
|
-
|
22741
|
-
/**
|
22742
|
-
* Given a point inside a polygon, find the nearest point directly to the right that lies on one of the polygon's edges.
|
22743
|
-
*
|
22744
|
-
* @param {Cartesian2} point A point inside the polygon defined by <code>ring</code>.
|
22745
|
-
* @param {Cartesian2[]} ring A list of Cartesian points defining a polygon.
|
22746
|
-
* @param {Number[]} [edgeIndices] An array containing the indices two endpoints of the edge containing the intersection.
|
22747
|
-
* @returns {Cartesian2} The intersection point.
|
22748
|
-
*
|
22749
|
-
* @private
|
22750
|
-
*/
|
22751
|
-
var distScratch = new Cartesian2();
|
22752
|
-
function intersectPointWithRing(point, ring, edgeIndices) {
|
22753
|
-
edgeIndices = defaultValue(edgeIndices, []);
|
22754
|
-
|
22755
|
-
var minDistance = Number.MAX_VALUE;
|
22756
|
-
var rightmostVertexIndex = getRightmostPositionIndex(ring);
|
22757
|
-
var intersection = new Cartesian2(ring[rightmostVertexIndex].x, point.y);
|
22758
|
-
edgeIndices.push(rightmostVertexIndex);
|
22759
|
-
edgeIndices.push((rightmostVertexIndex + 1) % ring.length);
|
22760
|
-
|
22761
|
-
var boundaryMinX = ring[0].x;
|
22762
|
-
var boundaryMaxX = boundaryMinX;
|
22763
|
-
for ( var i = 1; i < ring.length; ++i) {
|
22764
|
-
if (ring[i].x < boundaryMinX) {
|
22765
|
-
boundaryMinX = ring[i].x;
|
22766
|
-
} else if (ring[i].x > boundaryMaxX) {
|
22767
|
-
boundaryMaxX = ring[i].x;
|
22768
|
-
}
|
22769
|
-
}
|
22770
|
-
boundaryMaxX += (boundaryMaxX - boundaryMinX);
|
22771
|
-
var point2 = new Cartesian3(boundaryMaxX, point.y, 0.0);
|
22772
|
-
|
22773
|
-
// Find the nearest intersection.
|
22774
|
-
for (i = 0; i < ring.length; i++) {
|
22775
|
-
var v1 = ring[i];
|
22776
|
-
var v2 = ring[(i + 1) % ring.length];
|
22777
|
-
|
22778
|
-
if (((v1.x >= point.x) || (v2.x >= point.x)) && (((v1.y >= point.y) && (v2.y <= point.y)) || ((v1.y <= point.y) && (v2.y >= point.y)))) {
|
22779
|
-
var temp = ((v2.y - v1.y) * (point2.x - point.x)) - ((v2.x - v1.x) * (point2.y - point.y));
|
22780
|
-
if (temp !== 0.0) {
|
22781
|
-
temp = 1.0 / temp;
|
22782
|
-
var ua = (((v2.x - v1.x) * (point.y - v1.y)) - ((v2.y - v1.y) * (point.x - v1.x))) * temp;
|
22783
|
-
var ub = (((point2.x - point.x) * (point.y - v1.y)) - ((point2.y - point.y) * (point.x - v1.x))) * temp;
|
22784
|
-
if ((ua >= 0.0) && (ua <= 1.0) && (ub >= 0.0) && (ub <= 1.0)) {
|
22785
|
-
var tempIntersection = new Cartesian2(point.x + ua * (point2.x - point.x), point.y + ua * (point2.y - point.y));
|
22786
|
-
var dist = Cartesian2.subtract(tempIntersection, point, distScratch);
|
22787
|
-
temp = Cartesian2.magnitudeSquared(dist);
|
22788
|
-
if (temp < minDistance) {
|
22789
|
-
intersection = tempIntersection;
|
22790
|
-
minDistance = temp;
|
22791
|
-
edgeIndices[0] = i;
|
22792
|
-
edgeIndices[1] = (i + 1) % ring.length;
|
22793
|
-
}
|
22794
|
-
}
|
22795
|
-
}
|
22796
|
-
}
|
22797
|
-
}
|
22798
|
-
|
22799
|
-
return intersection;
|
22800
|
-
}
|
22801
|
-
|
22802
|
-
/**
|
22803
|
-
* Given an outer ring and multiple inner rings, determine the point on the outer ring that is visible
|
22804
|
-
* to the rightmost vertex of the rightmost inner ring.
|
22805
|
-
*
|
22806
|
-
* @param {Cartesian2[]} outerRing An array of Cartesian points defining the outer boundary of the polygon.
|
22807
|
-
* @param {Cartesian2[]} innerRings An array of arrays of Cartesian points, where each array represents a hole in the polygon.
|
22808
|
-
* @returns {Number} The index of the vertex in <code>outerRing</code> that is mutually visible to the rightmost vertex in <code>inenrRing</code>.
|
22809
|
-
*
|
22810
|
-
* @private
|
22811
|
-
*/
|
22812
|
-
var v1Scratch = new Cartesian2(1.0, 0.0);
|
22813
|
-
var v2Scratch = new Cartesian2();
|
22814
|
-
function getMutuallyVisibleVertexIndex(outerRing, innerRings) {
|
22815
|
-
var innerRingIndex = getRightmostRingIndex(innerRings);
|
22816
|
-
var innerRing = innerRings[innerRingIndex];
|
22817
|
-
var innerRingVertexIndex = getRightmostPositionIndex(innerRing);
|
22818
|
-
var innerRingVertex = innerRing[innerRingVertexIndex];
|
22819
|
-
var edgeIndices = [];
|
22820
|
-
var intersection = intersectPointWithRing(innerRingVertex, outerRing, edgeIndices);
|
22821
|
-
|
22822
|
-
var visibleVertex = isVertex(outerRing, intersection);
|
22823
|
-
if (visibleVertex !== -1) {
|
22824
|
-
return visibleVertex;
|
22825
|
-
}
|
22826
|
-
|
22827
|
-
// Set P to be the edge endpoint closest to the inner ring vertex
|
22828
|
-
var d1 = Cartesian2.magnitudeSquared(Cartesian2.subtract(outerRing[edgeIndices[0]], innerRingVertex, v1Scratch));
|
22829
|
-
var d2 = Cartesian2.magnitudeSquared(Cartesian2.subtract(outerRing[edgeIndices[1]], innerRingVertex, v1Scratch));
|
22830
|
-
var p = (d1 < d2) ? outerRing[edgeIndices[0]] : outerRing[edgeIndices[1]];
|
22831
|
-
|
22832
|
-
var reflexVertices = getReflexVertices(outerRing);
|
22833
|
-
var reflexIndex = reflexVertices.indexOf(p);
|
22834
|
-
if (reflexIndex !== -1) {
|
22835
|
-
reflexVertices.splice(reflexIndex, 1); // Do not include p if it happens to be reflex.
|
22836
|
-
}
|
22837
|
-
|
22838
|
-
var pointsInside = [];
|
22839
|
-
for ( var i = 0; i < reflexVertices.length; i++) {
|
22840
|
-
var vertex = reflexVertices[i];
|
22841
|
-
if (pointInsideTriangle(vertex, innerRingVertex, intersection, p)) {
|
22842
|
-
pointsInside.push(vertex);
|
22843
|
-
}
|
22844
|
-
}
|
22845
|
-
|
22846
|
-
// If all reflexive vertices are outside the triangle formed by points
|
22847
|
-
// innerRingVertex, intersection and P, then P is the visible vertex.
|
22848
|
-
// Otherwise, return the reflex vertex that minimizes the angle between <1,0> and <k, reflex>.
|
22849
|
-
var minAngle = Number.MAX_VALUE;
|
22850
|
-
if (pointsInside.length > 0) {
|
22851
|
-
var v1 = Cartesian2.fromElements(1.0, 0.0, v1Scratch);
|
22852
|
-
for (i = 0; i < pointsInside.length; i++) {
|
22853
|
-
var v2 = Cartesian2.subtract(pointsInside[i], innerRingVertex, v2Scratch);
|
22854
|
-
var denominator = Cartesian2.magnitude(v1) * Cartesian2.magnitudeSquared(v2);
|
22855
|
-
if (denominator !== 0) {
|
22856
|
-
var angle = Math.abs(CesiumMath.acosClamped(Cartesian2.dot(v1, v2) / denominator));
|
22857
|
-
if (angle < minAngle) {
|
22858
|
-
minAngle = angle;
|
22859
|
-
p = pointsInside[i];
|
22860
|
-
}
|
22861
|
-
}
|
22862
|
-
}
|
22863
|
-
}
|
22864
|
-
|
22865
|
-
return outerRing.indexOf(p);
|
22866
|
-
}
|
22867
|
-
|
22868
|
-
/**
|
22869
|
-
* Given a polygon defined by an outer ring with one or more inner rings (holes), return a single list of points representing
|
22870
|
-
* a polygon with the rightmost hole added to it. The added hole is removed from <code>innerRings</code>.
|
22871
|
-
*
|
22872
|
-
* @param {Cartesian2[]} outerRing An array of Cartesian points defining the outer boundary of the polygon.
|
22873
|
-
* @param {Cartesian2[]} innerRings An array of arrays of Cartesian points, where each array represents a hole in the polygon.
|
22874
|
-
* @returns {Cartesian2[]} A single list of Cartesian points defining the polygon, including the eliminated inner ring.
|
22875
|
-
*
|
22876
|
-
* @private
|
22877
|
-
*/
|
22878
|
-
function eliminateHole(outerRing, innerRings, ellipsoid) {
|
22879
|
-
// Check that the holes are defined in the winding order opposite that of the outer ring.
|
22880
|
-
var windingOrder = PolygonPipeline.computeWindingOrder2D(outerRing);
|
22881
|
-
for ( var i = 0; i < innerRings.length; i++) {
|
22882
|
-
var ring = innerRings[i];
|
22883
|
-
|
22884
|
-
// Ensure each hole's first and last points are the same.
|
22885
|
-
if (!Cartesian3.equals(ring[0], ring[ring.length - 1])) {
|
22886
|
-
ring.push(ring[0]);
|
22887
|
-
}
|
22888
|
-
|
22889
|
-
var innerWindingOrder = PolygonPipeline.computeWindingOrder2D(ring);
|
22890
|
-
if (innerWindingOrder === windingOrder) {
|
22891
|
-
ring.reverse();
|
22892
|
-
}
|
22893
|
-
}
|
22894
|
-
|
22895
|
-
// Project points onto a tangent plane to find the mutually visible vertex.
|
22896
|
-
var tangentPlane = EllipsoidTangentPlane.fromPoints(outerRing, ellipsoid);
|
22897
|
-
var tangentOuterRing = tangentPlane.projectPointsOntoPlane(outerRing);
|
22898
|
-
var tangentInnerRings = [];
|
22899
|
-
for (i = 0; i < innerRings.length; i++) {
|
22900
|
-
tangentInnerRings.push(tangentPlane.projectPointsOntoPlane(innerRings[i]));
|
22901
|
-
}
|
22902
|
-
|
22903
|
-
var visibleVertexIndex = getMutuallyVisibleVertexIndex(tangentOuterRing, tangentInnerRings);
|
22904
|
-
var innerRingIndex = getRightmostRingIndex(tangentInnerRings);
|
22905
|
-
var innerRingVertexIndex = getRightmostPositionIndex(tangentInnerRings[innerRingIndex]);
|
22906
|
-
|
22907
|
-
var innerRing = innerRings[innerRingIndex];
|
22908
|
-
var newPolygonVertices = [];
|
22909
|
-
|
22910
|
-
for (i = 0; i < outerRing.length; i++) {
|
22911
|
-
newPolygonVertices.push(outerRing[i]);
|
22912
|
-
}
|
22913
|
-
|
22914
|
-
var j;
|
22915
|
-
var holeVerticesToAdd = [];
|
22916
|
-
|
22917
|
-
// If the rightmost inner vertex is not the starting and ending point of the ring,
|
22918
|
-
// then some other point is duplicated in the inner ring and should be skipped once.
|
22919
|
-
if (innerRingVertexIndex !== 0) {
|
22920
|
-
for (j = 0; j <= innerRing.length; j++) {
|
22921
|
-
var index = (j + innerRingVertexIndex) % innerRing.length;
|
22922
|
-
if (index !== 0) {
|
22923
|
-
holeVerticesToAdd.push(innerRing[index]);
|
22924
|
-
}
|
22925
|
-
}
|
22926
|
-
} else {
|
22927
|
-
for (j = 0; j < innerRing.length; j++) {
|
22928
|
-
holeVerticesToAdd.push(innerRing[(j + innerRingVertexIndex) % innerRing.length]);
|
22929
|
-
}
|
22930
|
-
}
|
22931
|
-
|
22932
|
-
var lastVisibleVertexIndex = newPolygonVertices.lastIndexOf(outerRing[visibleVertexIndex]);
|
22933
|
-
|
22934
|
-
holeVerticesToAdd.push(outerRing[lastVisibleVertexIndex]);
|
22935
|
-
|
22936
|
-
var front = newPolygonVertices.slice(0, lastVisibleVertexIndex + 1);
|
22937
|
-
var back = newPolygonVertices.slice(lastVisibleVertexIndex + 1);
|
22938
|
-
newPolygonVertices = front.concat(holeVerticesToAdd, back);
|
22939
|
-
|
22940
|
-
innerRings.splice(innerRingIndex, 1);
|
22941
|
-
|
22942
|
-
return newPolygonVertices;
|
22943
|
-
}
|
22944
|
-
|
22945
|
-
function getRandomIndex(length) {
|
22946
|
-
var random = CesiumMath.nextRandomNumber();
|
22947
|
-
var i = Math.floor(random * length);
|
22948
|
-
if (i === length) {
|
22949
|
-
i--;
|
22950
|
-
}
|
22951
|
-
return i;
|
22952
|
-
}
|
22953
|
-
|
22954
|
-
function indexedEdgeCrossZ(p0Index, p1Index, vertexIndex, array) {
|
22955
|
-
var p0 = array[p0Index].position;
|
22956
|
-
var p1 = array[p1Index].position;
|
22957
|
-
var v = array[vertexIndex].position;
|
22958
|
-
|
22959
|
-
var vx = v.x;
|
22960
|
-
var vy = v.y;
|
22961
|
-
|
22962
|
-
// (p0 - v).cross(p1 - v).z
|
22963
|
-
var leftX = p0.x - vx;
|
22964
|
-
var leftY = p0.y - vy;
|
22965
|
-
var rightX = p1.x - vx;
|
22966
|
-
var rightY = p1.y - vy;
|
22967
|
-
|
22968
|
-
return leftX * rightY - leftY * rightX;
|
22969
|
-
}
|
22970
|
-
|
22971
|
-
function crossZ(p0, p1) {
|
22972
|
-
// p0.cross(p1).z
|
22973
|
-
return p0.x * p1.y - p0.y * p1.x;
|
22974
|
-
}
|
22975
|
-
|
22976
|
-
/**
|
22977
|
-
* Checks to make sure vertex is not superfluous.
|
22978
|
-
*
|
22979
|
-
* @param {Number} index Index of vertex.
|
22980
|
-
* @param {Number} pArray Array of vertices.
|
22981
|
-
*
|
22982
|
-
* @exception {DeveloperError} Superfluous vertex found.
|
22983
|
-
*
|
22984
|
-
* @private
|
22985
|
-
*/
|
22986
|
-
function validateVertex(index, pArray) {
|
22987
|
-
var length = pArray.length;
|
22988
|
-
var before = CesiumMath.mod(index - 1, length);
|
22989
|
-
var after = CesiumMath.mod(index + 1, length);
|
22990
|
-
|
22991
|
-
// check if adjacent edges are parallel
|
22992
|
-
if (indexedEdgeCrossZ(before, after, index, pArray) === 0.0) {
|
22993
|
-
return false;
|
22994
|
-
}
|
22995
|
-
|
22996
|
-
return true;
|
22997
|
-
}
|
22998
|
-
|
22999
|
-
/**
|
23000
|
-
* Checks whether cut parallel to side is internal.
|
23001
|
-
*
|
23002
|
-
* e.g.
|
23003
|
-
*
|
23004
|
-
* 7_________6
|
23005
|
-
* | |
|
23006
|
-
* | 4 ______|
|
23007
|
-
* | | 5
|
23008
|
-
* | |______2 Is cut from 1 to 6 internal? No.
|
23009
|
-
* | 3 |
|
23010
|
-
* |_________|
|
23011
|
-
* 0 1
|
23012
|
-
*
|
23013
|
-
* Note that this function simply checks whether the cut is longer or shorter.
|
23014
|
-
*
|
23015
|
-
* An important valid cut:
|
23016
|
-
*
|
23017
|
-
* Polygon:
|
23018
|
-
*
|
23019
|
-
* 0 ___2__4
|
23020
|
-
* | /\ |
|
23021
|
-
* | / \ | Is cut 0 to 2 or 2 to 4 internal? Yes.
|
23022
|
-
* |/ \|
|
23023
|
-
* 1 3
|
23024
|
-
*
|
23025
|
-
* This situation can occur and the only solution is a cut along a parallel
|
23026
|
-
* side.
|
23027
|
-
*
|
23028
|
-
* This method is technically incomplete, however, for the following case:
|
23029
|
-
*
|
23030
|
-
* 7_________6
|
23031
|
-
* | |
|
23032
|
-
* | |______4
|
23033
|
-
* | 5 | Now is 1 to 6 internal? Yes, but we'll never need it.
|
23034
|
-
* | 2______|
|
23035
|
-
* | | 5
|
23036
|
-
* |_________|
|
23037
|
-
* 0 1
|
23038
|
-
*
|
23039
|
-
* In this case, although the cut from 1 to 6 is valid, the side 1-2 is
|
23040
|
-
* shorter and thus this cut will be called invalid. Assuming there are no
|
23041
|
-
* superfluous vertices (a requirement for this method to work), however,
|
23042
|
-
* we'll never need this cut because we can always find cut 2-5 as a substitute.
|
23043
|
-
*
|
23044
|
-
* @param {Cartesian2} side
|
23045
|
-
* @param {Cartesian2} cut
|
23046
|
-
* @returns {Boolean}
|
22897
|
+
return this._length;
|
22898
|
+
}
|
22899
|
+
}
|
22900
|
+
});
|
22901
|
+
|
22902
|
+
/**
|
22903
|
+
* Enqueues the specified item.
|
23047
22904
|
*
|
23048
|
-
* @
|
22905
|
+
* @param {Object} item The item to enqueue.
|
23049
22906
|
*/
|
23050
|
-
function
|
23051
|
-
|
23052
|
-
|
23053
|
-
|
23054
|
-
var INTERNAL = -1;
|
23055
|
-
var EXTERNAL = -2;
|
22907
|
+
Queue.prototype.enqueue = function(item) {
|
22908
|
+
this._array.push(item);
|
22909
|
+
this._length++;
|
22910
|
+
};
|
23056
22911
|
|
23057
22912
|
/**
|
23058
|
-
*
|
23059
|
-
* to the angle formed by the sides connecting at the first vertex.
|
23060
|
-
*
|
23061
|
-
* @param {Number} a1i Index of first vertex.
|
23062
|
-
* @param {Number} a2i Index of second vertex.
|
23063
|
-
* @param {Array} pArray Array of <code>{ position, index }</code> objects representing the polygon.
|
23064
|
-
* @returns {Number} If INTERNAL, the cut formed between the two vertices is internal to the angle at vertex 1.
|
23065
|
-
* If EXTERNAL, then the cut formed between the two vertices is external to the angle at vertex 1. If the value
|
23066
|
-
* is greater than or equal to zero, then the value is the index of an invalid vertex.
|
22913
|
+
* Dequeues an item. Returns undefined if the queue is empty.
|
23067
22914
|
*
|
23068
|
-
* @
|
22915
|
+
* @returns {Object} The the dequeued item.
|
23069
22916
|
*/
|
23070
|
-
|
23071
|
-
|
23072
|
-
|
23073
|
-
function internalCut(a1i, a2i, pArray) {
|
23074
|
-
// Make sure vertex is valid
|
23075
|
-
if (!validateVertex(a1i, pArray)) {
|
23076
|
-
return a1i;
|
22917
|
+
Queue.prototype.dequeue = function() {
|
22918
|
+
if (this._length === 0) {
|
22919
|
+
return undefined;
|
23077
22920
|
}
|
23078
22921
|
|
23079
|
-
|
23080
|
-
var
|
23081
|
-
var
|
23082
|
-
|
23083
|
-
|
23084
|
-
// Define side and cut vectors
|
23085
|
-
var before = CesiumMath.mod(a1i - 1, length);
|
23086
|
-
if (!validateVertex(before, pArray)) {
|
23087
|
-
return before;
|
23088
|
-
}
|
22922
|
+
var array = this._array;
|
22923
|
+
var offset = this._offset;
|
22924
|
+
var item = array[offset];
|
22925
|
+
array[offset] = undefined;
|
23089
22926
|
|
23090
|
-
|
23091
|
-
if (
|
23092
|
-
|
22927
|
+
offset++;
|
22928
|
+
if ((offset > 10) && (offset * 2 > array.length)) {
|
22929
|
+
//compact array
|
22930
|
+
this._array = array.slice(offset);
|
22931
|
+
offset = 0;
|
23093
22932
|
}
|
23094
22933
|
|
23095
|
-
|
23096
|
-
|
23097
|
-
var cut = Cartesian2.subtract(a2Position, a1Position, cutScratch);
|
23098
|
-
|
23099
|
-
var leftEdgeCutZ = crossZ(s1, cut);
|
23100
|
-
var rightEdgeCutZ = crossZ(s2, cut);
|
22934
|
+
this._offset = offset;
|
22935
|
+
this._length--;
|
23101
22936
|
|
23102
|
-
|
23103
|
-
|
23104
|
-
} else if (rightEdgeCutZ === 0.0) { // cut is parallel to (a1i + 1, a1i) edge
|
23105
|
-
return isInternalToParallelSide(s2, cut) ? INTERNAL : EXTERNAL;
|
23106
|
-
} else {
|
23107
|
-
var z = crossZ(s1, s2);
|
23108
|
-
if (z < 0.0) { // angle at a1i is less than 180 degrees
|
23109
|
-
return leftEdgeCutZ < 0.0 && rightEdgeCutZ > 0.0 ? INTERNAL : EXTERNAL; // Cut is in-between sides
|
23110
|
-
} else if (z > 0.0) { // angle at a1i is greater than 180 degrees
|
23111
|
-
return leftEdgeCutZ > 0.0 && rightEdgeCutZ < 0.0 ? EXTERNAL : INTERNAL; // Cut is in-between sides
|
23112
|
-
}
|
23113
|
-
}
|
23114
|
-
}
|
22937
|
+
return item;
|
22938
|
+
};
|
23115
22939
|
|
23116
22940
|
/**
|
23117
|
-
*
|
23118
|
-
* Do not include number === n1 or number === n2.
|
23119
|
-
* Do include n1 === n2 === number.
|
23120
|
-
*
|
23121
|
-
* @param {Number} number The number tested.
|
23122
|
-
* @param {Number} n1 First bound.
|
23123
|
-
* @param {Number} n2 Secound bound.
|
23124
|
-
* @returns {Boolean} number is between n1 and n2.
|
22941
|
+
* Returns the item at the front of the queue. Returns undefined if the queue is empty.
|
23125
22942
|
*
|
23126
|
-
* @
|
22943
|
+
* @returns {Object} The item at the front of the queue.
|
23127
22944
|
*/
|
23128
|
-
function
|
23129
|
-
|
23130
|
-
|
23131
|
-
|
23132
|
-
var sqrEpsilon = CesiumMath.EPSILON14;
|
23133
|
-
var eScratch = new Cartesian2();
|
23134
|
-
|
23135
|
-
function linesIntersection(p0, d0, p1, d1) {
|
23136
|
-
var e = Cartesian2.subtract(p1, p0, eScratch);
|
23137
|
-
var cross = d0.x * d1.y - d0.y * d1.x;
|
23138
|
-
var sqrCross = cross * cross;
|
23139
|
-
var sqrLen0 = Cartesian2.magnitudeSquared(d0);
|
23140
|
-
var sqrLen1 = Cartesian2.magnitudeSquared(d1);
|
23141
|
-
if (sqrCross > sqrEpsilon * sqrLen0 * sqrLen1) {
|
23142
|
-
// lines of the segments are not parallel
|
23143
|
-
var s = (e.x * d1.y - e.y * d1.x) / cross;
|
23144
|
-
return Cartesian2.add(p0, Cartesian2.multiplyByScalar(d0, s, eScratch), eScratch);
|
22945
|
+
Queue.prototype.peek = function() {
|
22946
|
+
if (this._length === 0) {
|
22947
|
+
return undefined;
|
23145
22948
|
}
|
23146
22949
|
|
23147
|
-
|
23148
|
-
|
23149
|
-
}
|
22950
|
+
return this._array[this._offset];
|
22951
|
+
};
|
23150
22952
|
|
23151
22953
|
/**
|
23152
|
-
*
|
23153
|
-
*
|
23154
|
-
* @param {Cartesian2} a1 Position of first vertex.
|
23155
|
-
* @param {Cartesian2} a2 Position of second vertex.
|
23156
|
-
* @param {Array} pArray Array of <code>{ position, index }</code> objects representing polygon.
|
23157
|
-
* @returns {Boolean} The segment between a1 and a2 intersect another polygon side.
|
22954
|
+
* Check whether this queue contains the specified item.
|
23158
22955
|
*
|
23159
|
-
* @
|
22956
|
+
* @param {Object} item The item to search for.
|
23160
22957
|
*/
|
23161
|
-
|
23162
|
-
|
23163
|
-
|
23164
|
-
function intersectsSide(a1, a2, pArray) {
|
23165
|
-
var aDirection = Cartesian2.subtract(a2, a1, aDirectionScratch);
|
23166
|
-
|
23167
|
-
var length = pArray.length;
|
23168
|
-
for (var i = 0; i < length; i++) {
|
23169
|
-
var b1 = pArray[i].position;
|
23170
|
-
var b2 = pArray[CesiumMath.mod(i + 1, length)].position;
|
23171
|
-
|
23172
|
-
// If there's a duplicate point, there's no intersection here.
|
23173
|
-
if (Cartesian2.equals(a1, b1) || Cartesian2.equals(a2, b2) || Cartesian2.equals(a1, b2) || Cartesian2.equals(a2, b1)) {
|
23174
|
-
continue;
|
23175
|
-
}
|
23176
|
-
|
23177
|
-
var bDirection = Cartesian2.subtract(b2, b1, bDirectionScratch);
|
23178
|
-
var intersection = linesIntersection(a1, aDirection, b1, bDirection);
|
23179
|
-
if (!defined(intersection)) {
|
23180
|
-
continue;
|
23181
|
-
}
|
23182
|
-
|
23183
|
-
// If intersection is on an endpoint, count no intersection
|
23184
|
-
if (Cartesian2.equals(intersection, a1) || Cartesian2.equals(intersection, a2) || Cartesian2.equals(intersection, b1) || Cartesian2.equals(intersection, b2)) {
|
23185
|
-
continue;
|
23186
|
-
}
|
23187
|
-
|
23188
|
-
// Is intersection point between segments?
|
23189
|
-
var intX = intersection.x;
|
23190
|
-
var intY = intersection.y;
|
23191
|
-
var intersects = isBetween(intX, a1.x, a2.x) && isBetween(intY, a1.y, a2.y) && isBetween(intX, b1.x, b2.x) && isBetween(intY, b1.y, b2.y);
|
23192
|
-
|
23193
|
-
// If intersecting, the cut is not clean
|
23194
|
-
if (intersects) {
|
23195
|
-
return true;
|
23196
|
-
}
|
23197
|
-
}
|
23198
|
-
return false;
|
23199
|
-
}
|
22958
|
+
Queue.prototype.contains = function(item) {
|
22959
|
+
return this._array.indexOf(item) !== -1;
|
22960
|
+
};
|
23200
22961
|
|
23201
|
-
|
23202
|
-
|
22962
|
+
/**
|
22963
|
+
* Remove all items from the queue.
|
22964
|
+
*/
|
22965
|
+
Queue.prototype.clear = function() {
|
22966
|
+
this._array.length = this._offset = this._length = 0;
|
22967
|
+
};
|
23203
22968
|
|
23204
22969
|
/**
|
23205
|
-
*
|
23206
|
-
*
|
23207
|
-
* @param {Number} a1i Index of first vertex.
|
23208
|
-
* @param {Number} a2i Index of second vertex.
|
23209
|
-
* @param {Array} pArray Array of <code>{ position, index }</code> objects representing the polygon.
|
23210
|
-
* @returns {Number} If CLEAN_CUT, a cut from the first vertex to the second is internal and does not cross any other sides.
|
23211
|
-
* If INVALID_CUT, then the vertices were valid but a cut could not be made. If the value is greater than or equal to zero,
|
23212
|
-
* then the value is the index of an invalid vertex.
|
22970
|
+
* Sort the items in the queue in-place.
|
23213
22971
|
*
|
23214
|
-
* @
|
22972
|
+
* @param {Queue~Comparator} compareFunction A function that defines the sort order.
|
23215
22973
|
*/
|
23216
|
-
function
|
23217
|
-
|
23218
|
-
|
23219
|
-
|
23220
|
-
|
23221
|
-
|
23222
|
-
var internalCut21 = internalCut(a2i, a1i, pArray);
|
23223
|
-
if (internalCut21 >= 0) {
|
23224
|
-
return internalCut21;
|
23225
|
-
}
|
23226
|
-
|
23227
|
-
if (internalCut12 === INTERNAL && internalCut21 === INTERNAL &&
|
23228
|
-
!intersectsSide(pArray[a1i].position, pArray[a2i].position, pArray) &&
|
23229
|
-
!Cartesian2.equals(pArray[a1i].position, pArray[a2i].position)) {
|
23230
|
-
return CLEAN_CUT;
|
22974
|
+
Queue.prototype.sort = function(compareFunction) {
|
22975
|
+
if (this._offset > 0) {
|
22976
|
+
//compact array
|
22977
|
+
this._array = this._array.slice(this._offset);
|
22978
|
+
this._offset = 0;
|
23231
22979
|
}
|
23232
22980
|
|
23233
|
-
|
23234
|
-
}
|
23235
|
-
|
23236
|
-
function triangleInLine(pArray) {
|
23237
|
-
// Get two sides. If they're parallel, so is the last.
|
23238
|
-
return indexedEdgeCrossZ(1, 2, 0, pArray) === 0.0;
|
23239
|
-
}
|
22981
|
+
this._array.sort(compareFunction);
|
22982
|
+
};
|
23240
22983
|
|
23241
22984
|
/**
|
23242
|
-
*
|
23243
|
-
*
|
23244
|
-
* then continues to "chop" the two resulting polygons.
|
23245
|
-
*
|
23246
|
-
* @param {Array} nodeArray Array of <code>{ position, index }</code> objects representing polygon
|
23247
|
-
* @returns {Number[]} Index array representing triangles that fill the polygon
|
22985
|
+
* A function used to compare two items while sorting a queue.
|
22986
|
+
* @callback Queue~Comparator
|
23248
22987
|
*
|
23249
|
-
* @
|
22988
|
+
* @param {Object} a An item in the array.
|
22989
|
+
* @param {Object} b An item in the array.
|
22990
|
+
* @returns {Number} Returns a negative value if <code>a</code> is less than <code>b</code>,
|
22991
|
+
* a positive value if <code>a</code> is greater than <code>b</code>, or
|
22992
|
+
* 0 if <code>a</code> is equal to <code>b</code>.
|
23250
22993
|
*
|
23251
|
-
* @
|
22994
|
+
* @example
|
22995
|
+
* function compareNumbers(a, b) {
|
22996
|
+
* return a - b;
|
22997
|
+
* }
|
23252
22998
|
*/
|
23253
|
-
function randomChop(nodeArray) {
|
23254
|
-
// Determine & verify number of vertices
|
23255
|
-
var numVertices = nodeArray.length;
|
23256
|
-
|
23257
|
-
// Is it already a triangle?
|
23258
|
-
if (numVertices === 3) {
|
23259
|
-
// Only return triangle if it has area (not a line)
|
23260
|
-
if (!triangleInLine(nodeArray)) {
|
23261
|
-
return [nodeArray[0].index, nodeArray[1].index, nodeArray[2].index];
|
23262
|
-
}
|
23263
22999
|
|
23264
|
-
|
23265
|
-
|
23266
|
-
} else if (nodeArray.length < 3) {
|
23267
|
-
throw new DeveloperError('Invalid polygon: must have at least three vertices.');
|
23268
|
-
}
|
23269
|
-
|
23270
|
-
// Search for clean cut
|
23271
|
-
var tries = 0;
|
23272
|
-
var maxTries = nodeArray.length * 10;
|
23273
|
-
|
23274
|
-
var cutResult = INVALID_CUT;
|
23275
|
-
var index1;
|
23276
|
-
var index2;
|
23277
|
-
|
23278
|
-
while (cutResult < CLEAN_CUT && tries++ < maxTries) {
|
23279
|
-
// Generate random indices
|
23280
|
-
index1 = getRandomIndex(nodeArray.length);
|
23281
|
-
index2 = index1 + 1;
|
23282
|
-
while (Math.abs(index1 - index2) < 2 || Math.abs(index1 - index2) > nodeArray.length - 2) {
|
23283
|
-
index2 = getRandomIndex(nodeArray.length);
|
23284
|
-
}
|
23000
|
+
return Queue;
|
23001
|
+
});
|
23285
23002
|
|
23286
|
-
|
23287
|
-
|
23288
|
-
|
23289
|
-
|
23290
|
-
|
23291
|
-
|
23003
|
+
/*global define*/
|
23004
|
+
define('Core/WindingOrder',[
|
23005
|
+
'../Renderer/WebGLConstants',
|
23006
|
+
'./freezeObject'
|
23007
|
+
], function(
|
23008
|
+
WebGLConstants,
|
23009
|
+
freezeObject) {
|
23010
|
+
'use strict';
|
23292
23011
|
|
23293
|
-
|
23294
|
-
|
23012
|
+
/**
|
23013
|
+
* Winding order defines the order of vertices for a triangle to be considered front-facing.
|
23014
|
+
*
|
23015
|
+
* @exports WindingOrder
|
23016
|
+
*/
|
23017
|
+
var WindingOrder = {
|
23018
|
+
/**
|
23019
|
+
* Vertices are in clockwise order.
|
23020
|
+
*
|
23021
|
+
* @type {Number}
|
23022
|
+
* @constant
|
23023
|
+
*/
|
23024
|
+
CLOCKWISE : WebGLConstants.CW,
|
23295
23025
|
|
23296
|
-
|
23297
|
-
|
23298
|
-
|
23026
|
+
/**
|
23027
|
+
* Vertices are in counter-clockwise order.
|
23028
|
+
*
|
23029
|
+
* @type {Number}
|
23030
|
+
* @constant
|
23031
|
+
*/
|
23032
|
+
COUNTER_CLOCKWISE : WebGLConstants.CCW,
|
23299
23033
|
|
23300
|
-
|
23301
|
-
|
23302
|
-
|
23303
|
-
|
23304
|
-
|
23305
|
-
|
23034
|
+
/**
|
23035
|
+
* @private
|
23036
|
+
*/
|
23037
|
+
validate : function(windingOrder) {
|
23038
|
+
return windingOrder === WindingOrder.CLOCKWISE ||
|
23039
|
+
windingOrder === WindingOrder.COUNTER_CLOCKWISE;
|
23306
23040
|
}
|
23041
|
+
};
|
23307
23042
|
|
23308
|
-
|
23309
|
-
|
23310
|
-
|
23043
|
+
return freezeObject(WindingOrder);
|
23044
|
+
});
|
23045
|
+
/*global define*/
|
23046
|
+
define('Core/PolygonPipeline',[
|
23047
|
+
'../ThirdParty/earcut-2.1.1',
|
23048
|
+
'./Cartesian2',
|
23049
|
+
'./Cartesian3',
|
23050
|
+
'./ComponentDatatype',
|
23051
|
+
'./defaultValue',
|
23052
|
+
'./defined',
|
23053
|
+
'./DeveloperError',
|
23054
|
+
'./Ellipsoid',
|
23055
|
+
'./EllipsoidTangentPlane',
|
23056
|
+
'./Geometry',
|
23057
|
+
'./GeometryAttribute',
|
23058
|
+
'./Math',
|
23059
|
+
'./pointInsideTriangle',
|
23060
|
+
'./PrimitiveType',
|
23061
|
+
'./Queue',
|
23062
|
+
'./WindingOrder'
|
23063
|
+
], function(
|
23064
|
+
earcut,
|
23065
|
+
Cartesian2,
|
23066
|
+
Cartesian3,
|
23067
|
+
ComponentDatatype,
|
23068
|
+
defaultValue,
|
23069
|
+
defined,
|
23070
|
+
DeveloperError,
|
23071
|
+
Ellipsoid,
|
23072
|
+
EllipsoidTangentPlane,
|
23073
|
+
Geometry,
|
23074
|
+
GeometryAttribute,
|
23075
|
+
CesiumMath,
|
23076
|
+
pointInsideTriangle,
|
23077
|
+
PrimitiveType,
|
23078
|
+
Queue,
|
23079
|
+
WindingOrder) {
|
23080
|
+
'use strict';
|
23311
23081
|
|
23312
23082
|
var scaleToGeodeticHeightN = new Cartesian3();
|
23313
23083
|
var scaleToGeodeticHeightP = new Cartesian3();
|
@@ -23317,24 +23087,6 @@ define('Core/PolygonPipeline',[
|
|
23317
23087
|
*/
|
23318
23088
|
var PolygonPipeline = {};
|
23319
23089
|
|
23320
|
-
/**
|
23321
|
-
* Cleans up a simple polygon by removing duplicate adjacent positions and making
|
23322
|
-
* the first position not equal the last position.
|
23323
|
-
*
|
23324
|
-
* @exception {DeveloperError} At least three positions are required.
|
23325
|
-
*/
|
23326
|
-
PolygonPipeline.removeDuplicates = function(positions) {
|
23327
|
-
if (!defined(positions)) {
|
23328
|
-
throw new DeveloperError('positions is required.');
|
23329
|
-
}
|
23330
|
-
|
23331
|
-
var cleanedPositions = PolylinePipeline.removeDuplicates(positions);
|
23332
|
-
if (Cartesian3.equals(cleanedPositions[0], cleanedPositions[cleanedPositions.length - 1])) {
|
23333
|
-
return cleanedPositions.slice(1);
|
23334
|
-
}
|
23335
|
-
return cleanedPositions;
|
23336
|
-
};
|
23337
|
-
|
23338
23090
|
/**
|
23339
23091
|
* @exception {DeveloperError} At least three positions are required.
|
23340
23092
|
*/
|
@@ -23372,31 +23124,17 @@ define('Core/PolygonPipeline',[
|
|
23372
23124
|
/**
|
23373
23125
|
* Triangulate a polygon.
|
23374
23126
|
*
|
23375
|
-
* @param {Cartesian2[]} positions
|
23376
|
-
* @
|
23377
|
-
*
|
23378
|
-
* @exception {DeveloperError} At least three positions are required.
|
23127
|
+
* @param {Cartesian2[]} positions Cartesian2 array containing the vertices of the polygon
|
23128
|
+
* @param {Number[]} [holes] An array of the staring indices of the holes.
|
23129
|
+
* @returns {Number[]} Index array representing triangles that fill the polygon
|
23379
23130
|
*/
|
23380
|
-
PolygonPipeline.triangulate = function(positions) {
|
23131
|
+
PolygonPipeline.triangulate = function(positions, holes) {
|
23381
23132
|
if (!defined(positions)) {
|
23382
23133
|
throw new DeveloperError('positions is required.');
|
23383
23134
|
}
|
23384
|
-
if (positions.length < 3) {
|
23385
|
-
throw new DeveloperError('At least three positions are required.');
|
23386
|
-
}
|
23387
23135
|
|
23388
|
-
var
|
23389
|
-
|
23390
|
-
var nodeArray = [];
|
23391
|
-
for ( var i = 0; i < length; ++i) {
|
23392
|
-
nodeArray[i] = {
|
23393
|
-
position : positions[i],
|
23394
|
-
index : i
|
23395
|
-
};
|
23396
|
-
}
|
23397
|
-
|
23398
|
-
// Recursive chop
|
23399
|
-
return randomChop(nodeArray);
|
23136
|
+
var flattenedPositions = Cartesian2.packArray(positions);
|
23137
|
+
return earcut(flattenedPositions, holes, 2);
|
23400
23138
|
};
|
23401
23139
|
|
23402
23140
|
var subdivisionV0Scratch = new Cartesian3();
|
@@ -23555,13 +23293,13 @@ define('Core/PolygonPipeline',[
|
|
23555
23293
|
/**
|
23556
23294
|
* Scales each position of a geometry's position attribute to a height, in place.
|
23557
23295
|
*
|
23558
|
-
* @param {
|
23559
|
-
* @param {Number} [height=0.0] The desired height to add to the positions
|
23296
|
+
* @param {Number[]} positions The array of numbers representing the positions to be scaled
|
23297
|
+
* @param {Number} [height=0.0] The desired height to add to the positions
|
23560
23298
|
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
|
23561
23299
|
* @param {Boolean} [scaleToSurface=true] <code>true</code> if the positions need to be scaled to the surface before the height is added.
|
23562
|
-
* @returns {
|
23300
|
+
* @returns {Number[]} The input array of positions, scaled to height
|
23563
23301
|
*/
|
23564
|
-
PolygonPipeline.scaleToGeodeticHeight = function(
|
23302
|
+
PolygonPipeline.scaleToGeodeticHeight = function(positions, height, ellipsoid, scaleToSurface) {
|
23565
23303
|
ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
|
23566
23304
|
|
23567
23305
|
var n = scaleToGeodeticHeightN;
|
@@ -23570,8 +23308,7 @@ define('Core/PolygonPipeline',[
|
|
23570
23308
|
height = defaultValue(height, 0.0);
|
23571
23309
|
scaleToSurface = defaultValue(scaleToSurface, true);
|
23572
23310
|
|
23573
|
-
if (defined(
|
23574
|
-
var positions = geometry.attributes.position.values;
|
23311
|
+
if (defined(positions)) {
|
23575
23312
|
var length = positions.length;
|
23576
23313
|
|
23577
23314
|
for ( var i = 0; i < length; i += 3) {
|
@@ -23594,51 +23331,7 @@ define('Core/PolygonPipeline',[
|
|
23594
23331
|
}
|
23595
23332
|
}
|
23596
23333
|
|
23597
|
-
return
|
23598
|
-
};
|
23599
|
-
|
23600
|
-
/**
|
23601
|
-
* Given a polygon defined by an outer ring with one or more inner rings (holes), return a single list of points representing
|
23602
|
-
* a polygon defined by the outer ring with the inner holes removed.
|
23603
|
-
*
|
23604
|
-
* @param {Cartesian2[]} outerRing An array of Cartesian points defining the outer boundary of the polygon.
|
23605
|
-
* @param {Cartesian2[]} innerRings An array of arrays of Cartesian points, where each array represents a hole in the polygon.
|
23606
|
-
* @returns {Cartesian2[]} A single list of Cartesian points defining the polygon, including the eliminated inner ring.
|
23607
|
-
*
|
23608
|
-
* @exception {DeveloperError} <code>outerRing</code> must not be empty.
|
23609
|
-
*
|
23610
|
-
* @example
|
23611
|
-
* // Simplifying a polygon with multiple holes.
|
23612
|
-
* outerRing = Cesium.PolygonPipeline.eliminateHoles(outerRing, innerRings);
|
23613
|
-
* polygon.positions = outerRing;
|
23614
|
-
*/
|
23615
|
-
PolygonPipeline.eliminateHoles = function(outerRing, innerRings, ellipsoid) {
|
23616
|
-
if (!defined(outerRing)) {
|
23617
|
-
throw new DeveloperError('outerRing is required.');
|
23618
|
-
}
|
23619
|
-
if (outerRing.length === 0) {
|
23620
|
-
throw new DeveloperError('outerRing must not be empty.');
|
23621
|
-
}
|
23622
|
-
if (!defined(innerRings)) {
|
23623
|
-
throw new DeveloperError('innerRings is required.');
|
23624
|
-
}
|
23625
|
-
|
23626
|
-
ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
|
23627
|
-
|
23628
|
-
var innerRingsCopy = [];
|
23629
|
-
for ( var i = 0; i < innerRings.length; i++) {
|
23630
|
-
var innerRing = [];
|
23631
|
-
for ( var j = 0; j < innerRings[i].length; j++) {
|
23632
|
-
innerRing.push(Cartesian3.clone(innerRings[i][j]));
|
23633
|
-
}
|
23634
|
-
innerRingsCopy.push(innerRing);
|
23635
|
-
}
|
23636
|
-
|
23637
|
-
var newPolygonVertices = outerRing;
|
23638
|
-
while (innerRingsCopy.length > 0) {
|
23639
|
-
newPolygonVertices = eliminateHole(newPolygonVertices, innerRingsCopy, ellipsoid);
|
23640
|
-
}
|
23641
|
-
return newPolygonVertices;
|
23334
|
+
return positions;
|
23642
23335
|
};
|
23643
23336
|
|
23644
23337
|
return PolygonPipeline;
|
@@ -23649,15 +23342,17 @@ define('Core/Matrix2',[
|
|
23649
23342
|
'./Cartesian2',
|
23650
23343
|
'./defaultValue',
|
23651
23344
|
'./defined',
|
23345
|
+
'./defineProperties',
|
23652
23346
|
'./DeveloperError',
|
23653
23347
|
'./freezeObject'
|
23654
23348
|
], function(
|
23655
23349
|
Cartesian2,
|
23656
23350
|
defaultValue,
|
23657
23351
|
defined,
|
23352
|
+
defineProperties,
|
23658
23353
|
DeveloperError,
|
23659
23354
|
freezeObject) {
|
23660
|
-
|
23355
|
+
'use strict';
|
23661
23356
|
|
23662
23357
|
/**
|
23663
23358
|
* A 2x2 matrix, indexable as a column-major order array.
|
@@ -24502,6 +24197,20 @@ define('Core/Matrix2',[
|
|
24502
24197
|
*/
|
24503
24198
|
Matrix2.COLUMN1ROW1 = 3;
|
24504
24199
|
|
24200
|
+
defineProperties(Matrix2.prototype, {
|
24201
|
+
/**
|
24202
|
+
* Gets the number of items in the collection.
|
24203
|
+
* @memberof Matrix2.prototype
|
24204
|
+
*
|
24205
|
+
* @type {Number}
|
24206
|
+
*/
|
24207
|
+
length : {
|
24208
|
+
get : function() {
|
24209
|
+
return Matrix2.packedLength;
|
24210
|
+
}
|
24211
|
+
}
|
24212
|
+
});
|
24213
|
+
|
24505
24214
|
/**
|
24506
24215
|
* Duplicates the provided Matrix2 instance.
|
24507
24216
|
*
|
@@ -24569,7 +24278,7 @@ define('Core/RectangleGeometryLibrary',[
|
|
24569
24278
|
CesiumMath,
|
24570
24279
|
Matrix2,
|
24571
24280
|
Rectangle) {
|
24572
|
-
|
24281
|
+
'use strict';
|
24573
24282
|
|
24574
24283
|
var cos = Math.cos;
|
24575
24284
|
var sin = Math.sin;
|
@@ -24763,7 +24472,7 @@ define('Core/RectangleOutlineGeometry',[
|
|
24763
24472
|
PrimitiveType,
|
24764
24473
|
Rectangle,
|
24765
24474
|
RectangleGeometryLibrary) {
|
24766
|
-
|
24475
|
+
'use strict';
|
24767
24476
|
|
24768
24477
|
var bottomBoundingSphere = new BoundingSphere();
|
24769
24478
|
var topBoundingSphere = new BoundingSphere();
|
@@ -24850,13 +24559,11 @@ define('Core/RectangleOutlineGeometry',[
|
|
24850
24559
|
var height = options.height;
|
24851
24560
|
var width = options.width;
|
24852
24561
|
|
24853
|
-
|
24854
|
-
var topPositions = geo.attributes.position.values;
|
24562
|
+
var topPositions = PolygonPipeline.scaleToGeodeticHeight(geo.attributes.position.values, maxHeight, ellipsoid, false);
|
24855
24563
|
var length = topPositions.length;
|
24856
24564
|
var positions = new Float64Array(length*2);
|
24857
24565
|
positions.set(topPositions);
|
24858
|
-
|
24859
|
-
var bottomPositions = geo.attributes.position.values;
|
24566
|
+
var bottomPositions = PolygonPipeline.scaleToGeodeticHeight(geo.attributes.position.values, minHeight, ellipsoid);
|
24860
24567
|
positions.set(bottomPositions, length);
|
24861
24568
|
geo.attributes.position.values = positions;
|
24862
24569
|
|
@@ -25043,7 +24750,7 @@ define('Core/RectangleOutlineGeometry',[
|
|
25043
24750
|
* Computes the geometric representation of an outline of an rectangle, including its vertices, indices, and a bounding sphere.
|
25044
24751
|
*
|
25045
24752
|
* @param {RectangleOutlineGeometry} rectangleGeometry A description of the rectangle outline.
|
25046
|
-
* @returns {Geometry} The computed vertices and indices.
|
24753
|
+
* @returns {Geometry|undefined} The computed vertices and indices.
|
25047
24754
|
*
|
25048
24755
|
* @exception {DeveloperError} Rotated rectangle is invalid.
|
25049
24756
|
*/
|
@@ -25059,6 +24766,11 @@ define('Core/RectangleOutlineGeometry',[
|
|
25059
24766
|
var geometry;
|
25060
24767
|
var boundingSphere;
|
25061
24768
|
rectangle = rectangleGeometry._rectangle;
|
24769
|
+
|
24770
|
+
if ((CesiumMath.equalsEpsilon(rectangle.north, rectangle.south, CesiumMath.EPSILON10) ||
|
24771
|
+
(CesiumMath.equalsEpsilon(rectangle.east, rectangle.west, CesiumMath.EPSILON10)))) {
|
24772
|
+
return undefined;
|
24773
|
+
}
|
25062
24774
|
if (defined(extrudedHeight)) {
|
25063
24775
|
geometry = constructExtrudedRectangle(options);
|
25064
24776
|
var topBS = BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight, topBoundingSphere);
|
@@ -25066,7 +24778,7 @@ define('Core/RectangleOutlineGeometry',[
|
|
25066
24778
|
boundingSphere = BoundingSphere.union(topBS, bottomBS);
|
25067
24779
|
} else {
|
25068
24780
|
geometry = constructRectangle(options);
|
25069
|
-
geometry = PolygonPipeline.scaleToGeodeticHeight(geometry, surfaceHeight, ellipsoid, false);
|
24781
|
+
geometry.attributes.position.values = PolygonPipeline.scaleToGeodeticHeight(geometry.attributes.position.values, surfaceHeight, ellipsoid, false);
|
25070
24782
|
boundingSphere = BoundingSphere.fromRectangle3D(rectangle, ellipsoid, surfaceHeight);
|
25071
24783
|
}
|
25072
24784
|
|
@@ -25092,7 +24804,7 @@ define('Workers/createRectangleOutlineGeometry',[
|
|
25092
24804
|
Ellipsoid,
|
25093
24805
|
Rectangle,
|
25094
24806
|
RectangleOutlineGeometry) {
|
25095
|
-
|
24807
|
+
'use strict';
|
25096
24808
|
|
25097
24809
|
function createRectangleOutlineGeometry(rectangleGeometry, offset) {
|
25098
24810
|
if (defined(offset)) {
|