From 11c0433695511113ee86bf183f49f1cff8eb397e Mon Sep 17 00:00:00 2001 From: HantingXu Date: Sat, 7 Oct 2023 16:15:30 -0400 Subject: [PATCH 1/4] basics are all updated --- CMakeLists.txt | 13 +- scenes/cornell.txt | 78 +- scenes/test.txt | 60 + src/BVH.h | 214 + src/gltfLoader.h | 152 + src/interactions.h | 81 +- src/intersections.h | 253 +- src/main.cpp | 14 +- src/pathtrace.cu | 631 +- src/pathtrace.h | 2 + src/scene.cpp | 474 +- src/scene.h | 6 + src/sceneStructs.h | 54 + src/tiny_obj_loader.h | 3459 ++++ src/tinygltf/CMakeLists.txt | 2 + src/tinygltf/json.hpp | 26753 +++++++++++++++++++++++++++++++ src/tinygltf/stb_image.h | 8007 +++++++++ src/tinygltf/stb_image_write.h | 1724 ++ src/tinygltf/tiny_gltf.h | 8483 ++++++++++ 19 files changed, 50401 insertions(+), 59 deletions(-) create mode 100644 scenes/test.txt create mode 100644 src/BVH.h create mode 100644 src/gltfLoader.h create mode 100644 src/tiny_obj_loader.h create mode 100644 src/tinygltf/CMakeLists.txt create mode 100644 src/tinygltf/json.hpp create mode 100644 src/tinygltf/stb_image.h create mode 100644 src/tinygltf/stb_image_write.h create mode 100644 src/tinygltf/tiny_gltf.h diff --git a/CMakeLists.txt b/CMakeLists.txt index c473e2c0..676584a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,8 @@ set(headers src/preview.h src/utilities.h src/ImGui/imconfig.h + src/tiny_obj_loader.h + src/BVH.h src/ImGui/imgui.h src/ImGui/imconfig.h @@ -111,11 +113,20 @@ list(SORT sources) source_group(Headers FILES ${headers}) source_group(Sources FILES ${sources}) -#add_subdirectory(src/ImGui) + +set(TINYGLTF_HEADER_ONLY ON CACHE INTERNAL "" FORCE) +set(TINYGLTF_INSTALL OFF CACHE INTERNAL "" FORCE) +add_subdirectory(src/tinygltf) #add_subdirectory(stream_compaction) # TODO: uncomment if using your stream compaction +#set(TINYGLTF_HEADER_ONLY ON CACHE INTERNAL "" FORCE) +#set(TINYGLTF_INSTALL OFF CACHE INTERNAL "" FORCE) + cuda_add_executable(${CMAKE_PROJECT_NAME} ${sources} ${headers}) target_link_libraries(${CMAKE_PROJECT_NAME} ${LIBRARIES} + #tinygltf #stream_compaction # TODO: uncomment if using your stream compaction ) + +#add_subdirectory(tinygltf) \ No newline at end of file diff --git a/scenes/cornell.txt b/scenes/cornell.txt index 83ff8202..3417a889 100644 --- a/scenes/cornell.txt +++ b/scenes/cornell.txt @@ -6,7 +6,7 @@ SPECRGB 0 0 0 REFL 0 REFR 0 REFRIOR 0 -EMITTANCE 5 +EMITTANCE 25 // Diffuse white MATERIAL 1 @@ -30,7 +30,7 @@ EMITTANCE 0 // Diffuse green MATERIAL 3 -RGB .35 .85 .35 +RGB .35 .35 .85 SPECEX 0 SPECRGB 0 0 0 REFL 0 @@ -48,6 +48,16 @@ REFR 0 REFRIOR 0 EMITTANCE 0 +// Refractive white +MATERIAL 5 +RGB .98 .98 .98 +SPECEX 0 +SPECRGB .98 .98 .98 +REFL 0 +REFR 1.5 +REFRIOR 0 +EMITTANCE 0 + // Camera CAMERA RES 800 800 @@ -64,6 +74,7 @@ UP 0 1 0 OBJECT 0 cube material 0 +texture -1 TRANS 0 10 0 ROTAT 0 0 0 SCALE 3 .3 3 @@ -72,6 +83,7 @@ SCALE 3 .3 3 OBJECT 1 cube material 1 +texture -1 TRANS 0 0 0 ROTAT 0 0 0 SCALE 10 .01 10 @@ -80,6 +92,7 @@ SCALE 10 .01 10 OBJECT 2 cube material 1 +texture -1 TRANS 0 10 0 ROTAT 0 0 90 SCALE .01 10 10 @@ -88,6 +101,7 @@ SCALE .01 10 10 OBJECT 3 cube material 1 +texture -1 TRANS 0 5 -5 ROTAT 0 90 0 SCALE .01 10 10 @@ -96,6 +110,7 @@ SCALE .01 10 10 OBJECT 4 cube material 2 +texture -1 TRANS -5 5 0 ROTAT 0 0 0 SCALE .01 10 10 @@ -104,14 +119,65 @@ SCALE .01 10 10 OBJECT 5 cube material 3 +texture -1 TRANS 5 5 0 ROTAT 0 0 0 SCALE .01 10 10 -// Sphere + +// Mesh cube OBJECT 6 -sphere +mesh material 4 -TRANS -1 4 -1 +texture 0 +TRANS 0 0 0 ROTAT 0 0 0 -SCALE 3 3 3 +SCALE 0.1 0.1 0.1 +LINK C:/Users/2000/Downloads/stanford_dragon_pbr/scene.gltf +//C:/Users/2000/Downloads/stanford_bunny_pbr/scene.gltf +//C:/Users/2000/Downloads/stanford_dragon_vrip_res_3/scene.gltf +//C:/Users/2000/Downloads/stanford_bunny_pbr/scene.gltf +//C:/Users/2000/Downloads/glTF-Sample-Models-2.0-Duck/glTF/Duck.gltf +//C:/Users/2000/Downloads/deino/scene.gltf +//C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//C:/Users/2000/Downloads/deino/scene.gltf +//C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//C:/Users/2000/Downloads/deino/scene.gltf +//C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//C:/Users/2000/Downloads/deino/scene.glt +//C:/Users/2000/Downloads/trapezo-rhombic_dodecahedron/scene.gltf +//C:/Users/2000/Downloads/low-poly-fox/source/LowPolyAnimal.obj +//C:/Users/2000/Downloads/deino/scene.gltf +//C:/Users/2000/Downloads/low-poly-fox/source/LowPolyAnimal.obj +//C:/Users/2000/Downloads/glTF-Sample-Models-2.0-Duck/glTF/Duck.gltf +//C:/Users/2000/Downloads/minecraft-kirby/source/model.gltf +//C:/Users/2000/Downloads/mimikyu/scene.gltf +//C:/Users/2000/Downloads/minecraft-grass-block/source/Minecraft_Grass_Block_OBJ/Grass_Block.obj +//C:/Users/2000/Downloads/mimikyu/scene.gltf +//C:/Users/2000/Downloads/crystal1/scene.gltf +//C:/Users/2000/Downloads/low-poly_head/scene.gltf +//C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf + + +TEXTURE 0 +LINK C:/Users/2000/Downloads/stanford_dragon_vrip_res_3/jade.png +//C:/Users/2000/Downloads/stanford_bunny_pbr/textures/DefaultMaterial_baseColor.png +//C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png +//C:/Users/2000/Downloads/low-poly-fox/textures/TextureDiff3.png +//C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png +//C:/Users/2000/Downloads/trapezo-rhombic_dodecahedron/textures/Material1_baseColor.png +//C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png +//C:/Users/2000/Downloads/low-poly-fox/textures/TextureDiff3.png +//C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png +//C:/Users/2000/Downloads/low-poly-fox/textures/TextureDiff3.png +//C:/Users/2000/Downloads/glTF-Sample-Models-2.0-Duck/glTF/DuckCM.png +//C:/Users/2000/Downloads/minecraft-kirby/textures/gltf_embedded_0.png +//C:/Users/2000/Downloads/minecraft-grass-block/source/Minecraft_Grass_Block_OBJ/Grass_Block_TEX.png +//C:/Users/2000/Downloads/mimikyu/textures/body_baseColor.png +// Sphere +//OBJECT 6 +//sphere +//material 1 +//TRANS -1 4 -1 +//ROTAT 0 0 0 +//SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/test.txt b/scenes/test.txt new file mode 100644 index 00000000..4f375183 --- /dev/null +++ b/scenes/test.txt @@ -0,0 +1,60 @@ +// Emissive material (light) +MATERIAL 0 +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +EMITTANCE 5 + +// Diffuse red +MATERIAL 1 +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +EMITTANCE 0 + +// Camera +CAMERA +RES 800 800 +FOVY 70 +ITERATIONS 5000 +DEPTH 8 +FILE sphere +EYE 0.0 5.0 10.5 +LOOKAT 0 5 0 +UP 0 1 0 + +// Ceiling light +OBJECT 0 +cube +material 0 +TRANS 0 15.0 0 +ROTAT 0 0 0 +SCALE 4 .4 4 + +// Ceiling light +OBJECT 1 +cube +material 0 +TRANS 0 10.0 5.0 +ROTAT 0 0 0 +SCALE 3 .3 3 + +// Sphere +OBJECT 2 +mesh +material 1 +TRANS 0.0 -1.0 0.0 +ROTAT 0 90 0 +SCALE 5 5 5 +LINK C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//LINK C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//LINK C:/Users/2000/Downloads/pixeled_eagle/scene.gltf +//LINK C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//LINK C:/Users/2000/Downloads/Fox/Fox.gltf +//LINK C:/Users/2000/Downloads/glTF-Sample-Models-2.0-Cube/glTF/Cube.gltf \ No newline at end of file diff --git a/src/BVH.h b/src/BVH.h new file mode 100644 index 00000000..7b553531 --- /dev/null +++ b/src/BVH.h @@ -0,0 +1,214 @@ +#pragma once + +#include +#include "sceneStructs.h" +#include "utilities.h" +#include "thrust/sort.h" + +__device__ AABB computeBBox(Triangle tri) +{ + AABB bbox; + for (int i = 0; i < 3; i++) + { + bbox.max[i] = max(max(tri.v1[i], tri.v2[i]), tri.v3[i]); + bbox.min[i] = min(min(tri.v1[i], tri.v2[i]), tri.v3[i]); + } + return bbox; +} + +__device__ unsigned int expandBits(unsigned int v) +{ + v = (v * 0x00010001u) & 0xFF0000FFu; + v = (v * 0x00000101u) & 0x0F00F00Fu; + v = (v * 0x00000011u) & 0xC30C30C3u; + v = (v * 0x00000005u) & 0x49249249u; + return v; +} + +//input the aabb box of a triangle +//generate a 30-bit morton code +__device__ unsigned int genMortonCode(AABB bbox, glm::vec3 geoMin, glm::vec3 geoMax) +{ + float x = (bbox.min.x + bbox.max.x) * 0.5f; + float y = (bbox.min.y + bbox.max.y) * 0.5f; + float z = (bbox.min.y + bbox.max.y) * 0.5f; + float normalizedX = (x - geoMin.x) / (geoMax.x - geoMin.x); + float normalizedY = (y - geoMin.y) / (geoMax.y - geoMin.y); + float normalizedZ = (z - geoMin.z) / (geoMax.z - geoMin.z); + + normalizedX = min(max(normalizedX * 1024.0f, 0.0f), 1023.0f); + normalizedY = min(max(normalizedY * 1024.0f, 0.0f), 1023.0f); + normalizedZ = min(max(normalizedZ * 1024.0f, 0.0f), 1023.0f); + + unsigned int xx = expandBits((unsigned int)normalizedX); + unsigned int yy = expandBits((unsigned int)normalizedY); + unsigned int zz = expandBits((unsigned int)normalizedZ); + + return xx * 4 + yy * 2 + zz; +} + + +__device__ unsigned long expandMorton(int index,unsigned int mortonCode) +{ + unsigned long exMortonCode = (mortonCode << 32) + index; + return exMortonCode; +} + +/** +* please sort the morton code first then get split pairs +thrust::stable_sort_by_key(mortonCodes, mortonCodes + triangleCount, triangleIndex);*/ + +//total input is a 30 x N matrix +//currentIndex is between 0 - N-1 +//the input morton codes should be in the reduced form, no same elements are expected to appear twice! +__device__ unsigned int getSplit(unsigned int* mortonCodes, unsigned int currIndex, unsigned int nextIndex, unsigned int bound) +{ + if (nextIndex < 0 || nextIndex >= bound) + return -1; + //NOTE: if use small size model, this step can be skipped + // just to ensure the morton codes are unique! + //unsigned int mask = mortonCodes[currIndex] ^ mortonCodes[nextIndex]; + unsigned long mask = expandMorton(currIndex, mortonCodes[currIndex]) ^ expandMorton(nextIndex, mortonCodes[nextIndex]); + // __clz gives the number of consecutive zero bits in that number + // this gives us the index of the most significant bit between the two numbers + int commonPrefix = __clz(mask); + return commonPrefix; +} + +__device__ int getSign(int tmp) +{ + if (tmp > 0) + return 1; + else + return -1; + //return (tmp > 0) - (tmp < 0); +} + +__device__ void buildBBox(BVHNode& curr, BVHNode left, BVHNode right) +{ + glm::vec3 newMin; + glm::vec3 newMax; + newMin.x = min(left.bbox.min.x, right.bbox.min.x); + newMax.x = max(left.bbox.max.x, right.bbox.max.x); + newMin.y = min(left.bbox.min.y, right.bbox.min.y); + newMax.y = max(left.bbox.max.y, right.bbox.max.y); + newMin.z = min(left.bbox.min.z, right.bbox.min.z); + newMax.z = max(left.bbox.max.z, right.bbox.max.z); + + curr.bbox = AABB{newMin, newMax}; + curr.isLeaf = 0; +} + +// build the bounding box and morton code for each triangle +__global__ void buildLeafMorton(int numTri, float minX, float minY, float minZ, + float maxX, float maxY, float maxZ, Triangle* triangles, BVHNode* leafNodes, + unsigned int* mortonCodes) +{ + int ind = blockIdx.x * blockDim.x + threadIdx.x; + if (ind < numTri) + { + int leafPos = ind + numTri - 1; + Triangle tri = triangles[ind]; + leafNodes[leafPos].bbox = computeBBox(tri); + leafNodes[leafPos].isLeaf = 1; + leafNodes[leafPos].leftIndex = -1; + leafNodes[leafPos].rightIndex = -1; + leafNodes[leafPos].triangleIndex = ind; + mortonCodes[ind] = genMortonCode(leafNodes[ind + numTri - 1].bbox, glm::vec3(minX, minY, minZ), glm::vec3(maxX, maxY, maxZ)); + } +} + + +//input the unique morton code +//codeCount is the size of the unique morton code +//splitList is 30 x N list +// the size of unique morton is less than 2^30 : [1, 2^30] +__global__ void buildSplitList(int codeCount, unsigned int* uniqueMorton, BVHNode* nodes) +{ + int ind = blockIdx.x * blockDim.x + threadIdx.x; + if (ind < codeCount - 1) + { + int sign = getSign(getSplit(uniqueMorton, ind, ind + 1, codeCount) - getSplit(uniqueMorton, ind, ind - 1, codeCount)); + int dMin = getSplit(uniqueMorton, ind, ind - sign, codeCount); + int lenMax = 2; + int k = getSplit(uniqueMorton, ind, ind + lenMax * sign, codeCount); + while (k > dMin) + { + lenMax *= 2; + k = getSplit(uniqueMorton, ind, ind + lenMax * sign, codeCount); + } + + int len = 0; + int last = lenMax >> 1; + while (last > 0) + { + int tmp = ind + (len + last) * sign; + int diff = getSplit(uniqueMorton, ind, tmp, codeCount); + if (diff > dMin) + { + len = len + last; + } + last >>= 1; + } + //last in range + int j = ind + len * sign; + + int currRange = getSplit(uniqueMorton, ind, j, codeCount); + int split = 0; + do { + len = (len + 1) >> 1; + if (getSplit(uniqueMorton, ind, ind + (split + len) * sign, codeCount) > currRange) + { + split += len; + } + } while (len > 1); + + int tmp = ind + split * sign + min(sign, 0); + + if (min(ind, j) == tmp) + { + //leaf node + // the number of internal nodes is N - 1 + nodes[ind].leftIndex = tmp + codeCount - 1; + nodes[tmp + codeCount - 1].parent = ind; + } + else + { + // internal node + nodes[ind].leftIndex = tmp; + nodes[tmp].parent = ind; + } + if (max(ind, j) == tmp + 1) + { + nodes[ind].rightIndex = tmp + codeCount; + nodes[tmp + codeCount].parent = ind; + } + else + { + nodes[ind].rightIndex = tmp + 1; + nodes[tmp + 1].parent = ind; + } + } + +} + + +//since maximum depth is 30, thus just repeat 30 times +__global__ void buildBBoxes(int leafCount, BVHNode* nodes, unsigned char* ready) +{ + int ind = blockIdx.x * blockDim.x + threadIdx.x; + // only update internal node + if (ind < leafCount - 1) + { + BVHNode node = nodes[ind]; + if (ready[ind] != 0) + return; + if(ready[node.leftIndex] != 0 && ready[node.rightIndex] != 0) + { + buildBBox(nodes[ind], nodes[node.leftIndex], nodes[node.rightIndex]); + ready[ind] = 1; + } + } +} + + diff --git a/src/gltfLoader.h b/src/gltfLoader.h new file mode 100644 index 00000000..75d3b7f6 --- /dev/null +++ b/src/gltfLoader.h @@ -0,0 +1,152 @@ +#pragma once +#include +#include +#include +#include "sceneStructs.h" + +template +struct arrayAdapter { + /// Pointer to the bytes + const unsigned char *dataPtr; + /// Number of elements in the array + const size_t elemCount; + /// Stride in bytes between two elements + const size_t stride; + + /// Construct an array adapter. + /// \param ptr Pointer to the start of the data, with offset applied + /// \param count Number of elements in the array + /// \param byte_stride Stride betweens elements in the array + arrayAdapter(const unsigned char *ptr, size_t count, size_t byte_stride) + : dataPtr(ptr), elemCount(count), stride(byte_stride) {} + + /// Returns a *copy* of a single element. Can't be used to modify it. + T operator[](size_t pos) const { + if (pos >= elemCount) + throw std::out_of_range( + "Tried to access beyond the last element of an array adapter with " + "count " + + std::to_string(elemCount) + " while getting elemnet number " + + std::to_string(pos)); + return *(reinterpret_cast(dataPtr + pos * stride)); + } +}; + +/// Interface of any adapted array that returns ingeger data +struct intArrayBase { + virtual ~intArrayBase() = default; + virtual unsigned int operator[](size_t) const = 0; + virtual size_t size() const = 0; +}; + +/// Interface of any adapted array that returns float data +struct floatArrayBase { + virtual ~floatArrayBase() = default; + virtual float operator[](size_t) const = 0; + virtual size_t size() const = 0; +}; + +/// An array that loads interger types, returns them as int +template +struct intArray : public intArrayBase { + arrayAdapter adapter; + + intArray(const arrayAdapter &a) : adapter(a) {} + unsigned int operator[](size_t position) const override { + return static_cast(adapter[position]); + } + + size_t size() const override { return adapter.elemCount; } +}; + +template +struct floatArray : public floatArrayBase { + arrayAdapter adapter; + + floatArray(const arrayAdapter &a) : adapter(a) {} + float operator[](size_t position) const override { + return static_cast(adapter[position]); + } + + size_t size() const override { return adapter.elemCount; } +}; + +#pragma pack(push, 1) + +template +struct v2 { + T x, y; +}; +/// 3D vector of floats without padding +template +struct v3 { + T x, y, z; +}; + +/// 4D vector of floats without padding +template +struct v4 { + T x, y, z, w; +}; + +#pragma pack(pop) + +using v2f = v2; +using v3f = v3; +using v4f = v4; +using v2d = v2; +using v3d = v3; +using v4d = v4; + +struct v2fArray { + arrayAdapter adapter; + v2fArray(const arrayAdapter &a) : adapter(a) {} + + v2f operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +struct v3fArray { + arrayAdapter adapter; + v3fArray(const arrayAdapter &a) : adapter(a) {} + + v3f operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +struct v4fArray { + arrayAdapter adapter; + v4fArray(const arrayAdapter &a) : adapter(a) {} + + v4f operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +struct v2dArray { + arrayAdapter adapter; + v2dArray(const arrayAdapter &a) : adapter(a) {} + + v2d operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +struct v3dArray { + arrayAdapter adapter; + v3dArray(const arrayAdapter &a) : adapter(a) {} + + v3d operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +struct v4dArray { + arrayAdapter adapter; + v4dArray(const arrayAdapter &a) : adapter(a) {} + + v4d operator[](size_t position) const { return adapter[position]; } + size_t size() const { return adapter.elemCount; } +}; + +/// +/// Loads glTF 2.0 mesh +/// +bool ldGLTF(const std::string& filePath, GLTFMesh& gltfMesh, glm::vec3 trans, glm::vec3 scale); \ No newline at end of file diff --git a/src/interactions.h b/src/interactions.h index f969e458..a23fe067 100644 --- a/src/interactions.h +++ b/src/interactions.h @@ -1,7 +1,6 @@ #pragma once #include "intersections.h" - // CHECKITOUT /** * Computes a cosine-weighted random direction in a hemisphere. @@ -41,6 +40,28 @@ glm::vec3 calculateRandomDirectionInHemisphere( + sin(around) * over * perpendicularDirection2; } +//for refractionRation, glass is 1.3-1.7, diamond is 2.4 +__host__ __device__ +glm::vec3 calculateRefraction( + float costheta, glm::vec3 normal, glm::vec3 indir, float refractionRatio) +{ + //float costheta = thrust::min(glm::dot(temp, normal), 1.0f); + costheta = thrust::min(costheta, 1.0f); + glm::vec3 rayOutPre = refractionRatio * (indir + costheta * normal); + float rayOutPreSquare = rayOutPre.x * rayOutPre.x + rayOutPre.y * rayOutPre.y + rayOutPre.z * rayOutPre.z; + glm::vec3 rayOutPara = -glm::sqrt(1 - rayOutPreSquare) * normal; + return rayOutPre + rayOutPara; +} + +__host__ __device__ +glm::vec3 calculateSpecularReflection( + glm::vec3 normal, PathSegment& pathSegment) +{ + glm::vec3 indir = pathSegment.ray.direction; + return indir - 2.0f * glm::dot(indir, normal) * normal; +} + + /** * Scatter a ray with some probabilities according to the material properties. * For example, a diffuse surface scatters in a cosine-weighted hemisphere. @@ -76,4 +97,62 @@ void scatterRay( // TODO: implement this. // A basic implementation of pure-diffuse shading will just call the // calculateRandomDirectionInHemisphere defined above. + Ray newRay; + + //if (m.hasRefractive) + if (m.hasRefractive) + { + glm::vec3 indir = pathSegment.ray.direction; + float costheta = glm::dot(-1.0f * indir, normal); + float sintheta = sqrtf(1 - costheta * costheta); + float ratio = 1.0 / 1.4f; + //if the angle between normal and ray is more then 90 degree + if (costheta <= 0.0f) + { + ratio = 1.0f / ratio; + } + else + { + --pathSegment.remainingBounces; + } + bool canRefract = ratio * sintheta < 1.0f; + thrust::uniform_real_distribution u01(0, 1); + float prob = u01(rng); + if (canRefract && prob > 0.07f) + { + newRay = { intersect, glm::refract(indir, normal, ratio) }; + pathSegment.color *= 1.02f; + } + else + { + newRay = { intersect, calculateSpecularReflection(normal, pathSegment) }; + pathSegment.color = pathSegment.color * m.color * 0.9f; + } + + //newRay = { intersect, pathSegment.ray.direction }; + + } + else if (m.hasReflective) + { + newRay = { intersect, calculateSpecularReflection(normal, pathSegment) }; + pathSegment.color = pathSegment.color * m.color; + --pathSegment.remainingBounces; + } + else + { + newRay = { intersect, calculateRandomDirectionInHemisphere(normal, rng) }; + pathSegment.color = pathSegment.color * m.color; + --pathSegment.remainingBounces; + } + + if (pathSegment.remainingBounces < 1) + { + pathSegment.color = glm::vec3(0.f); + return; + } + + pathSegment.ray = newRay; + pathSegment.ray.origin = intersect + pathSegment.ray.direction * 0.001f; + //record the current normal of the ray + pathSegment.currentNormal = normal; } diff --git a/src/intersections.h b/src/intersections.h index b1504071..30e60651 100644 --- a/src/intersections.h +++ b/src/intersections.h @@ -35,6 +35,22 @@ __host__ __device__ glm::vec3 multiplyMV(glm::mat4 m, glm::vec4 v) { return glm::vec3(m * v); } +__host__ __device__ bool bboxIntersectionTest(Ray r, AABB bbox) +{ + glm::vec3 bmin = bbox.min; + glm::vec3 bmax = bbox.max; + float tmin = -FLT_MAX; + float tmax = FLT_MAX; + for (int i = 0; i < 3; i++) + { + float t1 = (bmin[i] - r.origin[i]) / r.direction[i]; + float t2 = (bmax[i] - r.origin[i]) / r.direction[i]; + tmin = max(tmin, min(t1, t2)); + tmax = min(tmax, max(t1, t2)); + } + return tmax > max(tmin, 0.0f);; +} + // CHECKITOUT /** * Test intersection between a ray and a transformed cube. Untransformed, @@ -48,7 +64,7 @@ __host__ __device__ glm::vec3 multiplyMV(glm::mat4 m, glm::vec4 v) { __host__ __device__ float boxIntersectionTest(Geom box, Ray r, glm::vec3 &intersectionPoint, glm::vec3 &normal, bool &outside) { Ray q; - q.origin = multiplyMV(box.inverseTransform, glm::vec4(r.origin , 1.0f)); + q.origin = multiplyMV(box.inverseTransform, glm::vec4(r.origin , 1.0f)); q.direction = glm::normalize(multiplyMV(box.inverseTransform, glm::vec4(r.direction, 0.0f))); float tmin = -1e38f; @@ -125,10 +141,10 @@ __host__ __device__ float sphereIntersectionTest(Geom sphere, Ray r, if (t1 < 0 && t2 < 0) { return -1; } else if (t1 > 0 && t2 > 0) { - t = min(t1, t2); + t = glm::min(t1, t2); outside = true; } else { - t = max(t1, t2); + t = glm::max(t1, t2); outside = false; } @@ -142,3 +158,234 @@ __host__ __device__ float sphereIntersectionTest(Geom sphere, Ray r, return glm::length(r.origin - intersectionPoint); } + +/** + * Check mesh intersection, need to loop through every triangle in the mesh + */ + +__host__ __device__ float meshIntersectionTest(Geom geo, Triangle* triangles, int start, int end, + AABB bbox, Ray r, glm::vec3& intersectionPoint, glm::vec3& normal, + glm::vec2& uv, bool& outside) +{ + float closest = FLT_MAX; + Ray q; + q.origin = multiplyMV(geo.inverseTransform, glm::vec4(r.origin, 1.0f)); + q.direction = glm::normalize(multiplyMV(geo.inverseTransform, glm::vec4(r.direction, 0.0f))); + + if (!bboxIntersectionTest(q, bbox)) + { + return -1; + } + for (int i = start; i < end; i = i + 1) + { + glm::vec3 v1 = triangles[i].v1; + glm::vec3 v2 = triangles[i].v2; + glm::vec3 v3 = triangles[i].v3; + + glm::vec3 n1 = triangles[i].n1; + glm::vec3 n2 = triangles[i].n2; + glm::vec3 n3 = triangles[i].n3; + + glm::vec3 ratioPoint; + bool intersect = glm::intersectRayTriangle(q.origin, q.direction, v1, v2, v3, ratioPoint); + //compute the barycentric location that fit normal + glm::vec3 objPos = (1.0f - ratioPoint.x - ratioPoint.y) * v1 + ratioPoint.x * v2 + ratioPoint.y * v3; + //get the barycentric intersection location in the world space + glm::vec3 worldPos = multiplyMV(geo.transform, glm::vec4(objPos, 1.0f)); + if (!intersect) + { + continue; + } + else + { + float distance = glm::length(r.origin - worldPos); + // if intersect with further point, don't check + if (distance >= closest) + { + continue; + } + else + { + closest = distance; + + glm::vec2 uv1 = triangles[i].uv1; + glm::vec2 uv2 = triangles[i].uv2; + glm::vec2 uv3 = triangles[i].uv3; + + // compute barycentric coordinates to interpolate normal + glm::vec3 edge1 = v1 - v2; + glm::vec3 edge2 = v3 - v2; + glm::vec3 nor = glm::cross(edge1, edge2); + float dim = glm::length(nor); + + glm::vec3 e11 = v2 - objPos; + glm::vec3 e12 = v3 - objPos; + float u = glm::length(glm::cross(e11, e12)); + + glm::vec3 e21 = v1 - objPos; + glm::vec3 e22 = v3 - objPos; + float v = glm::length(glm::cross(e21, e22)); + + glm::vec3 e31 = v1 - objPos; + glm::vec3 e32 = v2 - objPos; + float w = glm::length(glm::cross(e31, e32)); + + u /= dim; + v /= dim; + w /= dim; + + //compute whether it is outside or inside + glm::vec3 invRay = -q.direction; + float fac = glm::dot(invRay, normal); + + fac > 0 ? outside = true : outside = false; + normal = glm::normalize(u * n1 + v * n2 + w * n3); + normal = glm::normalize(multiplyMV(geo.invTranspose, glm::vec4(normal, 0.0f))); + uv = u * uv1 + v * uv2 + w * uv3; + } + } + } + intersectionPoint = multiplyMV(geo.transform, glm::vec4(getPointOnRay(q, closest), 1.0f)); + if (!outside) + { + normal = -normal; + } + return closest; +} + +// check the distance between the ray origin (in object space) and the triangle +__device__ float triangleIntersectionTest(Geom geo, Triangle tri, Ray worldRay, Ray objectRay, glm::vec3& worldIntersect, glm::vec3& objectIntersect) +{ + glm::vec3 ratioPoint; + bool intersect = glm::intersectRayTriangle(objectRay.origin, objectRay.direction, tri.v1, tri.v2, tri.v3, ratioPoint); + if (!intersect) + return FLT_MAX; + //compute the barycentric location that fit normal + objectIntersect = (1.0f - ratioPoint.x - ratioPoint.y) * tri.v1 + ratioPoint.x * tri.v2 + ratioPoint.y * tri.v3; + //get the barycentric intersection location in the world space + worldIntersect = multiplyMV(geo.transform, glm::vec4(objectIntersect, 1.0f)); + float distance = glm::length(worldRay.origin - worldIntersect); + return distance; +} + +__device__ void computeTriangleInfo(Geom geo, Triangle tri, glm::vec3& normal, glm::vec3 worldIntersect, glm::vec3 objectIntersect, + Ray worldRay, Ray objectRay, glm::vec2& uv, bool& outside) +{ + // compute barycentric coordinates to interpolate normal + glm::vec3 edge1 = tri.v1 - tri.v2; + glm::vec3 edge2 = tri.v3 - tri.v2; + glm::vec3 nor = glm::cross(edge1, edge2); + float dim = glm::length(nor); + + glm::vec3 e11 = tri.v2 - objectIntersect; + glm::vec3 e12 = tri.v3 - objectIntersect; + float u = glm::length(glm::cross(e11, e12)); + + glm::vec3 e21 = tri.v1 - objectIntersect; + glm::vec3 e22 = tri.v3 - objectIntersect; + float v = glm::length(glm::cross(e21, e22)); + + glm::vec3 e31 = tri.v1 - objectIntersect; + glm::vec3 e32 = tri.v2 - objectIntersect; + float w = glm::length(glm::cross(e31, e32)); + + u /= dim; + v /= dim; + w /= dim; + + //compute whether it is outside or inside + glm::vec3 invRay = -objectRay.direction; + float fac = glm::dot(invRay, normal); + + fac > 0 ? outside = true : outside = false; + normal = glm::normalize(u * tri.n1 + v * tri.n2 + w * tri.n3); + normal = glm::normalize(multiplyMV(geo.invTranspose, glm::vec4(normal, 0.0f))); + uv = u * tri.uv1 + v * tri.uv2 + w * tri.uv3; +} + +__device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, + int start, int end, AABB bbox, Ray worldRay, glm::vec3& intersectionPoint, + glm::vec3& normal, glm::vec2& uv, bool& outside) +{ + // record the closest intersection + float closest = FLT_MAX; + Ray objectRay; + objectRay.origin = multiplyMV(geo.inverseTransform, glm::vec4(worldRay.origin, 1.0f)); + objectRay.direction = glm::normalize(multiplyMV(geo.inverseTransform, glm::vec4(worldRay.direction, 0.0f))); + + glm::vec3 worldIntersect = glm::vec3(0.f); + glm::vec3 objectIntersect = glm::vec3(0.f); + + if (!bboxIntersectionTest(objectRay, bbox)) + { + return -1; + } + + int stack[64]; + int stackPtr = 0; + int bvhPtr = 0; + stack[stackPtr++] = 0; + while(stackPtr) + { + bvhPtr = stack[--stackPtr]; + BVHNode currentNode = nodes[bvhPtr]; + BVHNode leftChild = nodes[currentNode.leftIndex]; + BVHNode rightChild = nodes[currentNode.rightIndex]; + + bool hitLeft = bboxIntersectionTest(objectRay, leftChild.bbox); + bool hitRight = bboxIntersectionTest(objectRay, rightChild.bbox); + int j = 0; + if (hitLeft) + { + // check triangle intersection + if (leftChild.isLeaf == 1) + { + glm::vec3 tmpWorldIntersect = glm::vec3(0.f); + glm::vec3 tmpObjectIntersect = glm::vec3(0.f); + float distance = triangleIntersectionTest(geo, triangles[leftChild.triangleIndex], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); + // if is closer, then calculate normal and uv + if (distance < closest) + { + computeTriangleInfo(geo, triangles[leftChild.triangleIndex], normal, tmpWorldIntersect, tmpObjectIntersect, + worldRay, objectRay, uv, outside); + closest = distance; + } + } + else + { + stack[stackPtr++] = currentNode.leftIndex; + } + + } + if (hitRight) + { + // check triangle intersection + if (rightChild.isLeaf == 1) + { + + glm::vec3 tmpWorldIntersect = glm::vec3(0.f); + glm::vec3 tmpObjectIntersect = glm::vec3(0.f); + float distance = triangleIntersectionTest(geo, triangles[rightChild.triangleIndex], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); + // if is closer, then calculate normal and uv + if (distance < closest) + { + computeTriangleInfo(geo, triangles[rightChild.triangleIndex], normal, tmpWorldIntersect, tmpObjectIntersect, + worldRay, objectRay, uv, outside); + closest = distance; + } + } + else + { + stack[stackPtr++] = currentNode.rightIndex; + } + + } + } + intersectionPoint = multiplyMV(geo.transform, glm::vec4(getPointOnRay(objectRay, closest), 1.0f)); + if (!outside) + { + normal = -normal; + } + return closest; +} + diff --git a/src/main.cpp b/src/main.cpp index 96127b6d..a072c8d5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,13 @@ #include "main.h" #include "preview.h" #include +/** +#define TINYGLTF_IMPLEMENTATION +#define TINYGLTF_NO_EXTERNAL_IMAGE +#define TINYGLTF_NO_STB_IMAGE +#define TINYGLTF_NO_STB_IMAGE_WRITE + +#include "tinygltf/tiny_gltf.h"*/ static std::string startTimeString; @@ -32,6 +39,7 @@ int height; //------------------------------- int main(int argc, char** argv) { + startTimeString = currentTimeString(); if (argc < 2) { @@ -73,6 +81,8 @@ int main(int argc, char** argv) { // Initialize CUDA and GL components init(); + //buildBVHTree((scene->gltfMeshes)[0], (scene->gltfMeshes)[0].triangles.size()); + // Initialize ImGui Data InitImguiData(guiData); InitDataContainer(guiData); @@ -124,6 +134,7 @@ void runCuda() { cam.position = cameraPosition; cameraPosition += cam.lookAt; cam.position = cameraPosition; + camchanged = false; } @@ -133,8 +144,9 @@ void runCuda() { if (iteration == 0) { pathtraceFree(); pathtraceInit(scene); + buildBVHTree((scene->gltfMeshes)[0], (scene->gltfMeshes)[0].triangles.size()); } - + if (iteration < renderState->iterations) { uchar4* pbo_dptr = NULL; iteration++; diff --git a/src/pathtrace.cu b/src/pathtrace.cu index fd2a4641..62ab6878 100644 --- a/src/pathtrace.cu +++ b/src/pathtrace.cu @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include "sceneStructs.h" #include "scene.h" @@ -13,8 +15,20 @@ #include "pathtrace.h" #include "intersections.h" #include "interactions.h" +#include "BVH.h" +//for testing +#include #define ERRORCHECK 1 +#define DENOISING 1 +#define SVGF 1 +#define ANTIALISING 0 +#define CACHEFIRSTRAY 1 +#define DEFOCUSING 0 +#define BVHON 1 +#define DIRECTLIGHTING 1 + +#define LEN 5.0f #define FILENAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #define checkCUDAError(msg) checkCUDAErrorFn(msg, FILENAME, __LINE__) @@ -70,18 +84,116 @@ __global__ void sendImageToPBO(uchar4* pbo, glm::ivec2 resolution, static Scene* hst_scene = NULL; static GuiDataContainer* guiData = NULL; static glm::vec3* dev_image = NULL; +static glm::vec3* dev_postImage = NULL; static Geom* dev_geoms = NULL; +static Geom* dev_lightSources = NULL; static Material* dev_materials = NULL; static PathSegment* dev_paths = NULL; static ShadeableIntersection* dev_intersections = NULL; // TODO: static variables for device memory, any extra info you need, etc -// ... +static glm::vec3* dev_textures = NULL; +static AABB* dev_bboxes = NULL; +static Texture* dev_texes = NULL; +static int* dev_offsets = NULL; +static ShadeableIntersection* dev_cachedintersections = NULL; +static Triangle* dev_triangles = NULL; +static BVHNode* dev_BVHNodes = NULL; +// For denoising +static glm::vec3* dev_normalBuffer; +static glm::vec3* dev_albedoBuffer; +static float* dev_zBuffer; +static int* dev_objIndex; + +int lightSrcNumber; + +struct stay_bouncing +{ + __host__ __device__ + bool operator()(const PathSegment path) + { + return path.remainingBounces != 0; + } +}; + +__host__ __device__ bool operator<(const ShadeableIntersection& inter1, const ShadeableIntersection& inter2) +{ + return inter1.materialId < inter2.materialId; +} + +void initBufferInfo(int pixels) +{ + cudaMalloc(&dev_normalBuffer, pixels * sizeof(glm::vec3)); + cudaMemset(dev_normalBuffer, 0, pixels * sizeof(glm::vec3)); + cudaMalloc(&dev_albedoBuffer, pixels * sizeof(glm::vec3)); + cudaMemset(dev_albedoBuffer, 0, pixels * sizeof(glm::vec3)); + cudaMalloc(&dev_zBuffer, pixels * sizeof(float)); + cudaMemset(dev_zBuffer, 0, pixels * sizeof(float)); +} void InitDataContainer(GuiDataContainer* imGuiData) { guiData = imGuiData; } +void iniLightInfo(Scene* scene) +{ + //get the needed light infomation + lightSrcNumber = 0; + std::vector lightSources; + for (int i = 0; i < hst_scene->geoms.size(); i++) + { + Geom geo = (hst_scene->geoms)[i]; + if ((hst_scene->materials)[geo.materialid].emittance > 0) + { + ++lightSrcNumber; + lightSources.push_back(geo); + } + } + cudaMalloc(&dev_lightSources, lightSrcNumber * sizeof(Geom)); + cudaMemcpy(dev_lightSources, lightSources.data(), lightSrcNumber * sizeof(Geom), cudaMemcpyHostToDevice); + lightSources.clear(); +} + +void initTexInfo(Scene* scene) +{ + std::vector texoffsets; + + cudaMalloc(&dev_textures, scene->texData.size() * sizeof(glm::vec3)); + cudaMemcpy(dev_textures, scene->texData.data(), scene->texData.size() * sizeof(glm::vec3), cudaMemcpyHostToDevice); + cudaMalloc(&dev_texes, scene->textures.size() * sizeof(Texture)); + cudaMemcpy(dev_texes, scene->textures.data(), scene->textures.size() * sizeof(Texture), cudaMemcpyHostToDevice); +} + +void initMeshInfo(Scene* scene) +{ + hst_scene = scene; + std::vector offsets; + std::vector bboxes; + std::vector triangles; + offsets.push_back(0); + for (int i = 0; i < scene->gltfMeshes.size(); i++) + { + const GLTFMesh& mesh1 = (hst_scene->gltfMeshes)[i]; + copy(mesh1.triangles.begin(), mesh1.triangles.end(), back_inserter(triangles)); + // for uv, it is 2/3 of the offset + offsets.push_back(triangles.size()); + bboxes.push_back(AABB{ mesh1.bbmin, mesh1.bbmax }); + } + /** + for (int i = 0; i < 10; i++) + { + cout << (hst_scene->gltfMeshes)[0].triangles[i].v1.x << "," << (hst_scene->gltfMeshes)[0].triangles[i].v1.y << "," << (hst_scene->gltfMeshes)[0].triangles[i].v1.z << endl; + }*/ + cudaMalloc(&dev_triangles, triangles.size()*sizeof(Triangle)); + cudaMemcpy(dev_triangles, triangles.data() ,triangles.size()*sizeof(Triangle), cudaMemcpyHostToDevice); + cudaMalloc(&dev_bboxes, bboxes.size() * sizeof(AABB)); + cudaMemcpy(dev_bboxes, bboxes.data(), bboxes.size() * sizeof(AABB), cudaMemcpyHostToDevice); + cudaMalloc(&dev_offsets, offsets.size() * sizeof(int)); + cudaMemcpy(dev_offsets, offsets.data(), offsets.size() * sizeof(int), cudaMemcpyHostToDevice); + cudaMalloc(&dev_BVHNodes, (triangles.size() * 2 - 1) * sizeof(BVHNode)); + cudaMemset(dev_BVHNodes, 0, (triangles.size() * 2 - 1) * sizeof(BVHNode)); +} + void pathtraceInit(Scene* scene) { hst_scene = scene; @@ -91,6 +203,9 @@ void pathtraceInit(Scene* scene) { cudaMalloc(&dev_image, pixelcount * sizeof(glm::vec3)); cudaMemset(dev_image, 0, pixelcount * sizeof(glm::vec3)); + cudaMalloc(&dev_postImage, pixelcount * sizeof(glm::vec3)); + cudaMemset(dev_postImage, 0, pixelcount * sizeof(glm::vec3)); + cudaMalloc(&dev_paths, pixelcount * sizeof(PathSegment)); cudaMalloc(&dev_geoms, scene->geoms.size() * sizeof(Geom)); @@ -103,6 +218,14 @@ void pathtraceInit(Scene* scene) { cudaMemset(dev_intersections, 0, pixelcount * sizeof(ShadeableIntersection)); // TODO: initialize any extra device memeory you need + initMeshInfo(scene); + initTexInfo(scene); + iniLightInfo(scene); + initBufferInfo(pixelcount); +#if CACHEFIRSTRAY + cudaMalloc(&dev_cachedintersections, pixelcount * sizeof(ShadeableIntersection)); + cudaMemset(dev_cachedintersections, 0, pixelcount * sizeof(ShadeableIntersection)); +#endif checkCUDAError("pathtraceInit"); } @@ -114,10 +237,35 @@ void pathtraceFree() { cudaFree(dev_materials); cudaFree(dev_intersections); // TODO: clean up any extra device memory you created - + cudaFree(dev_bboxes); + cudaFree(dev_offsets); + cudaFree(dev_textures); + cudaFree(dev_texes); + cudaFree(dev_lightSources); + cudaFree(dev_postImage); + cudaFree(dev_normalBuffer); + cudaFree(dev_albedoBuffer); + cudaFree(dev_zBuffer); + cudaFree(dev_triangles); + cudaFree(dev_BVHNodes); +#if CACHEFIRSTRAY + cudaFree(dev_cachedintersections); +#endif checkCUDAError("pathtraceFree"); } +void updateBBox(Scene* scene) +{ + std::vector bboxes; + for (int i = 0; i < scene->gltfMeshes.size(); i++) + { + const GLTFMesh& mesh1 = (hst_scene->gltfMeshes)[i]; + bboxes.push_back(AABB{ mesh1.bbmin, mesh1.bbmax }); + } + cudaMemcpy(dev_bboxes, bboxes.data(), bboxes.size() * sizeof(AABB), cudaMemcpyHostToDevice); +} + + /** * Generate PathSegments with rays from the camera through the screen into the * scene, which is the first bounce of rays. @@ -137,13 +285,41 @@ __global__ void generateRayFromCamera(Camera cam, int iter, int traceDepth, Path segment.ray.origin = cam.position; segment.color = glm::vec3(1.0f, 1.0f, 1.0f); + segment.currentNormal = glm::vec3(0.0f, 0.0f, 0.0f); +#if !CACHEFIRSTRAY && ANTIALIASING + // TODO: implement antialiasing by jittering the ray + thrust::default_random_engine rngX = makeSeededRandomEngine(iter, x, index); + thrust::default_random_engine rngY = makeSeededRandomEngine(iter, y, index); + thrust::uniform_real_distribution u11(-0.5f, 0.5f); + segment.ray.direction = glm::normalize(cam.view + - cam.right * cam.pixelLength.x * ((float)x - (float)cam.resolution.x * 0.5f + u11(rngX)) + - cam.up * cam.pixelLength.y * ((float)y - (float)cam.resolution.y * 0.5f + u11(rngY)) + ); +#else // TODO: implement antialiasing by jittering the ray segment.ray.direction = glm::normalize(cam.view - cam.right * cam.pixelLength.x * ((float)x - (float)cam.resolution.x * 0.5f) - cam.up * cam.pixelLength.y * ((float)y - (float)cam.resolution.y * 0.5f) ); - +#endif +#if DEFOCUSING + thrust::default_random_engine rngX = makeSeededRandomEngine(iter, x, index); + thrust::default_random_engine rngY = makeSeededRandomEngine(iter, y, index); + /* + thrust::uniform_real_distribution u360(0.0f, 360.0f); + thrust::uniform_real_distribution u01(0.0f, 1.0f); + float degree = u360(rngX); + float len = u01(rngY); + glm::vec3 defocus = glm::vec3(cos(degree) * len, sin(degree) * len, 0);*/ + thrust::uniform_real_distribution u00(-0.7f, 0.7f); + glm::vec3 defocus = glm::vec3(u00(rngX), u00(rngY), 0); + segment.ray.origin += defocus; + + glm::vec3 focusPoint = LEN * segment.ray.direction; + glm::vec3 tmpDir = focusPoint - defocus; + segment.ray.direction = glm::normalize(tmpDir); +#endif segment.pixelIndex = index; segment.remainingBounces = traceDepth; } @@ -160,6 +336,10 @@ __global__ void computeIntersections( , Geom* geoms , int geoms_size , ShadeableIntersection* intersections + , int* meshOffsets + , AABB* bboxes + , Triangle* meshTriangles + , BVHNode* nodes ) { int path_index = blockIdx.x * blockDim.x + threadIdx.x; @@ -171,12 +351,14 @@ __global__ void computeIntersections( float t; glm::vec3 intersect_point; glm::vec3 normal; + glm::vec2 uv = glm::vec2(FLT_MAX, FLT_MAX); float t_min = FLT_MAX; int hit_geom_index = -1; bool outside = true; glm::vec3 tmp_intersect; glm::vec3 tmp_normal; + glm::vec2 tmp_uv; // naive parse through global geoms @@ -192,6 +374,19 @@ __global__ void computeIntersections( { t = sphereIntersectionTest(geom, pathSegment.ray, tmp_intersect, tmp_normal, outside); } + else if (geom.type == MESH) + { + int meshInd = geom.meshid; +#if !BVHON + t = meshIntersectionTest(geom, meshTriangles, meshOffsets[meshInd], + meshOffsets[meshInd + 1], bboxes[meshInd], + pathSegment.ray, tmp_intersect, tmp_normal, tmp_uv, outside);*/ +#else + t = traverseTree(nodes, geom, meshTriangles, meshOffsets[meshInd], + meshOffsets[meshInd + 1], bboxes[meshInd], pathSegment.ray, + tmp_intersect, tmp_normal, tmp_uv, outside); +#endif + } // TODO: add more intersection tests here... triangle? metaball? CSG? // Compute the minimum t from the intersection tests to determine what @@ -202,23 +397,38 @@ __global__ void computeIntersections( hit_geom_index = i; intersect_point = tmp_intersect; normal = tmp_normal; + uv = tmp_uv; } } if (hit_geom_index == -1) { intersections[path_index].t = -1.0f; + intersections[path_index].hasUV = false; } else { //The ray hits something intersections[path_index].t = t_min; intersections[path_index].materialId = geoms[hit_geom_index].materialid; + intersections[path_index].textureId = geoms[hit_geom_index].textureid; intersections[path_index].surfaceNormal = normal; + if (geoms[hit_geom_index].type != MESH) + { + intersections[path_index].hasUV = false; + intersections[path_index].interUV = glm::vec2(FLT_MAX, FLT_MAX); + } + else + { + intersections[path_index].hasUV = true; + intersections[path_index].interUV = uv; + } } } } + + // LOOK: "fake" shader demonstrating what you might do with the info in // a ShadeableIntersection, as well as how to use thrust's random number // generator. Observe that since the thrust random number generator basically @@ -234,6 +444,8 @@ __global__ void shadeFakeMaterial( , ShadeableIntersection* shadeableIntersections , PathSegment* pathSegments , Material* materials + , Texture* texes + , glm::vec3* textures ) { int idx = blockIdx.x * blockDim.x + threadIdx.x; @@ -248,18 +460,28 @@ __global__ void shadeFakeMaterial( thrust::uniform_real_distribution u01(0, 1); Material material = materials[intersection.materialId]; - glm::vec3 materialColor = material.color; + glm::vec3 c = material.color; // If the material indicates that the object was a light, "light" the ray if (material.emittance > 0.0f) { - pathSegments[idx].color *= (materialColor * material.emittance); + pathSegments[idx].color *= c * material.emittance; } // Otherwise, do some pseudo-lighting computation. This is actually more // like what you would expect from shading in a rasterizer like OpenGL. // TODO: replace this! you should be able to start with basically a one-liner else { float lightTerm = glm::dot(intersection.surfaceNormal, glm::vec3(0.0f, 1.0f, 0.0f)); - pathSegments[idx].color *= (materialColor * lightTerm) * 0.3f + ((1.0f - intersection.t * 0.02f) * materialColor) * 0.7f; + int texID = intersection.textureId; + glm::vec2 uv = intersection.interUV; + if (texID > -1 && intersection.hasUV == true) + { + Texture tmpTex = texes[texID]; + int i = tmpTex.width * intersection.interUV[0] - 0.5f; + int j = tmpTex.height * intersection.interUV[1] - 0.5f; + int colorIndex = j * tmpTex.width + i + tmpTex.start; + c = textures[colorIndex]; + } + pathSegments[idx].color *= (c * lightTerm) * 0.3f + ((1.0f - intersection.t * 0.02f) * c) * 0.7f; pathSegments[idx].color *= u01(rng); // apply some noise because why not } // If there was no intersection, color the ray black. @@ -273,6 +495,234 @@ __global__ void shadeFakeMaterial( } } +__device__ glm::vec3 getLightDir(glm::vec3 origin, Geom lightSource) +{ + glm::vec3 sourcePoint; + thrust::default_random_engine xrng = makeSeededRandomEngine((int)origin.x, (int)(origin.y * lightSource.meshid), (int)(origin.z * lightSource.textureid)); + thrust::default_random_engine yrng = makeSeededRandomEngine((int)(origin.x * lightSource.materialid), (int)origin.y, (int)(origin.z * lightSource.textureid)); + thrust::default_random_engine zrng = makeSeededRandomEngine((int)(origin.x * lightSource.materialid), (int)(origin.y * lightSource.meshid), (int)origin.z); + thrust::uniform_real_distribution u11(-1, 1); + if (lightSource.type == CUBE) + { + sourcePoint = (glm::vec3)(lightSource.transform * glm::vec4(u11(xrng) * 0.5f, u11(yrng) * 0.5f, u11(zrng) * 0.5f, 1.0f)); + } + else + { + sourcePoint = (glm::vec3)(lightSource.transform * glm::vec4(u11(xrng) * 0.35f, u11(yrng) * 0.35f, u11(zrng) *0.35f, 1.0f)); + } + + return glm::normalize(sourcePoint - origin); +} + +__global__ void initBufferData( + int num_paths + , ShadeableIntersection* shadeableIntersections + , PathSegment* pathSegments + , Material* materials + , Texture* textures + , glm::vec3* texdata + , glm::vec3* albedoBuffer + , glm::vec3* normalBuffer + , float* zBuffer +) +{ + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < num_paths) + { + ShadeableIntersection intersection = shadeableIntersections[idx]; + glm::vec3 tmpColor; + + if (intersection.t > 0.0f) { // if the intersection exists... + // Set up the RNG + // LOOK: this is how you use thrust's RNG! Please look at + // makeSeededRandomEngine as well. + Material material = materials[intersection.materialId]; + glm::vec3 interPoint = pathSegments[idx].ray.origin + intersection.t * pathSegments[idx].ray.direction; + normalBuffer[idx] = intersection.surfaceNormal; + zBuffer[idx] = interPoint.z; + // If the material indicates that the object was a light, "light" the ray + if (material.emittance > 0.0f) { + albedoBuffer[idx] = material.color * material.emittance; + } + // Otherwise, do some pseudo-lighting computation. This is actually more + // like what you would expect from shading in a rasterizer like OpenGL. + // TODO: replace this! you should be able to start with basically a one-liner + else { + int texID = intersection.textureId; + glm::vec2 uv = intersection.interUV; + if (texID > -1 && intersection.hasUV == true) + { + Texture tmpTex = textures[texID]; + int i = tmpTex.width * intersection.interUV[0] - 0.5f; + int j = tmpTex.height * intersection.interUV[1] - 0.5f; + int colorIndex = j * tmpTex.width + i + tmpTex.start; + albedoBuffer[idx] = texdata[colorIndex] * material.color; + } + else + { + albedoBuffer[idx] = material.color; + } + } + // If there was no intersection, color the ray black. + // Lots of renderers use 4 channel color, RGBA, where A = alpha, often + // used for opacity, in which case they can indicate "no opacity". + // This can be useful for post-processing and image compositing. + } + else { + + albedoBuffer[idx] = glm::vec3(0.0f); + normalBuffer[idx] = glm::vec3(0.0f, 0.0f, 0.0f); + zBuffer[idx] = -FLT_MAX; + } + } +} + +__global__ void shadeMaterial( + int iter + , int num_paths + , ShadeableIntersection* shadeableIntersections + , PathSegment* pathSegments + , Material* materials + , Texture* textures + , glm::vec3* texdata + , Geom* lightSource + , int lightSrcNumber +) +{ + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < num_paths) + { + ShadeableIntersection intersection = shadeableIntersections[idx]; + if (intersection.t > 0.0f) { // if the intersection exists... + // Set up the RNG + // LOOK: this is how you use thrust's RNG! Please look at + // makeSeededRandomEngine as well. + thrust::default_random_engine rng = makeSeededRandomEngine(iter, idx, 0); + thrust::uniform_real_distribution u01(0, 1); + + glm::vec3 c; + + Material material = materials[intersection.materialId]; + c = material.color; + + + // If the material indicates that the object was a light, "light" the ray + if (material.emittance > 0.0f) { + pathSegments[idx].color *= c * material.emittance; + pathSegments[idx].remainingBounces = 0; + } + // Otherwise, do some pseudo-lighting computation. This is actually more + // like what you would expect from shading in a rasterizer like OpenGL. + // TODO: replace this! you should be able to start with basically a one-liner + else { + pathSegments[idx].color *= u01(rng); // apply some noise because why not*/ + glm::vec3 interPoint = pathSegments[idx].ray.origin + intersection.t * pathSegments[idx].ray.direction; + + int texID = intersection.textureId; + glm::vec2 uv = intersection.interUV; + if (texID > -1 && intersection.hasUV == true) + { + Texture tmpTex = textures[texID]; + int i = tmpTex.width * intersection.interUV[0] - 0.5f; + int j = tmpTex.height * intersection.interUV[1] - 0.5f; + int colorIndex = j * tmpTex.width + i + tmpTex.start; + c = texdata[colorIndex]; + } + material.color = c * material.color; + scatterRay(pathSegments[idx], interPoint, intersection.surfaceNormal, material, rng); +#if DIRECTLIGHTING 1 + if (pathSegments[idx].remainingBounces == 1) + { + thrust::uniform_real_distribution u01(0, 1); + thrust::uniform_real_distribution uLight(0, lightSrcNumber - 1); + glm::vec3 directLightDir = getLightDir(pathSegments[idx].ray.origin, lightSource[uLight(rng)]); + pathSegments[idx].ray.direction = glm::normalize(directLightDir); + } +# endif + if (pathSegments[idx].remainingBounces == 0) + { + pathSegments[idx].color = glm::vec3(0.0f); + } + } + // If there was no intersection, color the ray black. + // Lots of renderers use 4 channel color, RGBA, where A = alpha, often + // used for opacity, in which case they can indicate "no opacity". + // This can be useful for post-processing and image compositing. + } + else { + pathSegments[idx].color = glm::vec3(0.0f); + pathSegments[idx].remainingBounces = 0; + } + } +} + +//Extremely Blur! +__global__ void naiveFilter(int nPaths, glm::vec3* image, glm::vec3* postImage, int width, int height) +{ + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index < nPaths) + { + int radius = 1; + //a 3x3 filter + int y = index / width; + int x = index - width * y; + int xStart = thrust::max(0, x - 1); + int xEnd = thrust::min(x + 1, width - 1); + int yStart = thrust::max(0, y - 1); + int yEnd = thrust::min(y + 1, height - 1); + + float totalWeight = 0.0f; + glm::vec3 weights = glm::vec3(4.0f, 2.0f, 1.0f); + glm::vec3 weightedColor = glm::vec3(0.0f, 0.0f, 0.0f); + for (int i = yStart; i < yEnd + 1; i++) + { + for (int j = xStart; j < xEnd + 1; j++) + { + int diff = abs(i - y) + abs(j - x); + weightedColor += image[i * width + j] * weights[diff]; + totalWeight += weights[diff]; + } + } + postImage[index] = weightedColor / totalWeight; + } +} + +//Extremely Blur and Looks Fake! +__global__ void jointBilateralFilter(int nPaths, glm::vec3* image, glm::vec3* postImage, int width, int height, + glm::vec3* normalBuffer, glm::vec3* albedoBuffer) +{ + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index < nPaths) + { + int radius = 7; + int y = index / width; + int x = index - width * y; + int xStart = thrust::max(0, x - radius); + int xEnd = thrust::min(x + radius, width - 1); + int yStart = thrust::max(0, y - radius); + int yEnd = thrust::min(y + radius, height - 1); + float g = 0; + float totalWeight = 0.0f; + glm::vec3 weightedColor = glm::vec3(0.0f, 0.0f, 0.0f); + for (int i = yStart; i < yEnd + 1; i++) + { + for (int j = xStart; j < xEnd + 1; j++) + { + glm::vec2 indexDiff = (glm::vec2(i, j) - glm::vec2(y, x)) * 0.143f; + glm::vec3 normalDiff = normalBuffer[i * width + j] - normalBuffer[index]; + glm::vec3 albedoDiff = albedoBuffer[i * width + j] - albedoBuffer[index]; + float sqIndex = glm::dot(indexDiff, indexDiff); + float sqNormal = glm::dot(normalDiff, normalDiff); + float sqAlbedo = glm::dot(albedoDiff, albedoDiff); + float weight = exp(-sqIndex / 1.0f - sqNormal / 1.0f - sqAlbedo / 1.0f); + weightedColor += image[i * width + j] * weight; + totalWeight += weight; + } + } + postImage[index] = weightedColor / totalWeight; + } +} + // Add the current iteration's output to the overall image __global__ void finalGather(int nPaths, glm::vec3* image, PathSegment* iterationPaths) { @@ -285,15 +735,16 @@ __global__ void finalGather(int nPaths, glm::vec3* image, PathSegment* iteration } } + /** * Wrapper for the __global__ call that sets up the kernel calls and does a ton * of memory management */ void pathtrace(uchar4* pbo, int frame, int iter) { const int traceDepth = hst_scene->state.traceDepth; + //const int traceDepth = 1; const Camera& cam = hst_scene->state.camera; const int pixelcount = cam.resolution.x * cam.resolution.y; - // 2D block for generating ray from camera const dim3 blockSize2d(8, 8); const dim3 blocksPerGrid2d( @@ -345,25 +796,73 @@ void pathtrace(uchar4* pbo, int frame, int iter) { // Shoot ray into scene, bounce between objects, push shading chunks bool iterationComplete = false; + int tempPaths = num_paths; while (!iterationComplete) { - // clean shading chunks cudaMemset(dev_intersections, 0, pixelcount * sizeof(ShadeableIntersection)); + dim3 numblocksPathSegmentTracing = (tempPaths + blockSize1d - 1) / blockSize1d; + if (iter == 1) + { + computeIntersections << > > ( + depth + , tempPaths + , dev_paths + , dev_geoms + , hst_scene->geoms.size() + , dev_intersections + , dev_offsets + , dev_bboxes + , dev_triangles + , dev_BVHNodes + ); + checkCUDAError("trace one bounce"); + cudaDeviceSynchronize(); + if (depth == 0) + { + //write to cache + cudaMemcpy(dev_cachedintersections, dev_intersections, num_paths * sizeof(ShadeableIntersection), cudaMemcpyDeviceToDevice); + initBufferData << > > ( + tempPaths + , dev_intersections + , dev_paths + , dev_materials + , dev_texes + , dev_textures + , dev_albedoBuffer + , dev_normalBuffer + , dev_zBuffer + ); + } + } + else + { + if (depth == 0) + { + //read from cache + cudaMemcpy(dev_intersections, dev_cachedintersections, num_paths * sizeof(ShadeableIntersection), cudaMemcpyDeviceToDevice); + } + else + { + // tracing + computeIntersections << > > ( + depth + , tempPaths + , dev_paths + , dev_geoms + , hst_scene->geoms.size() + , dev_intersections + , dev_offsets + , dev_bboxes + , dev_triangles + , dev_BVHNodes + ); + checkCUDAError("trace one bounce"); + cudaDeviceSynchronize(); - // tracing - dim3 numblocksPathSegmentTracing = (num_paths + blockSize1d - 1) / blockSize1d; - computeIntersections << > > ( - depth - , num_paths - , dev_paths - , dev_geoms - , hst_scene->geoms.size() - , dev_intersections - ); - checkCUDAError("trace one bounce"); - cudaDeviceSynchronize(); + } + } + thrust::sort_by_key(thrust::device, dev_intersections, dev_intersections + tempPaths, dev_paths); depth++; - // TODO: // --- Shading Stage --- // Shade path segments based on intersections and generate new rays by @@ -373,33 +872,103 @@ void pathtrace(uchar4* pbo, int frame, int iter) { // TODO: compare between directly shading the path segments and shading // path segments that have been reshuffled to be contiguous in memory. - shadeFakeMaterial << > > ( + + shadeMaterial << > > ( iter, - num_paths, + tempPaths, dev_intersections, dev_paths, - dev_materials + dev_materials, + dev_texes, + dev_textures, + dev_lightSources, + lightSrcNumber ); - iterationComplete = true; // TODO: should be based off stream compaction results. + dev_path_end = thrust::stable_partition(thrust::device, dev_paths, dev_paths + num_paths, stay_bouncing()); + std::cout << tempPaths << std::endl; + tempPaths = dev_path_end - dev_paths; + std::cout << tempPaths << std::endl; + iterationComplete = (tempPaths == 0); // TODO: should be based off stream compaction results. if (guiData != NULL) { guiData->TracedDepth = depth; } } - // Assemble this iteration and apply it to the image dim3 numBlocksPixels = (pixelcount + blockSize1d - 1) / blockSize1d; finalGather << > > (num_paths, dev_image, dev_paths); - - /////////////////////////////////////////////////////////////////////////// - - // Send results to OpenGL buffer for rendering +#if DENOISING + int width = cam.resolution.x; + int height = cam.resolution.y; +#if SVGF + jointBilateralFilter << > > (num_paths, dev_image, dev_postImage, width, height, + dev_normalBuffer, dev_albedoBuffer); +#else + naiveFilter << > > (num_paths, dev_image, dev_postImage, width, height); +#endif + std::swap(dev_image, dev_postImage); +#endif sendImageToPBO << > > (pbo, cam.resolution, iter, dev_image); - // Retrieve image from GPU cudaMemcpy(hst_scene->state.image.data(), dev_image, pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToHost); checkCUDAError("pathtrace"); } + +void buildBVHTree(GLTFMesh mesh1, int triCount) +{ + const int blockSize1d = 128; + unsigned int* dev_mortonCodes = NULL; + cudaMalloc(&dev_mortonCodes, triCount * sizeof(unsigned int)); + cudaMemset(dev_mortonCodes, 0, triCount * sizeof(unsigned int)); + unsigned char* dev_ready = NULL; + cudaMalloc(&dev_ready, (triCount * 2 - 1) * sizeof(unsigned char)); + cudaMemset(dev_ready, 0, triCount * sizeof(unsigned char)); + cudaMemset(&dev_ready[triCount - 1], 1, triCount * sizeof(unsigned char)); + + dim3 numblocks = (triCount + blockSize1d - 1) / blockSize1d; + buildLeafMorton << > > (triCount, mesh1.bbmin.x, mesh1.bbmin.y, mesh1.bbmin.z, mesh1.bbmax.x, mesh1.bbmax.y, mesh1.bbmax.z, + dev_triangles, dev_BVHNodes, dev_mortonCodes); + + thrust::stable_sort_by_key(thrust::device, dev_mortonCodes, dev_mortonCodes + triCount, dev_BVHNodes + triCount - 1); + + + //fortest + unsigned int* hstMorton = (unsigned int*)malloc(sizeof(unsigned int) * triCount); + cudaMemcpy(hstMorton, dev_mortonCodes, triCount * sizeof(unsigned int), cudaMemcpyDeviceToHost); + + for (int i = 0; i < 20; i++) + { + cout << std::bitset<30>(hstMorton[i]) << endl; + } + cout << endl; + free(hstMorton); + //fortest + + + buildSplitList << > > (triCount, dev_mortonCodes, dev_BVHNodes); + //the maximum of level is 30 + 32 + //can use atomic operation for further optimization + for (int i = 0; i < triCount; i++) + { + buildBBoxes << > > (triCount, dev_BVHNodes, dev_ready); + } + + //fortest + BVHNode* hstBVHNodes = (BVHNode*)malloc(sizeof(BVHNode) * (triCount * 2 - 1)); + cudaMemcpy(hstBVHNodes, dev_BVHNodes, sizeof(BVHNode) * (triCount * 2 - 1), cudaMemcpyDeviceToHost); + for (int i = 0; i < 200; i++) + { + cout << i << ": " << hstBVHNodes[i].leftIndex << "," << hstBVHNodes[i].rightIndex << " parent:" << hstBVHNodes[i].parent << endl; + cout << i << ": " << hstBVHNodes[i].bbox.max.x << "," << hstBVHNodes[i].bbox.max.y << "," << hstBVHNodes[i].bbox.max.z << endl; + cout << i << ": " << hstBVHNodes[i].bbox.min.x << "," << hstBVHNodes[i].bbox.min.y << "," << hstBVHNodes[i].bbox.min.z << endl; + } + cout << endl; + free(hstBVHNodes); + //fortest + + cudaFree(dev_ready); + cudaFree(dev_mortonCodes); +} \ No newline at end of file diff --git a/src/pathtrace.h b/src/pathtrace.h index e767d0ef..caa5596b 100644 --- a/src/pathtrace.h +++ b/src/pathtrace.h @@ -6,4 +6,6 @@ void InitDataContainer(GuiDataContainer* guiData); void pathtraceInit(Scene *scene); void pathtraceFree(); +void updateBBox(Scene* scene); void pathtrace(uchar4 *pbo, int frame, int iteration); +void buildBVHTree(GLTFMesh mesh1, int triCount); diff --git a/src/scene.cpp b/src/scene.cpp index 3fb6239a..cb8d692a 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -3,14 +3,26 @@ #include #include #include +#include +#include + +#define TINYGLTF_IMPLEMENTATION +#define TINYGLTF_NO_EXTERNAL_IMAGE +#define TINYGLTF_NO_STB_IMAGE +#define TINYGLTF_NO_STB_IMAGE_WRITE + +#include "tinygltf/tiny_gltf.h" + +#define TINYOBJLOADER_IMPLEMENTATION +#include "tiny_obj_loader.h" Scene::Scene(string filename) { - cout << "Reading scene from " << filename << " ..." << endl; - cout << " " << endl; + std::cout << "Reading scene from " << filename << " ..." << std::endl; + std::cout << " " << std::endl; char* fname = (char*)filename.c_str(); fp_in.open(fname); if (!fp_in.is_open()) { - cout << "Error reading from file - aborting!" << endl; + std::cout << "Error reading from file - aborting!" << std::endl; throw; } while (fp_in.good()) { @@ -20,25 +32,328 @@ Scene::Scene(string filename) { vector tokens = utilityCore::tokenizeString(line); if (strcmp(tokens[0].c_str(), "MATERIAL") == 0) { loadMaterial(tokens[1]); - cout << " " << endl; + std::cout << " " << std::endl; + } else if (strcmp(tokens[0].c_str(), "TEXTURE") == 0) { + loadTexture(tokens[1]); + std::cout << " " << std::endl; } else if (strcmp(tokens[0].c_str(), "OBJECT") == 0) { loadGeom(tokens[1]); - cout << " " << endl; + std::cout << " " << std::endl; } else if (strcmp(tokens[0].c_str(), "CAMERA") == 0) { loadCamera(); - cout << " " << endl; + std::cout << " " << std::endl; + } + } + } +} + +bool Scene::loadOBJ(const std::string& filePath, GLTFMesh& gltfMesh) +{ + tinyobj::ObjReaderConfig reader_config; + + tinyobj::ObjReader reader; + + if (!reader.ParseFromFile(filePath, reader_config)) { + if (!reader.Error().empty()) { + std::cerr << "TinyObjReader: " << reader.Error(); + } + exit(1); + } + + if (!reader.Warning().empty()) { + std::cout << "TinyObjReader: " << reader.Warning(); + } + + auto& attrib = reader.GetAttrib(); + auto& shapes = reader.GetShapes(); + auto& materials = reader.GetMaterials(); + float maxX = -FLT_MAX; + float maxY = -FLT_MAX; + float maxZ = -FLT_MAX; + float minX = FLT_MAX; + float minY = FLT_MAX; + float minZ = FLT_MAX; + std::vector tempVertices; + std::vector tempNormals; + std::vector tempUVs; + // Loop over shapes + for (size_t s = 0; s < shapes.size(); s++) { + // Loop over faces(polygon) + size_t index_offset = 0; + + for (size_t f = 0; f < shapes[s].mesh.num_face_vertices.size(); f++) { + size_t fv = size_t(shapes[s].mesh.num_face_vertices[f]); + + // Loop over vertices in the face. + for (size_t v = 0; v < fv; v++) { + glm::vec3 vertex; + glm::vec3 normal; + glm::vec2 uv; + // access to vertex + tinyobj::index_t idx = shapes[s].mesh.indices[index_offset + v]; + tinyobj::real_t vx = attrib.vertices[3 * size_t(idx.vertex_index) + 0]; + tinyobj::real_t vy = attrib.vertices[3 * size_t(idx.vertex_index) + 1]; + tinyobj::real_t vz = attrib.vertices[3 * size_t(idx.vertex_index) + 2]; + + vertex = glm::vec3(vx, vy, vz); + maxX = glm::max(vx, maxX); + maxY = glm::max(vy, maxY); + maxZ = glm::max(vz, maxZ); + minX = glm::min(vx, minX); + minY = glm::min(vy, minY); + minZ = glm::min(vz, minZ); + // Check if `normal_index` is zero or positive. negative = no normal data + if (idx.normal_index >= 0) { + tinyobj::real_t nx = attrib.normals[3 * size_t(idx.normal_index) + 0]; + tinyobj::real_t ny = attrib.normals[3 * size_t(idx.normal_index) + 1]; + tinyobj::real_t nz = attrib.normals[3 * size_t(idx.normal_index) + 2]; + normal = glm::vec3(nx, ny, nz); + } + + // Check if `texcoord_index` is zero or positive. negative = no texcoord data + if (idx.texcoord_index >= 0) { + tinyobj::real_t tx = attrib.texcoords[2 * size_t(idx.texcoord_index) + 0]; + tinyobj::real_t ty = attrib.texcoords[2 * size_t(idx.texcoord_index) + 1]; + // for obj its y should be 1-y + uv = glm::vec2(tx, 1.0f - ty); + } + tempVertices.push_back(vertex); + tempNormals.push_back(normal); + tempUVs.push_back(uv); } + index_offset += fv; + + + + // per-face material + shapes[s].mesh.material_ids[f]; } } + + for (int i = 0; i < tempVertices.size(); i = i + 3) + { + gltfMesh.triangles.push_back(Triangle{ + tempVertices[i], + tempVertices[i + 1], + tempVertices[i + 2], + tempNormals[i], + tempNormals[i + 1], + tempNormals[i + 2], + tempUVs[i], + tempUVs[i + 1], + tempUVs[i + 2], + }); + } + + gltfMesh.bbmin = glm::vec3(minX, minY, minZ); + gltfMesh.bbmax = glm::vec3(maxX, maxY, maxZ); } + +//Assume the scales for the mesh are all uniformed, so that the normal don't need to be changed +bool Scene::loadGLTF(const std::string& filePath, GLTFMesh& gltfMesh, glm::vec3 trans, glm::vec3 scale) +{ + tinygltf::Model model; + tinygltf::TinyGLTF loader; + std::string err; + std::string warn; + + //for glft, not glb + bool ret = loader.LoadASCIIFromFile(&model, &err, &warn, filePath.c_str()); + + if (!warn.empty()) { + std::cout << "glTF parse warning: " << warn << std::endl; + } + + if (!err.empty()) { + std::cerr << "glTF parse error: " << err << std::endl; + } + if (!ret) { + std::cerr << "Failed to load glTF: " << filePath << std::endl; + return false; + } + glm::vec3 tempMin = glm::vec3(FLT_MAX, FLT_MAX, FLT_MAX); + glm::vec3 tempMax = glm::vec3(-FLT_MAX, -FLT_MAX, -FLT_MAX); + //GLFTMesh loadMesh; + for (int i = 0; i < model.meshes.size(); i++) + { + const auto& mesh = model.meshes[i]; + // for each primitives + for (int j = 0; j < mesh.primitives.size(); j++) + { + const auto& primitive = mesh.primitives[j]; + std::vector faceIndex; + std::vector tempVertices; + std::vector tempNormals; + std::vector tempUVs; + //face index + if (primitive.indices >= 0) + { + const auto& indexAccessor = model.accessors[primitive.indices]; + const auto& bufferView = model.bufferViews[indexAccessor.bufferView]; + const auto& buffer = model.buffers[bufferView.buffer]; + const auto indexStart = buffer.data.data() + bufferView.byteOffset + + indexAccessor.byteOffset; + const auto byteStride = indexAccessor.ByteStride(bufferView); + const auto count = indexAccessor.count; + + //const unsigned char* indexPtr = indexStart; + switch (indexAccessor.componentType) + { + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE: + { + const unsigned char* indexPtr = indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT: + { + const unsigned short* indexPtr = (unsigned short*) indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_INT: + { + const unsigned int* indexPtr = (unsigned int*)indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + case TINYGLTF_COMPONENT_TYPE_BYTE: + { + const char* indexPtr = (char*)indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + case TINYGLTF_COMPONENT_TYPE_SHORT: + { + const short* indexPtr = (short*)indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + case TINYGLTF_COMPONENT_TYPE_INT: + { + const int* indexPtr = (int*)indexStart; + for (int ind = 0; ind < count; ind++) + { + faceIndex.push_back((int)indexPtr[ind]); + } + }; break; + } + } + + // only triangle mode is supported + if (primitive.mode == TINYGLTF_MODE_TRIANGLES) + { + //find the right attributes to obtain the mesh information + + + //vertex position + const auto& posInfo = primitive.attributes.find("POSITION"); + const auto& posIndex = (*posInfo).second; + + const auto& posAccessor = model.accessors[posIndex]; + const auto& posBufferView = model.bufferViews[posAccessor.bufferView]; + const auto& posBuffer = model.buffers[posBufferView.buffer]; + const auto& posStart = posBuffer.data.data() + posBufferView.byteOffset + posAccessor.byteOffset; + int byteStride = posAccessor.ByteStride(posBufferView); + int count = posAccessor.count; + + gltfMesh.faceCount = count; + + const unsigned char* posPtr = posStart; + for (int ind = 0; ind < count; ind++) + { + glm::vec3 t = *(reinterpret_cast(posStart + ind * byteStride)); + tempVertices.push_back(glm::vec3(t.x, t.y, t.z)); + tempMax.x = glm::max(t.x, tempMax.x); + tempMax.y = glm::max(t.y, tempMax.y); + tempMax.z = glm::max(t.z, tempMax.z); + tempMin.x = glm::min(t.x, tempMin.x); + tempMin.y = glm::min(t.y, tempMin.y); + tempMin.z = glm::min(t.z, tempMin.z); + } + //normal position + const auto& normalInfo = primitive.attributes.find("NORMAL"); + const auto& normalIndex = (*normalInfo).second; + const auto& normalAccessor = model.accessors[normalIndex]; + const auto& normalBufferView = model.bufferViews[normalAccessor.bufferView]; + const auto& normalBuffer = model.buffers[normalBufferView.buffer]; + const auto& normalStart = normalBuffer.data.data() + normalBufferView.byteOffset + normalAccessor.byteOffset; + byteStride = normalAccessor.ByteStride(normalBufferView); + count = normalAccessor.count; + const unsigned char* ptr = normalStart; + for (int ind = 0; ind < count; ind++) + { + glm::vec3 t = *(reinterpret_cast(normalStart + ind * byteStride)); + tempNormals.push_back(glm::vec3(t.x, t.y, t.z)); + } + + //texture position + const auto& textureInfo = primitive.attributes.find("TEXCOORD_0"); + const auto& textureIndex = (*textureInfo).second; + const auto& textureAccessor = model.accessors[textureIndex]; + const auto& textureBufferView = model.bufferViews[textureAccessor.bufferView]; + const auto& textureBuffer = model.buffers[textureBufferView.buffer]; + const auto& textureStart = textureBuffer.data.data() + textureBufferView.byteOffset + textureAccessor.byteOffset; + byteStride = textureAccessor.ByteStride(textureBufferView); + count = textureAccessor.count; + const unsigned char* texturePtr = textureStart; + for (int ind = 0; ind < count; ++ind) + { + glm::vec2 t = *(reinterpret_cast(textureStart + ind * byteStride)); + //load uv + tempUVs.push_back(glm::vec2(t[0], t[1])); + } + + + for (int i = 0; i < faceIndex.size(); i = i + 3) + { + gltfMesh.triangles.push_back(Triangle{ + tempVertices[faceIndex[i]], + tempVertices[faceIndex[i + 1]], + tempVertices[faceIndex[i + 2]], + tempNormals[faceIndex[i]], + tempNormals[faceIndex[i + 1]], + tempNormals[faceIndex[i + 2]], + tempUVs[faceIndex[i]], + tempUVs[faceIndex[i + 1]], + tempUVs[faceIndex[i + 2]], + }); + } + + } + else + { + std::cout << "Not triangle mode, not supported" << std::endl; + } + } + } + std::cout << gltfMesh.triangles.size() << std::endl; + gltfMesh.bbmax = tempMax; + gltfMesh.bbmin = tempMin; + std::cout << gltfMesh.bbmax.x << "," << gltfMesh.bbmax.y << "," << gltfMesh.bbmax.z << std::endl; + std::cout << gltfMesh.bbmin.x << "," << gltfMesh.bbmin.y << "," << gltfMesh.bbmin.z << std::endl; + return true; +} + + int Scene::loadGeom(string objectid) { int id = atoi(objectid.c_str()); if (id != geoms.size()) { - cout << "ERROR: OBJECT ID does not match expected number of geoms" << endl; + std::cout << "ERROR: OBJECT ID does not match expected number of geoms" << std::endl; return -1; } else { - cout << "Loading Geom " << id << "..." << endl; + std::cout << "Loading Geom " << id << "..." << std::endl; Geom newGeom; string line; @@ -46,12 +361,16 @@ int Scene::loadGeom(string objectid) { utilityCore::safeGetline(fp_in, line); if (!line.empty() && fp_in.good()) { if (strcmp(line.c_str(), "sphere") == 0) { - cout << "Creating new sphere..." << endl; + std::cout << "Creating new sphere..." << std::endl; newGeom.type = SPHERE; } else if (strcmp(line.c_str(), "cube") == 0) { - cout << "Creating new cube..." << endl; + std::cout << "Creating new cube..." << std::endl; newGeom.type = CUBE; } + else if (strcmp(line.c_str(), "mesh") == 0) { + std::cout << "Creating new mesh..." << std::endl; + newGeom.type = MESH; + } } //link material @@ -59,9 +378,19 @@ int Scene::loadGeom(string objectid) { if (!line.empty() && fp_in.good()) { vector tokens = utilityCore::tokenizeString(line); newGeom.materialid = atoi(tokens[1].c_str()); - cout << "Connecting Geom " << objectid << " to Material " << newGeom.materialid << "..." << endl; + std::cout << "Connecting Geom " << objectid << " to Material " << newGeom.materialid << "..." << std::endl; + } + + //link texture + utilityCore::safeGetline(fp_in, line); + if (!line.empty() && fp_in.good()) { + vector tokens = utilityCore::tokenizeString(line); + // if have no texture then texture id would be -1 + newGeom.textureid = atoi(tokens[1].c_str()); + std::cout << "Connecting Geom " << objectid << " to Texture " << newGeom.textureid << "..." << std::endl; } + int meshID = 0; //load transformations utilityCore::safeGetline(fp_in, line); while (!line.empty() && fp_in.good()) { @@ -75,7 +404,36 @@ int Scene::loadGeom(string objectid) { } else if (strcmp(tokens[0].c_str(), "SCALE") == 0) { newGeom.scale = glm::vec3(atof(tokens[1].c_str()), atof(tokens[2].c_str()), atof(tokens[3].c_str())); } - + else if (strcmp(tokens[0].c_str(), "LINK") == 0) { + newGeom.meshid = meshID; + //TODO: read mesh + std::string path = tokens[1].c_str(); + std::vector offs; + std::vector triangles; + glm::vec3 min; + glm::vec3 max; + GLTFMesh mesh1 = { + min, + max, + 0, + offs, + triangles + }; + std::string ext; + if (path.find_last_of(".") != std::string::npos) + ext = path.substr(path.find_last_of(".") + 1); + if (ext.compare("gltf") == 0) { + // assume glTF. + loadGLTF(path, mesh1, newGeom.translation, newGeom.scale); + } + else if(ext.compare("obj") == 0) { + // assume glTF. + loadOBJ(path, mesh1); + } + gltfMeshes.push_back(mesh1); + ++meshID; + } + utilityCore::safeGetline(fp_in, line); } @@ -90,7 +448,7 @@ int Scene::loadGeom(string objectid) { } int Scene::loadCamera() { - cout << "Loading Camera ..." << endl; + std::cout << "Loading Camera ..." << std::endl; RenderState &state = this->state; Camera &camera = state.camera; float fovy; @@ -146,17 +504,100 @@ int Scene::loadCamera() { state.image.resize(arraylen); std::fill(state.image.begin(), state.image.end(), glm::vec3()); - cout << "Loaded camera!" << endl; + std::cout << "Loaded camera!" << std::endl; return 1; } +int Scene::loadTexture(string textureID) { + int id = atoi(textureID.c_str()); + int tmpStart = texData.size(); + int tmpEnd = texData.size(); + + int width = 0; + int height = 0; + int channel = 0; + if (id != textures.size()) { + std::cout << "ERROR: TEXTURE ID does not match expected number of textures" << std::endl; + return -1; + } + else { + std::cout << "Loading Texture " << id << "..." << std::endl; + Texture newTexture; + string line; + utilityCore::safeGetline(fp_in, line); + vector tokens = utilityCore::tokenizeString(line); + const char* texturePath; + texturePath = tokens[1].c_str(); + unsigned char* pixels = stbi_load(texturePath, &width, &height, &channel, 0); + // if there isn't a valid path then return a procedural texture + if (height == 0 || width == 0) + { + cout << "ssssss" << endl; + width = 512; + height = 512; + std::vector randCenter; + for (int ind = 0; ind < 100; ind++) + { + float x = (float)rand() / RAND_MAX; + float y = (float)rand() / RAND_MAX; + randCenter.push_back(glm::vec2(x, y)); + } + for (int i = 0; i < height; i++) + { + for (int j = 0; j < width; j++) + { + float u = j / 512.0f; + float v = i / 512.0f; + float minDistance = FLT_MAX; + for (glm::vec2 rcenter : randCenter) + { + float distance = glm::length(glm::vec2(u, v) - rcenter); + minDistance = std::min(distance, minDistance); + } + texData.push_back(glm::vec3(minDistance * 7.6f, minDistance * 5.6f, minDistance * 3.6f)); + } + } + } + else + { + for (int i = 0; i < width * height - 1; i++) + { + // only accept 3 channels rgb here + if (channel == 3) + { + texData.push_back(glm::vec3((int(pixels[i * 3]) / 255.0f), (int(pixels[i * 3 + 1]) / 255.0f), (int(pixels[i * 3 + 2]) / 255.0f))); + } + else if (channel == 4) + { + texData.push_back(glm::vec3((int(pixels[i * 4]) / 255.0f), (int(pixels[i * 4 + 1]) / 255.0f), (int(pixels[i * 4 + 2]) / 255.0f))); + } + else + { + std::cout << "Please input valid image texture!"; + } + } + } + stbi_image_free(pixels); + + //if start == end, then the texture is invalid + newTexture.height = height; + newTexture.width = width; + newTexture.texID = id; + newTexture.start = tmpStart; + newTexture.end = texData.size(); + + textures.push_back(newTexture); + return 1; + } +} + int Scene::loadMaterial(string materialid) { int id = atoi(materialid.c_str()); if (id != materials.size()) { - cout << "ERROR: MATERIAL ID does not match expected number of materials" << endl; + std::cout << "ERROR: MATERIAL ID does not match expected number of materials" << std::endl; return -1; } else { - cout << "Loading Material " << id << "..." << endl; + std::cout << "Loading Material " << id << "..." << std::endl; Material newMaterial; //load static properties @@ -185,4 +626,5 @@ int Scene::loadMaterial(string materialid) { materials.push_back(newMaterial); return 1; } + } diff --git a/src/scene.h b/src/scene.h index f29a9171..6f1ac7b6 100644 --- a/src/scene.h +++ b/src/scene.h @@ -14,13 +14,19 @@ class Scene { private: ifstream fp_in; int loadMaterial(string materialid); + int loadTexture(string textureid); int loadGeom(string objectid); int loadCamera(); + bool loadGLTF(const std::string& filePath, GLTFMesh& gltfMesh, glm::vec3 trans, glm::vec3 scale); + bool loadOBJ(const std::string& filePath, GLTFMesh& gltfMesh); public: Scene(string filename); ~Scene(); + std::vector gltfMeshes; std::vector geoms; std::vector materials; + std::vector textures; + std::vector texData; RenderState state; }; diff --git a/src/sceneStructs.h b/src/sceneStructs.h index da4dbf30..dac23aef 100644 --- a/src/sceneStructs.h +++ b/src/sceneStructs.h @@ -10,6 +10,7 @@ enum GeomType { SPHERE, CUBE, + MESH }; struct Ray { @@ -20,6 +21,8 @@ struct Ray { struct Geom { enum GeomType type; int materialid; + int meshid; + int textureid; glm::vec3 translation; glm::vec3 rotation; glm::vec3 scale; @@ -28,6 +31,42 @@ struct Geom { glm::mat4 invTranspose; }; +struct Texture { + int texID; + int width; + int height; + int start; + int end; +}; + +struct Triangle { + glm::vec3 v1; + glm::vec3 v2; + glm::vec3 v3; + + glm::vec3 n1; + glm::vec3 n2; + glm::vec3 n3; + + glm::vec2 uv1; + glm::vec2 uv2; + glm::vec2 uv3; +}; + +struct GLTFMesh { + //int materialid; + glm::vec3 bbmin; + glm::vec3 bbmax; + int faceCount; + std::vector faceIndex; + std::vector triangles; +}; + +struct AABB { + glm::vec3 min; + glm::vec3 max; +}; + struct Material { glm::vec3 color; struct { @@ -62,6 +101,7 @@ struct RenderState { struct PathSegment { Ray ray; glm::vec3 color; + glm::vec3 currentNormal; int pixelIndex; int remainingBounces; }; @@ -72,5 +112,19 @@ struct PathSegment { struct ShadeableIntersection { float t; glm::vec3 surfaceNormal; + glm::vec3 sourceNormal; + glm::vec2 interUV; + bool hasUV; int materialId; + int textureId; +}; + + +struct BVHNode { + AABB bbox; + int isLeaf; + int leftIndex; + int rightIndex; + int parent; + int triangleIndex; }; diff --git a/src/tiny_obj_loader.h b/src/tiny_obj_loader.h new file mode 100644 index 00000000..28d5d849 --- /dev/null +++ b/src/tiny_obj_loader.h @@ -0,0 +1,3459 @@ +/* +The MIT License (MIT) + +Copyright (c) 2012-Present, Syoyo Fujita and many contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +// +// version 2.0.0 : Add new object oriented API. 1.x API is still provided. +// * Support line primitive. +// * Support points primitive. +// * Support multiple search path for .mtl(v1 API). +// * Support vertex weight `vw`(as an tinyobj extension) +// * Support escaped whitespece in mtllib +// * Add robust triangulation using Mapbox earcut(TINYOBJLOADER_USE_MAPBOX_EARCUT). +// version 1.4.0 : Modifed ParseTextureNameAndOption API +// version 1.3.1 : Make ParseTextureNameAndOption API public +// version 1.3.0 : Separate warning and error message(breaking API of LoadObj) +// version 1.2.3 : Added color space extension('-colorspace') to tex opts. +// version 1.2.2 : Parse multiple group names. +// version 1.2.1 : Added initial support for line('l') primitive(PR #178) +// version 1.2.0 : Hardened implementation(#175) +// version 1.1.1 : Support smoothing groups(#162) +// version 1.1.0 : Support parsing vertex color(#144) +// version 1.0.8 : Fix parsing `g` tag just after `usemtl`(#138) +// version 1.0.7 : Support multiple tex options(#126) +// version 1.0.6 : Add TINYOBJLOADER_USE_DOUBLE option(#124) +// version 1.0.5 : Ignore `Tr` when `d` exists in MTL(#43) +// version 1.0.4 : Support multiple filenames for 'mtllib'(#112) +// version 1.0.3 : Support parsing texture options(#85) +// version 1.0.2 : Improve parsing speed by about a factor of 2 for large +// files(#105) +// version 1.0.1 : Fixes a shape is lost if obj ends with a 'usemtl'(#104) +// version 1.0.0 : Change data structure. Change license from BSD to MIT. +// + +// +// Use this in *one* .cc +// #define TINYOBJLOADER_IMPLEMENTATION +// #include "tiny_obj_loader.h" +// + +#ifndef TINY_OBJ_LOADER_H_ +#define TINY_OBJ_LOADER_H_ + +#include +#include +#include + +namespace tinyobj { + +// TODO(syoyo): Better C++11 detection for older compiler +#if __cplusplus > 199711L +#define TINYOBJ_OVERRIDE override +#else +#define TINYOBJ_OVERRIDE +#endif + +#ifdef __clang__ +#pragma clang diagnostic push +#if __has_warning("-Wzero-as-null-pointer-constant") +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#endif + +#pragma clang diagnostic ignored "-Wpadded" + +#endif + +// https://en.wikipedia.org/wiki/Wavefront_.obj_file says ... +// +// -blendu on | off # set horizontal texture blending +// (default on) +// -blendv on | off # set vertical texture blending +// (default on) +// -boost real_value # boost mip-map sharpness +// -mm base_value gain_value # modify texture map values (default +// 0 1) +// # base_value = brightness, +// gain_value = contrast +// -o u [v [w]] # Origin offset (default +// 0 0 0) +// -s u [v [w]] # Scale (default +// 1 1 1) +// -t u [v [w]] # Turbulence (default +// 0 0 0) +// -texres resolution # texture resolution to create +// -clamp on | off # only render texels in the clamped +// 0-1 range (default off) +// # When unclamped, textures are +// repeated across a surface, +// # when clamped, only texels which +// fall within the 0-1 +// # range are rendered. +// -bm mult_value # bump multiplier (for bump maps +// only) +// +// -imfchan r | g | b | m | l | z # specifies which channel of the file +// is used to +// # create a scalar or bump texture. +// r:red, g:green, +// # b:blue, m:matte, l:luminance, +// z:z-depth.. +// # (the default for bump is 'l' and +// for decal is 'm') +// bump -imfchan r bumpmap.tga # says to use the red channel of +// bumpmap.tga as the bumpmap +// +// For reflection maps... +// +// -type sphere # specifies a sphere for a "refl" +// reflection map +// -type cube_top | cube_bottom | # when using a cube map, the texture +// file for each +// cube_front | cube_back | # side of the cube is specified +// separately +// cube_left | cube_right +// +// TinyObjLoader extension. +// +// -colorspace SPACE # Color space of the texture. e.g. +// 'sRGB` or 'linear' +// + +#ifdef TINYOBJLOADER_USE_DOUBLE +//#pragma message "using double" +typedef double real_t; +#else +//#pragma message "using float" +typedef float real_t; +#endif + +typedef enum { + TEXTURE_TYPE_NONE, // default + TEXTURE_TYPE_SPHERE, + TEXTURE_TYPE_CUBE_TOP, + TEXTURE_TYPE_CUBE_BOTTOM, + TEXTURE_TYPE_CUBE_FRONT, + TEXTURE_TYPE_CUBE_BACK, + TEXTURE_TYPE_CUBE_LEFT, + TEXTURE_TYPE_CUBE_RIGHT +} texture_type_t; + +struct texture_option_t { + texture_type_t type; // -type (default TEXTURE_TYPE_NONE) + real_t sharpness; // -boost (default 1.0?) + real_t brightness; // base_value in -mm option (default 0) + real_t contrast; // gain_value in -mm option (default 1) + real_t origin_offset[3]; // -o u [v [w]] (default 0 0 0) + real_t scale[3]; // -s u [v [w]] (default 1 1 1) + real_t turbulence[3]; // -t u [v [w]] (default 0 0 0) + int texture_resolution; // -texres resolution (No default value in the spec. + // We'll use -1) + bool clamp; // -clamp (default false) + char imfchan; // -imfchan (the default for bump is 'l' and for decal is 'm') + bool blendu; // -blendu (default on) + bool blendv; // -blendv (default on) + real_t bump_multiplier; // -bm (for bump maps only, default 1.0) + + // extension + std::string colorspace; // Explicitly specify color space of stored texel + // value. Usually `sRGB` or `linear` (default empty). +}; + +struct material_t { + std::string name; + + real_t ambient[3]; + real_t diffuse[3]; + real_t specular[3]; + real_t transmittance[3]; + real_t emission[3]; + real_t shininess; + real_t ior; // index of refraction + real_t dissolve; // 1 == opaque; 0 == fully transparent + // illumination model (see http://www.fileformat.info/format/material/) + int illum; + + int dummy; // Suppress padding warning. + + std::string ambient_texname; // map_Ka. For ambient or ambient occlusion. + std::string diffuse_texname; // map_Kd + std::string specular_texname; // map_Ks + std::string specular_highlight_texname; // map_Ns + std::string bump_texname; // map_bump, map_Bump, bump + std::string displacement_texname; // disp + std::string alpha_texname; // map_d + std::string reflection_texname; // refl + + texture_option_t ambient_texopt; + texture_option_t diffuse_texopt; + texture_option_t specular_texopt; + texture_option_t specular_highlight_texopt; + texture_option_t bump_texopt; + texture_option_t displacement_texopt; + texture_option_t alpha_texopt; + texture_option_t reflection_texopt; + + // PBR extension + // http://exocortex.com/blog/extending_wavefront_mtl_to_support_pbr + real_t roughness; // [0, 1] default 0 + real_t metallic; // [0, 1] default 0 + real_t sheen; // [0, 1] default 0 + real_t clearcoat_thickness; // [0, 1] default 0 + real_t clearcoat_roughness; // [0, 1] default 0 + real_t anisotropy; // aniso. [0, 1] default 0 + real_t anisotropy_rotation; // anisor. [0, 1] default 0 + real_t pad0; + std::string roughness_texname; // map_Pr + std::string metallic_texname; // map_Pm + std::string sheen_texname; // map_Ps + std::string emissive_texname; // map_Ke + std::string normal_texname; // norm. For normal mapping. + + texture_option_t roughness_texopt; + texture_option_t metallic_texopt; + texture_option_t sheen_texopt; + texture_option_t emissive_texopt; + texture_option_t normal_texopt; + + int pad2; + + std::map unknown_parameter; + +#ifdef TINY_OBJ_LOADER_PYTHON_BINDING + // For pybind11 + std::array GetDiffuse() { + std::array values; + values[0] = double(diffuse[0]); + values[1] = double(diffuse[1]); + values[2] = double(diffuse[2]); + + return values; + } + + std::array GetSpecular() { + std::array values; + values[0] = double(specular[0]); + values[1] = double(specular[1]); + values[2] = double(specular[2]); + + return values; + } + + std::array GetTransmittance() { + std::array values; + values[0] = double(transmittance[0]); + values[1] = double(transmittance[1]); + values[2] = double(transmittance[2]); + + return values; + } + + std::array GetEmission() { + std::array values; + values[0] = double(emission[0]); + values[1] = double(emission[1]); + values[2] = double(emission[2]); + + return values; + } + + std::array GetAmbient() { + std::array values; + values[0] = double(ambient[0]); + values[1] = double(ambient[1]); + values[2] = double(ambient[2]); + + return values; + } + + void SetDiffuse(std::array &a) { + diffuse[0] = real_t(a[0]); + diffuse[1] = real_t(a[1]); + diffuse[2] = real_t(a[2]); + } + + void SetAmbient(std::array &a) { + ambient[0] = real_t(a[0]); + ambient[1] = real_t(a[1]); + ambient[2] = real_t(a[2]); + } + + void SetSpecular(std::array &a) { + specular[0] = real_t(a[0]); + specular[1] = real_t(a[1]); + specular[2] = real_t(a[2]); + } + + void SetTransmittance(std::array &a) { + transmittance[0] = real_t(a[0]); + transmittance[1] = real_t(a[1]); + transmittance[2] = real_t(a[2]); + } + + std::string GetCustomParameter(const std::string &key) { + std::map::const_iterator it = + unknown_parameter.find(key); + + if (it != unknown_parameter.end()) { + return it->second; + } + return std::string(); + } + +#endif +}; + +struct tag_t { + std::string name; + + std::vector intValues; + std::vector floatValues; + std::vector stringValues; +}; + +struct joint_and_weight_t { + int joint_id; + real_t weight; +}; + +struct skin_weight_t { + int vertex_id; // Corresponding vertex index in `attrib_t::vertices`. + // Compared to `index_t`, this index must be positive and + // start with 0(does not allow relative indexing) + std::vector weightValues; +}; + +// Index struct to support different indices for vtx/normal/texcoord. +// -1 means not used. +struct index_t { + int vertex_index; + int normal_index; + int texcoord_index; +}; + +struct mesh_t { + std::vector indices; + std::vector + num_face_vertices; // The number of vertices per + // face. 3 = triangle, 4 = quad, + // ... Up to 255 vertices per face. + std::vector material_ids; // per-face material ID + std::vector smoothing_group_ids; // per-face smoothing group + // ID(0 = off. positive value + // = group id) + std::vector tags; // SubD tag +}; + +// struct path_t { +// std::vector indices; // pairs of indices for lines +//}; + +struct lines_t { + // Linear flattened indices. + std::vector indices; // indices for vertices(poly lines) + std::vector num_line_vertices; // The number of vertices per line. +}; + +struct points_t { + std::vector indices; // indices for points +}; + +struct shape_t { + std::string name; + mesh_t mesh; + lines_t lines; + points_t points; +}; + +// Vertex attributes +struct attrib_t { + std::vector vertices; // 'v'(xyz) + + // For backward compatibility, we store vertex weight in separate array. + std::vector vertex_weights; // 'v'(w) + std::vector normals; // 'vn' + std::vector texcoords; // 'vt'(uv) + + // For backward compatibility, we store texture coordinate 'w' in separate + // array. + std::vector texcoord_ws; // 'vt'(w) + std::vector colors; // extension: vertex colors + + // + // TinyObj extension. + // + + // NOTE(syoyo): array index is based on the appearance order. + // To get a corresponding skin weight for a specific vertex id `vid`, + // Need to reconstruct a look up table: `skin_weight_t::vertex_id` == `vid` + // (e.g. using std::map, std::unordered_map) + std::vector skin_weights; + + attrib_t() {} + + // + // For pybind11 + // + const std::vector &GetVertices() const { return vertices; } + + const std::vector &GetVertexWeights() const { return vertex_weights; } +}; + +struct callback_t { + // W is optional and set to 1 if there is no `w` item in `v` line + void (*vertex_cb)(void *user_data, real_t x, real_t y, real_t z, real_t w); + void (*vertex_color_cb)(void *user_data, real_t x, real_t y, real_t z, + real_t r, real_t g, real_t b, bool has_color); + void (*normal_cb)(void *user_data, real_t x, real_t y, real_t z); + + // y and z are optional and set to 0 if there is no `y` and/or `z` item(s) in + // `vt` line. + void (*texcoord_cb)(void *user_data, real_t x, real_t y, real_t z); + + // called per 'f' line. num_indices is the number of face indices(e.g. 3 for + // triangle, 4 for quad) + // 0 will be passed for undefined index in index_t members. + void (*index_cb)(void *user_data, index_t *indices, int num_indices); + // `name` material name, `material_id` = the array index of material_t[]. -1 + // if + // a material not found in .mtl + void (*usemtl_cb)(void *user_data, const char *name, int material_id); + // `materials` = parsed material data. + void (*mtllib_cb)(void *user_data, const material_t *materials, + int num_materials); + // There may be multiple group names + void (*group_cb)(void *user_data, const char **names, int num_names); + void (*object_cb)(void *user_data, const char *name); + + callback_t() + : vertex_cb(NULL), + vertex_color_cb(NULL), + normal_cb(NULL), + texcoord_cb(NULL), + index_cb(NULL), + usemtl_cb(NULL), + mtllib_cb(NULL), + group_cb(NULL), + object_cb(NULL) {} +}; + +class MaterialReader { + public: + MaterialReader() {} + virtual ~MaterialReader(); + + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) = 0; +}; + +/// +/// Read .mtl from a file. +/// +class MaterialFileReader : public MaterialReader { + public: + // Path could contain separator(';' in Windows, ':' in Posix) + explicit MaterialFileReader(const std::string &mtl_basedir) + : m_mtlBaseDir(mtl_basedir) {} + virtual ~MaterialFileReader() TINYOBJ_OVERRIDE {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) TINYOBJ_OVERRIDE; + + private: + std::string m_mtlBaseDir; +}; + +/// +/// Read .mtl from a stream. +/// +class MaterialStreamReader : public MaterialReader { + public: + explicit MaterialStreamReader(std::istream &inStream) + : m_inStream(inStream) {} + virtual ~MaterialStreamReader() TINYOBJ_OVERRIDE {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) TINYOBJ_OVERRIDE; + + private: + std::istream &m_inStream; +}; + +// v2 API +struct ObjReaderConfig { + bool triangulate; // triangulate polygon? + + // Currently not used. + // "simple" or empty: Create triangle fan + // "earcut": Use the algorithm based on Ear clipping + std::string triangulation_method; + + /// Parse vertex color. + /// If vertex color is not present, its filled with default value. + /// false = no vertex color + /// This will increase memory of parsed .obj + bool vertex_color; + + /// + /// Search path to .mtl file. + /// Default = "" = search from the same directory of .obj file. + /// Valid only when loading .obj from a file. + /// + std::string mtl_search_path; + + ObjReaderConfig() + : triangulate(true), triangulation_method("simple"), vertex_color(true) {} +}; + +/// +/// Wavefront .obj reader class(v2 API) +/// +class ObjReader { + public: + ObjReader() : valid_(false) {} + + /// + /// Load .obj and .mtl from a file. + /// + /// @param[in] filename wavefront .obj filename + /// @param[in] config Reader configuration + /// + bool ParseFromFile(const std::string &filename, + const ObjReaderConfig &config = ObjReaderConfig()); + + /// + /// Parse .obj from a text string. + /// Need to supply .mtl text string by `mtl_text`. + /// This function ignores `mtllib` line in .obj text. + /// + /// @param[in] obj_text wavefront .obj filename + /// @param[in] mtl_text wavefront .mtl filename + /// @param[in] config Reader configuration + /// + bool ParseFromString(const std::string &obj_text, const std::string &mtl_text, + const ObjReaderConfig &config = ObjReaderConfig()); + + /// + /// .obj was loaded or parsed correctly. + /// + bool Valid() const { return valid_; } + + const attrib_t &GetAttrib() const { return attrib_; } + + const std::vector &GetShapes() const { return shapes_; } + + const std::vector &GetMaterials() const { return materials_; } + + /// + /// Warning message(may be filled after `Load` or `Parse`) + /// + const std::string &Warning() const { return warning_; } + + /// + /// Error message(filled when `Load` or `Parse` failed) + /// + const std::string &Error() const { return error_; } + + private: + bool valid_; + + attrib_t attrib_; + std::vector shapes_; + std::vector materials_; + + std::string warning_; + std::string error_; +}; + +/// ==>>========= Legacy v1 API ============================================= + +/// Loads .obj from a file. +/// 'attrib', 'shapes' and 'materials' will be filled with parsed shape data +/// 'shapes' will be filled with parsed shape data +/// Returns true when loading .obj become success. +/// Returns warning message into `warn`, and error message into `err` +/// 'mtl_basedir' is optional, and used for base directory for .mtl file. +/// In default(`NULL'), .mtl file is searched from an application's working +/// directory. +/// 'triangulate' is optional, and used whether triangulate polygon face in .obj +/// or not. +/// Option 'default_vcols_fallback' specifies whether vertex colors should +/// always be defined, even if no colors are given (fallback to white). +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, const char *filename, + const char *mtl_basedir = NULL, bool triangulate = true, + bool default_vcols_fallback = true); + +/// Loads .obj from a file with custom user callback. +/// .mtl is loaded as usual and parsed material_t data will be passed to +/// `callback.mtllib_cb`. +/// Returns true when loading .obj/.mtl become success. +/// Returns warning message into `warn`, and error message into `err` +/// See `examples/callback_api/` for how to use this function. +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data = NULL, + MaterialReader *readMatFn = NULL, + std::string *warn = NULL, std::string *err = NULL); + +/// Loads object from a std::istream, uses `readMatFn` to retrieve +/// std::istream for materials. +/// Returns true when loading .obj become success. +/// Returns warning and error message into `err` +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, std::istream *inStream, + MaterialReader *readMatFn = NULL, bool triangulate = true, + bool default_vcols_fallback = true); + +/// Loads materials into std::map +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream, + std::string *warning, std::string *err); + +/// +/// Parse texture name and texture option for custom texture parameter through +/// material::unknown_parameter +/// +/// @param[out] texname Parsed texture name +/// @param[out] texopt Parsed texopt +/// @param[in] linebuf Input string +/// +bool ParseTextureNameAndOption(std::string *texname, texture_option_t *texopt, + const char *linebuf); + +/// =<<========== Legacy v1 API ============================================= + +} // namespace tinyobj + +#endif // TINY_OBJ_LOADER_H_ + +#ifdef TINYOBJLOADER_IMPLEMENTATION +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef TINYOBJLOADER_USE_MAPBOX_EARCUT + +#ifdef TINYOBJLOADER_DONOT_INCLUDE_MAPBOX_EARCUT +// Assume earcut.hpp is included outside of tiny_obj_loader.h +#else + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Weverything" +#endif + +#include +#include "mapbox/earcut.hpp" + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#endif + +#endif // TINYOBJLOADER_USE_MAPBOX_EARCUT + +namespace tinyobj { + +MaterialReader::~MaterialReader() {} + +struct vertex_index_t { + int v_idx, vt_idx, vn_idx; + vertex_index_t() : v_idx(-1), vt_idx(-1), vn_idx(-1) {} + explicit vertex_index_t(int idx) : v_idx(idx), vt_idx(idx), vn_idx(idx) {} + vertex_index_t(int vidx, int vtidx, int vnidx) + : v_idx(vidx), vt_idx(vtidx), vn_idx(vnidx) {} +}; + +// Internal data structure for face representation +// index + smoothing group. +struct face_t { + unsigned int + smoothing_group_id; // smoothing group id. 0 = smoothing groupd is off. + int pad_; + std::vector vertex_indices; // face vertex indices. + + face_t() : smoothing_group_id(0), pad_(0) {} +}; + +// Internal data structure for line representation +struct __line_t { + // l v1/vt1 v2/vt2 ... + // In the specification, line primitrive does not have normal index, but + // TinyObjLoader allow it + std::vector vertex_indices; +}; + +// Internal data structure for points representation +struct __points_t { + // p v1 v2 ... + // In the specification, point primitrive does not have normal index and + // texture coord index, but TinyObjLoader allow it. + std::vector vertex_indices; +}; + +struct tag_sizes { + tag_sizes() : num_ints(0), num_reals(0), num_strings(0) {} + int num_ints; + int num_reals; + int num_strings; +}; + +struct obj_shape { + std::vector v; + std::vector vn; + std::vector vt; +}; + +// +// Manages group of primitives(face, line, points, ...) +struct PrimGroup { + std::vector faceGroup; + std::vector<__line_t> lineGroup; + std::vector<__points_t> pointsGroup; + + void clear() { + faceGroup.clear(); + lineGroup.clear(); + pointsGroup.clear(); + } + + bool IsEmpty() const { + return faceGroup.empty() && lineGroup.empty() && pointsGroup.empty(); + } + + // TODO(syoyo): bspline, surface, ... +}; + +// See +// http://stackoverflow.com/questions/6089231/getting-std-ifstream-to-handle-lf-cr-and-crlf +static std::istream &safeGetline(std::istream &is, std::string &t) { + t.clear(); + + // The characters in the stream are read one-by-one using a std::streambuf. + // That is faster than reading them one-by-one using the std::istream. + // Code that uses streambuf this way must be guarded by a sentry object. + // The sentry object performs various tasks, + // such as thread synchronization and updating the stream state. + + std::istream::sentry se(is, true); + std::streambuf *sb = is.rdbuf(); + + if (se) { + for (;;) { + int c = sb->sbumpc(); + switch (c) { + case '\n': + return is; + case '\r': + if (sb->sgetc() == '\n') sb->sbumpc(); + return is; + case EOF: + // Also handle the case when the last line has no line ending + if (t.empty()) is.setstate(std::ios::eofbit); + return is; + default: + t += static_cast(c); + } + } + } + + return is; +} + +#define IS_SPACE(x) (((x) == ' ') || ((x) == '\t')) +#define IS_DIGIT(x) \ + (static_cast((x) - '0') < static_cast(10)) +#define IS_NEW_LINE(x) (((x) == '\r') || ((x) == '\n') || ((x) == '\0')) + +template +static inline std::string toString(const T &t) { + std::stringstream ss; + ss << t; + return ss.str(); +} + +struct warning_context +{ + std::string *warn; + size_t line_number; +}; + +// Make index zero-base, and also support relative index. +static inline bool fixIndex(int idx, int n, int *ret, bool allow_zero, const warning_context &context) { + if (!ret) { + return false; + } + + if (idx > 0) { + (*ret) = idx - 1; + return true; + } + + if (idx == 0) { + // zero is not allowed according to the spec. + if (context.warn) { + (*context.warn) += "A zero value index found (will have a value of -1 for normal and tex indices. Line " + + toString(context.line_number) + ").\n"; + } + + (*ret) = idx - 1; + return allow_zero; + } + + if (idx < 0) { + (*ret) = n + idx; // negative value = relative + if((*ret) < 0){ + return false; // invalid relative index + } + return true; + } + + return false; // never reach here. +} + +static inline std::string parseString(const char **token) { + std::string s; + (*token) += strspn((*token), " \t"); + size_t e = strcspn((*token), " \t\r"); + s = std::string((*token), &(*token)[e]); + (*token) += e; + return s; +} + +static inline int parseInt(const char **token) { + (*token) += strspn((*token), " \t"); + int i = atoi((*token)); + (*token) += strcspn((*token), " \t\r"); + return i; +} + +// Tries to parse a floating point number located at s. +// +// s_end should be a location in the string where reading should absolutely +// stop. For example at the end of the string, to prevent buffer overflows. +// +// Parses the following EBNF grammar: +// sign = "+" | "-" ; +// END = ? anything not in digit ? +// digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; +// integer = [sign] , digit , {digit} ; +// decimal = integer , ["." , integer] ; +// float = ( decimal , END ) | ( decimal , ("E" | "e") , integer , END ) ; +// +// Valid strings are for example: +// -0 +3.1417e+2 -0.0E-3 1.0324 -1.41 11e2 +// +// If the parsing is a success, result is set to the parsed value and true +// is returned. +// +// The function is greedy and will parse until any of the following happens: +// - a non-conforming character is encountered. +// - s_end is reached. +// +// The following situations triggers a failure: +// - s >= s_end. +// - parse failure. +// +static bool tryParseDouble(const char *s, const char *s_end, double *result) { + if (s >= s_end) { + return false; + } + + double mantissa = 0.0; + // This exponent is base 2 rather than 10. + // However the exponent we parse is supposed to be one of ten, + // thus we must take care to convert the exponent/and or the + // mantissa to a * 2^E, where a is the mantissa and E is the + // exponent. + // To get the final double we will use ldexp, it requires the + // exponent to be in base 2. + int exponent = 0; + + // NOTE: THESE MUST BE DECLARED HERE SINCE WE ARE NOT ALLOWED + // TO JUMP OVER DEFINITIONS. + char sign = '+'; + char exp_sign = '+'; + char const *curr = s; + + // How many characters were read in a loop. + int read = 0; + // Tells whether a loop terminated due to reaching s_end. + bool end_not_reached = false; + bool leading_decimal_dots = false; + + /* + BEGIN PARSING. + */ + + // Find out what sign we've got. + if (*curr == '+' || *curr == '-') { + sign = *curr; + curr++; + if ((curr != s_end) && (*curr == '.')) { + // accept. Somethig like `.7e+2`, `-.5234` + leading_decimal_dots = true; + } + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else if (*curr == '.') { + // accept. Somethig like `.7e+2`, `-.5234` + leading_decimal_dots = true; + } else { + goto fail; + } + + // Read the integer part. + end_not_reached = (curr != s_end); + if (!leading_decimal_dots) { + while (end_not_reached && IS_DIGIT(*curr)) { + mantissa *= 10; + mantissa += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + + // We must make sure we actually got something. + if (read == 0) goto fail; + } + + // We allow numbers of form "#", "###" etc. + if (!end_not_reached) goto assemble; + + // Read the decimal part. + if (*curr == '.') { + curr++; + read = 1; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + static const double pow_lut[] = { + 1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, + }; + const int lut_entries = sizeof pow_lut / sizeof pow_lut[0]; + + // NOTE: Don't use powf here, it will absolutely murder precision. + mantissa += static_cast(*curr - 0x30) * + (read < lut_entries ? pow_lut[read] : std::pow(10.0, -read)); + read++; + curr++; + end_not_reached = (curr != s_end); + } + } else if (*curr == 'e' || *curr == 'E') { + } else { + goto assemble; + } + + if (!end_not_reached) goto assemble; + + // Read the exponent part. + if (*curr == 'e' || *curr == 'E') { + curr++; + // Figure out if a sign is present and if it is. + end_not_reached = (curr != s_end); + if (end_not_reached && (*curr == '+' || *curr == '-')) { + exp_sign = *curr; + curr++; + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else { + // Empty E is not allowed. + goto fail; + } + + read = 0; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + // To avoid annoying MSVC's min/max macro definiton, + // Use hardcoded int max value + if (exponent > (2147483647/10)) { // 2147483647 = std::numeric_limits::max() + // Integer overflow + goto fail; + } + exponent *= 10; + exponent += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + exponent *= (exp_sign == '+' ? 1 : -1); + if (read == 0) goto fail; + } + +assemble: + *result = (sign == '+' ? 1 : -1) * + (exponent ? std::ldexp(mantissa * std::pow(5.0, exponent), exponent) + : mantissa); + return true; +fail: + return false; +} + +static inline real_t parseReal(const char **token, double default_value = 0.0) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + double val = default_value; + tryParseDouble((*token), end, &val); + real_t f = static_cast(val); + (*token) = end; + return f; +} + +static inline bool parseReal(const char **token, real_t *out) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + double val; + bool ret = tryParseDouble((*token), end, &val); + if (ret) { + real_t f = static_cast(val); + (*out) = f; + } + (*token) = end; + return ret; +} + +static inline void parseReal2(real_t *x, real_t *y, const char **token, + const double default_x = 0.0, + const double default_y = 0.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); +} + +static inline void parseReal3(real_t *x, real_t *y, real_t *z, + const char **token, const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); +} + +static inline void parseV(real_t *x, real_t *y, real_t *z, real_t *w, + const char **token, const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0, + const double default_w = 1.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); + (*w) = parseReal(token, default_w); +} + +// Extension: parse vertex with colors(6 items) +static inline bool parseVertexWithColor(real_t *x, real_t *y, real_t *z, + real_t *r, real_t *g, real_t *b, + const char **token, + const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); + + const bool found_color = + parseReal(token, r) && parseReal(token, g) && parseReal(token, b); + + if (!found_color) { + (*r) = (*g) = (*b) = 1.0; + } + + return found_color; +} + +static inline bool parseOnOff(const char **token, bool default_value = true) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + + bool ret = default_value; + if ((0 == strncmp((*token), "on", 2))) { + ret = true; + } else if ((0 == strncmp((*token), "off", 3))) { + ret = false; + } + + (*token) = end; + return ret; +} + +static inline texture_type_t parseTextureType( + const char **token, texture_type_t default_value = TEXTURE_TYPE_NONE) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + texture_type_t ty = default_value; + + if ((0 == strncmp((*token), "cube_top", strlen("cube_top")))) { + ty = TEXTURE_TYPE_CUBE_TOP; + } else if ((0 == strncmp((*token), "cube_bottom", strlen("cube_bottom")))) { + ty = TEXTURE_TYPE_CUBE_BOTTOM; + } else if ((0 == strncmp((*token), "cube_left", strlen("cube_left")))) { + ty = TEXTURE_TYPE_CUBE_LEFT; + } else if ((0 == strncmp((*token), "cube_right", strlen("cube_right")))) { + ty = TEXTURE_TYPE_CUBE_RIGHT; + } else if ((0 == strncmp((*token), "cube_front", strlen("cube_front")))) { + ty = TEXTURE_TYPE_CUBE_FRONT; + } else if ((0 == strncmp((*token), "cube_back", strlen("cube_back")))) { + ty = TEXTURE_TYPE_CUBE_BACK; + } else if ((0 == strncmp((*token), "sphere", strlen("sphere")))) { + ty = TEXTURE_TYPE_SPHERE; + } + + (*token) = end; + return ty; +} + +static tag_sizes parseTagTriple(const char **token) { + tag_sizes ts; + + (*token) += strspn((*token), " \t"); + ts.num_ints = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + + (*token)++; // Skip '/' + + (*token) += strspn((*token), " \t"); + ts.num_reals = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + (*token)++; // Skip '/' + + ts.num_strings = parseInt(token); + + return ts; +} + +// Parse triples with index offsets: i, i/j/k, i//k, i/j +static bool parseTriple(const char **token, int vsize, int vnsize, int vtsize, + vertex_index_t *ret, const warning_context &context) { + if (!ret) { + return false; + } + + vertex_index_t vi(-1); + + if (!fixIndex(atoi((*token)), vsize, &vi.v_idx, false, context)) { + return false; + } + + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + (*ret) = vi; + return true; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + if (!fixIndex(atoi((*token)), vnsize, &vi.vn_idx, true, context)) { + return false; + } + (*token) += strcspn((*token), "/ \t\r"); + (*ret) = vi; + return true; + } + + // i/j/k or i/j + if (!fixIndex(atoi((*token)), vtsize, &vi.vt_idx, true, context)) { + return false; + } + + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + (*ret) = vi; + return true; + } + + // i/j/k + (*token)++; // skip '/' + if (!fixIndex(atoi((*token)), vnsize, &vi.vn_idx, true, context)) { + return false; + } + (*token) += strcspn((*token), "/ \t\r"); + + (*ret) = vi; + + return true; +} + +// Parse raw triples: i, i/j/k, i//k, i/j +static vertex_index_t parseRawTriple(const char **token) { + vertex_index_t vi(static_cast(0)); // 0 is an invalid index in OBJ + + vi.v_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; + } + + // i/j/k or i/j + vi.vt_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + + // i/j/k + (*token)++; // skip '/' + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; +} + +bool ParseTextureNameAndOption(std::string *texname, texture_option_t *texopt, + const char *linebuf) { + // @todo { write more robust lexer and parser. } + bool found_texname = false; + std::string texture_name; + + const char *token = linebuf; // Assume line ends with NULL + + while (!IS_NEW_LINE((*token))) { + token += strspn(token, " \t"); // skip space + if ((0 == strncmp(token, "-blendu", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendu = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-blendv", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendv = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-clamp", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->clamp = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-boost", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->sharpness = parseReal(&token, 1.0); + } else if ((0 == strncmp(token, "-bm", 3)) && IS_SPACE((token[3]))) { + token += 4; + texopt->bump_multiplier = parseReal(&token, 1.0); + } else if ((0 == strncmp(token, "-o", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->origin_offset[0]), &(texopt->origin_offset[1]), + &(texopt->origin_offset[2]), &token); + } else if ((0 == strncmp(token, "-s", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->scale[0]), &(texopt->scale[1]), &(texopt->scale[2]), + &token, 1.0, 1.0, 1.0); + } else if ((0 == strncmp(token, "-t", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->turbulence[0]), &(texopt->turbulence[1]), + &(texopt->turbulence[2]), &token); + } else if ((0 == strncmp(token, "-type", 5)) && IS_SPACE((token[5]))) { + token += 5; + texopt->type = parseTextureType((&token), TEXTURE_TYPE_NONE); + } else if ((0 == strncmp(token, "-texres", 7)) && IS_SPACE((token[7]))) { + token += 7; + // TODO(syoyo): Check if arg is int type. + texopt->texture_resolution = parseInt(&token); + } else if ((0 == strncmp(token, "-imfchan", 8)) && IS_SPACE((token[8]))) { + token += 9; + token += strspn(token, " \t"); + const char *end = token + strcspn(token, " \t\r"); + if ((end - token) == 1) { // Assume one char for -imfchan + texopt->imfchan = (*token); + } + token = end; + } else if ((0 == strncmp(token, "-mm", 3)) && IS_SPACE((token[3]))) { + token += 4; + parseReal2(&(texopt->brightness), &(texopt->contrast), &token, 0.0, 1.0); + } else if ((0 == strncmp(token, "-colorspace", 11)) && + IS_SPACE((token[11]))) { + token += 12; + texopt->colorspace = parseString(&token); + } else { +// Assume texture filename +#if 0 + size_t len = strcspn(token, " \t\r"); // untile next space + texture_name = std::string(token, token + len); + token += len; + + token += strspn(token, " \t"); // skip space +#else + // Read filename until line end to parse filename containing whitespace + // TODO(syoyo): Support parsing texture option flag after the filename. + texture_name = std::string(token); + token += texture_name.length(); +#endif + + found_texname = true; + } + } + + if (found_texname) { + (*texname) = texture_name; + return true; + } else { + return false; + } +} + +static void InitTexOpt(texture_option_t *texopt, const bool is_bump) { + if (is_bump) { + texopt->imfchan = 'l'; + } else { + texopt->imfchan = 'm'; + } + texopt->bump_multiplier = static_cast(1.0); + texopt->clamp = false; + texopt->blendu = true; + texopt->blendv = true; + texopt->sharpness = static_cast(1.0); + texopt->brightness = static_cast(0.0); + texopt->contrast = static_cast(1.0); + texopt->origin_offset[0] = static_cast(0.0); + texopt->origin_offset[1] = static_cast(0.0); + texopt->origin_offset[2] = static_cast(0.0); + texopt->scale[0] = static_cast(1.0); + texopt->scale[1] = static_cast(1.0); + texopt->scale[2] = static_cast(1.0); + texopt->turbulence[0] = static_cast(0.0); + texopt->turbulence[1] = static_cast(0.0); + texopt->turbulence[2] = static_cast(0.0); + texopt->texture_resolution = -1; + texopt->type = TEXTURE_TYPE_NONE; +} + +static void InitMaterial(material_t *material) { + InitTexOpt(&material->ambient_texopt, /* is_bump */ false); + InitTexOpt(&material->diffuse_texopt, /* is_bump */ false); + InitTexOpt(&material->specular_texopt, /* is_bump */ false); + InitTexOpt(&material->specular_highlight_texopt, /* is_bump */ false); + InitTexOpt(&material->bump_texopt, /* is_bump */ true); + InitTexOpt(&material->displacement_texopt, /* is_bump */ false); + InitTexOpt(&material->alpha_texopt, /* is_bump */ false); + InitTexOpt(&material->reflection_texopt, /* is_bump */ false); + InitTexOpt(&material->roughness_texopt, /* is_bump */ false); + InitTexOpt(&material->metallic_texopt, /* is_bump */ false); + InitTexOpt(&material->sheen_texopt, /* is_bump */ false); + InitTexOpt(&material->emissive_texopt, /* is_bump */ false); + InitTexOpt(&material->normal_texopt, + /* is_bump */ false); // @fixme { is_bump will be true? } + material->name = ""; + material->ambient_texname = ""; + material->diffuse_texname = ""; + material->specular_texname = ""; + material->specular_highlight_texname = ""; + material->bump_texname = ""; + material->displacement_texname = ""; + material->reflection_texname = ""; + material->alpha_texname = ""; + for (int i = 0; i < 3; i++) { + material->ambient[i] = static_cast(0.0); + material->diffuse[i] = static_cast(0.0); + material->specular[i] = static_cast(0.0); + material->transmittance[i] = static_cast(0.0); + material->emission[i] = static_cast(0.0); + } + material->illum = 0; + material->dissolve = static_cast(1.0); + material->shininess = static_cast(1.0); + material->ior = static_cast(1.0); + + material->roughness = static_cast(0.0); + material->metallic = static_cast(0.0); + material->sheen = static_cast(0.0); + material->clearcoat_thickness = static_cast(0.0); + material->clearcoat_roughness = static_cast(0.0); + material->anisotropy_rotation = static_cast(0.0); + material->anisotropy = static_cast(0.0); + material->roughness_texname = ""; + material->metallic_texname = ""; + material->sheen_texname = ""; + material->emissive_texname = ""; + material->normal_texname = ""; + + material->unknown_parameter.clear(); +} + +// code from https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html +template +static int pnpoly(int nvert, T *vertx, T *verty, T testx, T testy) { + int i, j, c = 0; + for (i = 0, j = nvert - 1; i < nvert; j = i++) { + if (((verty[i] > testy) != (verty[j] > testy)) && + (testx < + (vertx[j] - vertx[i]) * (testy - verty[i]) / (verty[j] - verty[i]) + + vertx[i])) + c = !c; + } + return c; +} + +struct TinyObjPoint { + real_t x, y, z; + TinyObjPoint() : x(0), y(0), z(0) {} + TinyObjPoint(real_t x_, real_t y_, real_t z_) : + x(x_), y(y_), z(z_) {} +}; + +inline TinyObjPoint cross(const TinyObjPoint &v1, const TinyObjPoint &v2) { + return TinyObjPoint(v1.y * v2.z - v1.z * v2.y, + v1.z * v2.x - v1.x * v2.z, + v1.x * v2.y - v1.y * v2.x); +} + +inline real_t dot(const TinyObjPoint &v1, const TinyObjPoint &v2) { + return (v1.x * v2.x + v1.y * v2.y + v1.z * v2.z); +} + +inline real_t GetLength(TinyObjPoint &e) { + return std::sqrt(e.x*e.x + e.y*e.y + e.z*e.z); +} + +inline TinyObjPoint Normalize(TinyObjPoint e) { + real_t inv_length = real_t(1) / GetLength(e); + return TinyObjPoint(e.x * inv_length, e.y * inv_length, e.z * inv_length ); +} + + +inline TinyObjPoint WorldToLocal(const TinyObjPoint& a, + const TinyObjPoint& u, + const TinyObjPoint& v, + const TinyObjPoint& w) { + return TinyObjPoint(dot(a,u),dot(a,v),dot(a,w)); +} + + +// TODO(syoyo): refactor function. +static bool exportGroupsToShape(shape_t *shape, const PrimGroup &prim_group, + const std::vector &tags, + const int material_id, const std::string &name, + bool triangulate, const std::vector &v, + std::string *warn) { + if (prim_group.IsEmpty()) { + return false; + } + + shape->name = name; + + // polygon + if (!prim_group.faceGroup.empty()) { + // Flatten vertices and indices + for (size_t i = 0; i < prim_group.faceGroup.size(); i++) { + const face_t &face = prim_group.faceGroup[i]; + + size_t npolys = face.vertex_indices.size(); + + if (npolys < 3) { + // Face must have 3+ vertices. + if (warn) { + (*warn) += "Degenerated face found\n."; + } + continue; + } + + if (triangulate && npolys != 3) { + if (npolys == 4) { + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i1 = face.vertex_indices[1]; + vertex_index_t i2 = face.vertex_indices[2]; + vertex_index_t i3 = face.vertex_indices[3]; + + size_t vi0 = size_t(i0.v_idx); + size_t vi1 = size_t(i1.v_idx); + size_t vi2 = size_t(i2.v_idx); + size_t vi3 = size_t(i3.v_idx); + + if (((3 * vi0 + 2) >= v.size()) || ((3 * vi1 + 2) >= v.size()) || + ((3 * vi2 + 2) >= v.size()) || ((3 * vi3 + 2) >= v.size())) { + // Invalid triangle. + // FIXME(syoyo): Is it ok to simply skip this invalid triangle? + if (warn) { + (*warn) += "Face with invalid vertex index found.\n"; + } + continue; + } + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + real_t v1x = v[vi1 * 3 + 0]; + real_t v1y = v[vi1 * 3 + 1]; + real_t v1z = v[vi1 * 3 + 2]; + real_t v2x = v[vi2 * 3 + 0]; + real_t v2y = v[vi2 * 3 + 1]; + real_t v2z = v[vi2 * 3 + 2]; + real_t v3x = v[vi3 * 3 + 0]; + real_t v3y = v[vi3 * 3 + 1]; + real_t v3z = v[vi3 * 3 + 2]; + + // There are two candidates to split the quad into two triangles. + // + // Choose the shortest edge. + // TODO: Is it better to determine the edge to split by calculating + // the area of each triangle? + // + // +---+ + // |\ | + // | \ | + // | \| + // +---+ + // + // +---+ + // | /| + // | / | + // |/ | + // +---+ + + real_t e02x = v2x - v0x; + real_t e02y = v2y - v0y; + real_t e02z = v2z - v0z; + real_t e13x = v3x - v1x; + real_t e13y = v3y - v1y; + real_t e13z = v3z - v1z; + + real_t sqr02 = e02x * e02x + e02y * e02y + e02z * e02z; + real_t sqr13 = e13x * e13x + e13y * e13y + e13z * e13z; + + index_t idx0, idx1, idx2, idx3; + + idx0.vertex_index = i0.v_idx; + idx0.normal_index = i0.vn_idx; + idx0.texcoord_index = i0.vt_idx; + idx1.vertex_index = i1.v_idx; + idx1.normal_index = i1.vn_idx; + idx1.texcoord_index = i1.vt_idx; + idx2.vertex_index = i2.v_idx; + idx2.normal_index = i2.vn_idx; + idx2.texcoord_index = i2.vt_idx; + idx3.vertex_index = i3.v_idx; + idx3.normal_index = i3.vn_idx; + idx3.texcoord_index = i3.vt_idx; + + if (sqr02 < sqr13) { + // [0, 1, 2], [0, 2, 3] + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx2); + shape->mesh.indices.push_back(idx3); + } else { + // [0, 1, 3], [1, 2, 3] + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx3); + + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + shape->mesh.indices.push_back(idx3); + } + + // Two triangle faces + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.num_face_vertices.push_back(3); + + shape->mesh.material_ids.push_back(material_id); + shape->mesh.material_ids.push_back(material_id); + + shape->mesh.smoothing_group_ids.push_back(face.smoothing_group_id); + shape->mesh.smoothing_group_ids.push_back(face.smoothing_group_id); + + } else { +#ifdef TINYOBJLOADER_USE_MAPBOX_EARCUT + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i0_2 = i0; + + // TMW change: Find the normal axis of the polygon using Newell's method + TinyObjPoint n; + for (size_t k = 0; k < npolys; ++k) { + i0 = face.vertex_indices[k % npolys]; + size_t vi0 = size_t(i0.v_idx); + + size_t j = (k + 1) % npolys; + i0_2 = face.vertex_indices[j]; + size_t vi0_2 = size_t(i0_2.v_idx); + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + + real_t v0x_2 = v[vi0_2 * 3 + 0]; + real_t v0y_2 = v[vi0_2 * 3 + 1]; + real_t v0z_2 = v[vi0_2 * 3 + 2]; + + const TinyObjPoint point1(v0x,v0y,v0z); + const TinyObjPoint point2(v0x_2,v0y_2,v0z_2); + + TinyObjPoint a(point1.x - point2.x, point1.y - point2.y, point1.z - point2.z); + TinyObjPoint b(point1.x + point2.x, point1.y + point2.y, point1.z + point2.z); + + n.x += (a.y * b.z); + n.y += (a.z * b.x); + n.z += (a.x * b.y); + } + real_t length_n = GetLength(n); + //Check if zero length normal + if(length_n <= 0) { + continue; + } + //Negative is to flip the normal to the correct direction + real_t inv_length = -real_t(1.0) / length_n; + n.x *= inv_length; + n.y *= inv_length; + n.z *= inv_length; + + TinyObjPoint axis_w, axis_v, axis_u; + axis_w = n; + TinyObjPoint a; + if(std::fabs(axis_w.x) > real_t(0.9999999)) { + a = TinyObjPoint(0,1,0); + } else { + a = TinyObjPoint(1,0,0); + } + axis_v = Normalize(cross(axis_w, a)); + axis_u = cross(axis_w, axis_v); + using Point = std::array; + + // first polyline define the main polygon. + // following polylines define holes(not used in tinyobj). + std::vector > polygon; + + std::vector polyline; + + //TMW change: Find best normal and project v0x and v0y to those coordinates, instead of + //picking a plane aligned with an axis (which can flip polygons). + + // Fill polygon data(facevarying vertices). + for (size_t k = 0; k < npolys; k++) { + i0 = face.vertex_indices[k]; + size_t vi0 = size_t(i0.v_idx); + + assert(((3 * vi0 + 2) < v.size())); + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + + TinyObjPoint polypoint(v0x,v0y,v0z); + TinyObjPoint loc = WorldToLocal(polypoint, axis_u, axis_v, axis_w); + + polyline.push_back({loc.x, loc.y}); + } + + polygon.push_back(polyline); + std::vector indices = mapbox::earcut(polygon); + // => result = 3 * faces, clockwise + + assert(indices.size() % 3 == 0); + + // Reconstruct vertex_index_t + for (size_t k = 0; k < indices.size() / 3; k++) { + { + index_t idx0, idx1, idx2; + idx0.vertex_index = face.vertex_indices[indices[3 * k + 0]].v_idx; + idx0.normal_index = + face.vertex_indices[indices[3 * k + 0]].vn_idx; + idx0.texcoord_index = + face.vertex_indices[indices[3 * k + 0]].vt_idx; + idx1.vertex_index = face.vertex_indices[indices[3 * k + 1]].v_idx; + idx1.normal_index = + face.vertex_indices[indices[3 * k + 1]].vn_idx; + idx1.texcoord_index = + face.vertex_indices[indices[3 * k + 1]].vt_idx; + idx2.vertex_index = face.vertex_indices[indices[3 * k + 2]].v_idx; + idx2.normal_index = + face.vertex_indices[indices[3 * k + 2]].vn_idx; + idx2.texcoord_index = + face.vertex_indices[indices[3 * k + 2]].vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + } + +#else // Built-in ear clipping triangulation + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i1(-1); + vertex_index_t i2 = face.vertex_indices[1]; + + // find the two axes to work in + size_t axes[2] = {1, 2}; + for (size_t k = 0; k < npolys; ++k) { + i0 = face.vertex_indices[(k + 0) % npolys]; + i1 = face.vertex_indices[(k + 1) % npolys]; + i2 = face.vertex_indices[(k + 2) % npolys]; + size_t vi0 = size_t(i0.v_idx); + size_t vi1 = size_t(i1.v_idx); + size_t vi2 = size_t(i2.v_idx); + + if (((3 * vi0 + 2) >= v.size()) || ((3 * vi1 + 2) >= v.size()) || + ((3 * vi2 + 2) >= v.size())) { + // Invalid triangle. + // FIXME(syoyo): Is it ok to simply skip this invalid triangle? + continue; + } + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + real_t v1x = v[vi1 * 3 + 0]; + real_t v1y = v[vi1 * 3 + 1]; + real_t v1z = v[vi1 * 3 + 2]; + real_t v2x = v[vi2 * 3 + 0]; + real_t v2y = v[vi2 * 3 + 1]; + real_t v2z = v[vi2 * 3 + 2]; + real_t e0x = v1x - v0x; + real_t e0y = v1y - v0y; + real_t e0z = v1z - v0z; + real_t e1x = v2x - v1x; + real_t e1y = v2y - v1y; + real_t e1z = v2z - v1z; + real_t cx = std::fabs(e0y * e1z - e0z * e1y); + real_t cy = std::fabs(e0z * e1x - e0x * e1z); + real_t cz = std::fabs(e0x * e1y - e0y * e1x); + const real_t epsilon = std::numeric_limits::epsilon(); + // std::cout << "cx " << cx << ", cy " << cy << ", cz " << cz << + // "\n"; + if (cx > epsilon || cy > epsilon || cz > epsilon) { + // std::cout << "corner\n"; + // found a corner + if (cx > cy && cx > cz) { + // std::cout << "pattern0\n"; + } else { + // std::cout << "axes[0] = 0\n"; + axes[0] = 0; + if (cz > cx && cz > cy) { + // std::cout << "axes[1] = 1\n"; + axes[1] = 1; + } + } + break; + } + } + + face_t remainingFace = face; // copy + size_t guess_vert = 0; + vertex_index_t ind[3]; + real_t vx[3]; + real_t vy[3]; + + // How many iterations can we do without decreasing the remaining + // vertices. + size_t remainingIterations = face.vertex_indices.size(); + size_t previousRemainingVertices = + remainingFace.vertex_indices.size(); + + while (remainingFace.vertex_indices.size() > 3 && + remainingIterations > 0) { + // std::cout << "remainingIterations " << remainingIterations << + // "\n"; + + npolys = remainingFace.vertex_indices.size(); + if (guess_vert >= npolys) { + guess_vert -= npolys; + } + + if (previousRemainingVertices != npolys) { + // The number of remaining vertices decreased. Reset counters. + previousRemainingVertices = npolys; + remainingIterations = npolys; + } else { + // We didn't consume a vertex on previous iteration, reduce the + // available iterations. + remainingIterations--; + } + + for (size_t k = 0; k < 3; k++) { + ind[k] = remainingFace.vertex_indices[(guess_vert + k) % npolys]; + size_t vi = size_t(ind[k].v_idx); + if (((vi * 3 + axes[0]) >= v.size()) || + ((vi * 3 + axes[1]) >= v.size())) { + // ??? + vx[k] = static_cast(0.0); + vy[k] = static_cast(0.0); + } else { + vx[k] = v[vi * 3 + axes[0]]; + vy[k] = v[vi * 3 + axes[1]]; + } + } + + // + // area is calculated per face + // + real_t e0x = vx[1] - vx[0]; + real_t e0y = vy[1] - vy[0]; + real_t e1x = vx[2] - vx[1]; + real_t e1y = vy[2] - vy[1]; + real_t cross = e0x * e1y - e0y * e1x; + // std::cout << "axes = " << axes[0] << ", " << axes[1] << "\n"; + // std::cout << "e0x, e0y, e1x, e1y " << e0x << ", " << e0y << ", " + // << e1x << ", " << e1y << "\n"; + + real_t area = (vx[0] * vy[1] - vy[0] * vx[1]) * static_cast(0.5); + // std::cout << "cross " << cross << ", area " << area << "\n"; + // if an internal angle + if (cross * area < static_cast(0.0)) { + // std::cout << "internal \n"; + guess_vert += 1; + // std::cout << "guess vert : " << guess_vert << "\n"; + continue; + } + + // check all other verts in case they are inside this triangle + bool overlap = false; + for (size_t otherVert = 3; otherVert < npolys; ++otherVert) { + size_t idx = (guess_vert + otherVert) % npolys; + + if (idx >= remainingFace.vertex_indices.size()) { + // std::cout << "???0\n"; + // ??? + continue; + } + + size_t ovi = size_t(remainingFace.vertex_indices[idx].v_idx); + + if (((ovi * 3 + axes[0]) >= v.size()) || + ((ovi * 3 + axes[1]) >= v.size())) { + // std::cout << "???1\n"; + // ??? + continue; + } + real_t tx = v[ovi * 3 + axes[0]]; + real_t ty = v[ovi * 3 + axes[1]]; + if (pnpoly(3, vx, vy, tx, ty)) { + // std::cout << "overlap\n"; + overlap = true; + break; + } + } + + if (overlap) { + // std::cout << "overlap2\n"; + guess_vert += 1; + continue; + } + + // this triangle is an ear + { + index_t idx0, idx1, idx2; + idx0.vertex_index = ind[0].v_idx; + idx0.normal_index = ind[0].vn_idx; + idx0.texcoord_index = ind[0].vt_idx; + idx1.vertex_index = ind[1].v_idx; + idx1.normal_index = ind[1].vn_idx; + idx1.texcoord_index = ind[1].vt_idx; + idx2.vertex_index = ind[2].v_idx; + idx2.normal_index = ind[2].vn_idx; + idx2.texcoord_index = ind[2].vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + + // remove v1 from the list + size_t removed_vert_index = (guess_vert + 1) % npolys; + while (removed_vert_index + 1 < npolys) { + remainingFace.vertex_indices[removed_vert_index] = + remainingFace.vertex_indices[removed_vert_index + 1]; + removed_vert_index += 1; + } + remainingFace.vertex_indices.pop_back(); + } + + // std::cout << "remainingFace.vi.size = " << + // remainingFace.vertex_indices.size() << "\n"; + if (remainingFace.vertex_indices.size() == 3) { + i0 = remainingFace.vertex_indices[0]; + i1 = remainingFace.vertex_indices[1]; + i2 = remainingFace.vertex_indices[2]; + { + index_t idx0, idx1, idx2; + idx0.vertex_index = i0.v_idx; + idx0.normal_index = i0.vn_idx; + idx0.texcoord_index = i0.vt_idx; + idx1.vertex_index = i1.v_idx; + idx1.normal_index = i1.vn_idx; + idx1.texcoord_index = i1.vt_idx; + idx2.vertex_index = i2.v_idx; + idx2.normal_index = i2.vn_idx; + idx2.texcoord_index = i2.vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + } +#endif + } // npolys + } else { + for (size_t k = 0; k < npolys; k++) { + index_t idx; + idx.vertex_index = face.vertex_indices[k].v_idx; + idx.normal_index = face.vertex_indices[k].vn_idx; + idx.texcoord_index = face.vertex_indices[k].vt_idx; + shape->mesh.indices.push_back(idx); + } + + shape->mesh.num_face_vertices.push_back( + static_cast(npolys)); + shape->mesh.material_ids.push_back(material_id); // per face + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); // per face + } + } + + shape->mesh.tags = tags; + } + + // line + if (!prim_group.lineGroup.empty()) { + // Flatten indices + for (size_t i = 0; i < prim_group.lineGroup.size(); i++) { + for (size_t j = 0; j < prim_group.lineGroup[i].vertex_indices.size(); + j++) { + const vertex_index_t &vi = prim_group.lineGroup[i].vertex_indices[j]; + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + shape->lines.indices.push_back(idx); + } + + shape->lines.num_line_vertices.push_back( + int(prim_group.lineGroup[i].vertex_indices.size())); + } + } + + // points + if (!prim_group.pointsGroup.empty()) { + // Flatten & convert indices + for (size_t i = 0; i < prim_group.pointsGroup.size(); i++) { + for (size_t j = 0; j < prim_group.pointsGroup[i].vertex_indices.size(); + j++) { + const vertex_index_t &vi = prim_group.pointsGroup[i].vertex_indices[j]; + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + shape->points.indices.push_back(idx); + } + } + } + + return true; +} + +// Split a string with specified delimiter character and escape character. +// https://rosettacode.org/wiki/Tokenize_a_string_with_escaping#C.2B.2B +static void SplitString(const std::string &s, char delim, char escape, + std::vector &elems) { + std::string token; + + bool escaping = false; + for (size_t i = 0; i < s.size(); ++i) { + char ch = s[i]; + if (escaping) { + escaping = false; + } else if (ch == escape) { + escaping = true; + continue; + } else if (ch == delim) { + if (!token.empty()) { + elems.push_back(token); + } + token.clear(); + continue; + } + token += ch; + } + + elems.push_back(token); +} + +static std::string JoinPath(const std::string &dir, + const std::string &filename) { + if (dir.empty()) { + return filename; + } else { + // check '/' + char lastChar = *dir.rbegin(); + if (lastChar != '/') { + return dir + std::string("/") + filename; + } else { + return dir + filename; + } + } +} + +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream, + std::string *warning, std::string *err) { + (void)err; + + // Create a default material anyway. + material_t material; + InitMaterial(&material); + + // Issue 43. `d` wins against `Tr` since `Tr` is not in the MTL specification. + bool has_d = false; + bool has_tr = false; + + // has_kd is used to set a default diffuse value when map_Kd is present + // and Kd is not. + bool has_kd = false; + + std::stringstream warn_ss; + + size_t line_no = 0; + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + line_no++; + + // Trim trailing whitespace. + if (linebuf.size() > 0) { + linebuf = linebuf.substr(0, linebuf.find_last_not_of(" \t") + 1); + } + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // new mtl + if ((0 == strncmp(token, "newmtl", 6)) && IS_SPACE((token[6]))) { + // flush previous material. + if (!material.name.empty()) { + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); + } + + // initial temporary material + InitMaterial(&material); + + has_d = false; + has_tr = false; + + // set new mtl name + token += 7; + { + std::string namebuf = parseString(&token); + // TODO: empty name check? + if (namebuf.empty()) { + if (warning) { + (*warning) += "empty material name in `newmtl`\n"; + } + } + material.name = namebuf; + } + continue; + } + + // ambient + if (token[0] == 'K' && token[1] == 'a' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.ambient[0] = r; + material.ambient[1] = g; + material.ambient[2] = b; + continue; + } + + // diffuse + if (token[0] == 'K' && token[1] == 'd' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.diffuse[0] = r; + material.diffuse[1] = g; + material.diffuse[2] = b; + has_kd = true; + continue; + } + + // specular + if (token[0] == 'K' && token[1] == 's' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.specular[0] = r; + material.specular[1] = g; + material.specular[2] = b; + continue; + } + + // transmittance + if ((token[0] == 'K' && token[1] == 't' && IS_SPACE((token[2]))) || + (token[0] == 'T' && token[1] == 'f' && IS_SPACE((token[2])))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.transmittance[0] = r; + material.transmittance[1] = g; + material.transmittance[2] = b; + continue; + } + + // ior(index of refraction) + if (token[0] == 'N' && token[1] == 'i' && IS_SPACE((token[2]))) { + token += 2; + material.ior = parseReal(&token); + continue; + } + + // emission + if (token[0] == 'K' && token[1] == 'e' && IS_SPACE(token[2])) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.emission[0] = r; + material.emission[1] = g; + material.emission[2] = b; + continue; + } + + // shininess + if (token[0] == 'N' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.shininess = parseReal(&token); + continue; + } + + // illum model + if (0 == strncmp(token, "illum", 5) && IS_SPACE(token[5])) { + token += 6; + material.illum = parseInt(&token); + continue; + } + + // dissolve + if ((token[0] == 'd' && IS_SPACE(token[1]))) { + token += 1; + material.dissolve = parseReal(&token); + + if (has_tr) { + warn_ss << "Both `d` and `Tr` parameters defined for \"" + << material.name + << "\". Use the value of `d` for dissolve (line " << line_no + << " in .mtl.)\n"; + } + has_d = true; + continue; + } + if (token[0] == 'T' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + if (has_d) { + // `d` wins. Ignore `Tr` value. + warn_ss << "Both `d` and `Tr` parameters defined for \"" + << material.name + << "\". Use the value of `d` for dissolve (line " << line_no + << " in .mtl.)\n"; + } else { + // We invert value of Tr(assume Tr is in range [0, 1]) + // NOTE: Interpretation of Tr is application(exporter) dependent. For + // some application(e.g. 3ds max obj exporter), Tr = d(Issue 43) + material.dissolve = static_cast(1.0) - parseReal(&token); + } + has_tr = true; + continue; + } + + // PBR: roughness + if (token[0] == 'P' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + material.roughness = parseReal(&token); + continue; + } + + // PBR: metallic + if (token[0] == 'P' && token[1] == 'm' && IS_SPACE(token[2])) { + token += 2; + material.metallic = parseReal(&token); + continue; + } + + // PBR: sheen + if (token[0] == 'P' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.sheen = parseReal(&token); + continue; + } + + // PBR: clearcoat thickness + if (token[0] == 'P' && token[1] == 'c' && IS_SPACE(token[2])) { + token += 2; + material.clearcoat_thickness = parseReal(&token); + continue; + } + + // PBR: clearcoat roughness + if ((0 == strncmp(token, "Pcr", 3)) && IS_SPACE(token[3])) { + token += 4; + material.clearcoat_roughness = parseReal(&token); + continue; + } + + // PBR: anisotropy + if ((0 == strncmp(token, "aniso", 5)) && IS_SPACE(token[5])) { + token += 6; + material.anisotropy = parseReal(&token); + continue; + } + + // PBR: anisotropy rotation + if ((0 == strncmp(token, "anisor", 6)) && IS_SPACE(token[6])) { + token += 7; + material.anisotropy_rotation = parseReal(&token); + continue; + } + + // ambient or ambient occlusion texture + if ((0 == strncmp(token, "map_Ka", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.ambient_texname), + &(material.ambient_texopt), token); + continue; + } + + // diffuse texture + if ((0 == strncmp(token, "map_Kd", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.diffuse_texname), + &(material.diffuse_texopt), token); + + // Set a decent diffuse default value if a diffuse texture is specified + // without a matching Kd value. + if (!has_kd) { + material.diffuse[0] = static_cast(0.6); + material.diffuse[1] = static_cast(0.6); + material.diffuse[2] = static_cast(0.6); + } + + continue; + } + + // specular texture + if ((0 == strncmp(token, "map_Ks", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_texname), + &(material.specular_texopt), token); + continue; + } + + // specular highlight texture + if ((0 == strncmp(token, "map_Ns", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_highlight_texname), + &(material.specular_highlight_texopt), token); + continue; + } + + // bump texture + if (((0 == strncmp(token, "map_bump", 8)) || + (0 == strncmp(token, "map_Bump", 8))) && + IS_SPACE(token[8])) { + token += 9; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token); + continue; + } + + // bump texture + if ((0 == strncmp(token, "bump", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token); + continue; + } + + // alpha texture + if ((0 == strncmp(token, "map_d", 5)) && IS_SPACE(token[5])) { + token += 6; + material.alpha_texname = token; + ParseTextureNameAndOption(&(material.alpha_texname), + &(material.alpha_texopt), token); + continue; + } + + // displacement texture + if (((0 == strncmp(token, "map_disp", 8)) || + (0 == strncmp(token, "map_Disp", 8))) && + IS_SPACE(token[8])) { + token += 9; + ParseTextureNameAndOption(&(material.displacement_texname), + &(material.displacement_texopt), token); + continue; + } + + // displacement texture + if ((0 == strncmp(token, "disp", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.displacement_texname), + &(material.displacement_texopt), token); + continue; + } + + // reflection map + if ((0 == strncmp(token, "refl", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.reflection_texname), + &(material.reflection_texopt), token); + continue; + } + + // PBR: roughness texture + if ((0 == strncmp(token, "map_Pr", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.roughness_texname), + &(material.roughness_texopt), token); + continue; + } + + // PBR: metallic texture + if ((0 == strncmp(token, "map_Pm", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.metallic_texname), + &(material.metallic_texopt), token); + continue; + } + + // PBR: sheen texture + if ((0 == strncmp(token, "map_Ps", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.sheen_texname), + &(material.sheen_texopt), token); + continue; + } + + // PBR: emissive texture + if ((0 == strncmp(token, "map_Ke", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.emissive_texname), + &(material.emissive_texopt), token); + continue; + } + + // PBR: normal map texture + if ((0 == strncmp(token, "norm", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.normal_texname), + &(material.normal_texopt), token); + continue; + } + + // unknown parameter + const char *_space = strchr(token, ' '); + if (!_space) { + _space = strchr(token, '\t'); + } + if (_space) { + std::ptrdiff_t len = _space - token; + std::string key(token, static_cast(len)); + std::string value = _space + 1; + material.unknown_parameter.insert( + std::pair(key, value)); + } + } + // flush last material. + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); + + if (warning) { + (*warning) = warn_ss.str(); + } +} + +bool MaterialFileReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *warn, std::string *err) { + if (!m_mtlBaseDir.empty()) { +#ifdef _WIN32 + char sep = ';'; +#else + char sep = ':'; +#endif + + // https://stackoverflow.com/questions/5167625/splitting-a-c-stdstring-using-tokens-e-g + std::vector paths; + std::istringstream f(m_mtlBaseDir); + + std::string s; + while (getline(f, s, sep)) { + paths.push_back(s); + } + + for (size_t i = 0; i < paths.size(); i++) { + std::string filepath = JoinPath(paths[i], matId); + + std::ifstream matIStream(filepath.c_str()); + if (matIStream) { + LoadMtl(matMap, materials, &matIStream, warn, err); + + return true; + } + } + + std::stringstream ss; + ss << "Material file [ " << matId + << " ] not found in a path : " << m_mtlBaseDir << "\n"; + if (warn) { + (*warn) += ss.str(); + } + return false; + + } else { + std::string filepath = matId; + std::ifstream matIStream(filepath.c_str()); + if (matIStream) { + LoadMtl(matMap, materials, &matIStream, warn, err); + + return true; + } + + std::stringstream ss; + ss << "Material file [ " << filepath + << " ] not found in a path : " << m_mtlBaseDir << "\n"; + if (warn) { + (*warn) += ss.str(); + } + + return false; + } +} + +bool MaterialStreamReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *warn, std::string *err) { + (void)err; + (void)matId; + if (!m_inStream) { + std::stringstream ss; + ss << "Material stream in error state. \n"; + if (warn) { + (*warn) += ss.str(); + } + return false; + } + + LoadMtl(matMap, materials, &m_inStream, warn, err); + + return true; +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, const char *filename, const char *mtl_basedir, + bool triangulate, bool default_vcols_fallback) { + attrib->vertices.clear(); + attrib->normals.clear(); + attrib->texcoords.clear(); + attrib->colors.clear(); + shapes->clear(); + + std::stringstream errss; + + std::ifstream ifs(filename); + if (!ifs) { + errss << "Cannot open file [" << filename << "]\n"; + if (err) { + (*err) = errss.str(); + } + return false; + } + + std::string baseDir = mtl_basedir ? mtl_basedir : ""; + if (!baseDir.empty()) { +#ifndef _WIN32 + const char dirsep = '/'; +#else + const char dirsep = '\\'; +#endif + if (baseDir[baseDir.length() - 1] != dirsep) baseDir += dirsep; + } + MaterialFileReader matFileReader(baseDir); + + return LoadObj(attrib, shapes, materials, warn, err, &ifs, &matFileReader, + triangulate, default_vcols_fallback); +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, std::istream *inStream, + MaterialReader *readMatFn /*= NULL*/, bool triangulate, + bool default_vcols_fallback) { + std::stringstream errss; + + std::vector v; + std::vector vn; + std::vector vt; + std::vector vc; + std::vector vw; + std::vector tags; + PrimGroup prim_group; + std::string name; + + // material + std::set material_filenames; + std::map material_map; + int material = -1; + + // smoothing group id + unsigned int current_smoothing_id = + 0; // Initial value. 0 means no smoothing. + + int greatest_v_idx = -1; + int greatest_vn_idx = -1; + int greatest_vt_idx = -1; + + shape_t shape; + + bool found_all_colors = true; + + size_t line_num = 0; + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + + line_num++; + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + real_t x, y, z; + real_t r, g, b; + + found_all_colors &= parseVertexWithColor(&x, &y, &z, &r, &g, &b, &token); + + v.push_back(x); + v.push_back(y); + v.push_back(z); + + if (found_all_colors || default_vcols_fallback) { + vc.push_back(r); + vc.push_back(g); + vc.push_back(b); + } + + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; + parseReal3(&x, &y, &z, &token); + vn.push_back(x); + vn.push_back(y); + vn.push_back(z); + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y; + parseReal2(&x, &y, &token); + vt.push_back(x); + vt.push_back(y); + continue; + } + + // skin weight. tinyobj extension + if (token[0] == 'v' && token[1] == 'w' && IS_SPACE((token[2]))) { + token += 3; + + // vw ... + // example: + // vw 0 0 0.25 1 0.25 2 0.5 + + // TODO(syoyo): Add syntax check + int vid = 0; + vid = parseInt(&token); + + skin_weight_t sw; + + sw.vertex_id = vid; + + while (!IS_NEW_LINE(token[0])) { + real_t j, w; + // joint_id should not be negative, weight may be negative + // TODO(syoyo): # of elements check + parseReal2(&j, &w, &token, -1.0); + + if (j < static_cast(0)) { + if (err) { + std::stringstream ss; + ss << "Failed parse `vw' line. joint_id is negative. " + "line " + << line_num << ".)\n"; + (*err) += ss.str(); + } + return false; + } + + joint_and_weight_t jw; + + jw.joint_id = int(j); + jw.weight = w; + + sw.weightValues.push_back(jw); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + vw.push_back(sw); + } + + warning_context context; + context.warn = warn; + context.line_number = line_num; + + // line + if (token[0] == 'l' && IS_SPACE((token[1]))) { + token += 2; + + __line_t line; + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += "Failed to parse `l' line (e.g. a zero value for vertex index. Line " + + toString(line_num) + ").\n"; + } + return false; + } + + line.vertex_indices.push_back(vi); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + prim_group.lineGroup.push_back(line); + + continue; + } + + // points + if (token[0] == 'p' && IS_SPACE((token[1]))) { + token += 2; + + __points_t pts; + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += "Failed to parse `p' line (e.g. a zero value for vertex index. Line " + + toString(line_num) + ").\n"; + } + return false; + } + + pts.vertex_indices.push_back(vi); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + prim_group.pointsGroup.push_back(pts); + + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + face_t face; + + face.smoothing_group_id = current_smoothing_id; + face.vertex_indices.reserve(3); + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += "Failed to parse `f' line (e.g. a zero value for vertex index or invalid relative vertex index). Line " + + toString(line_num) + ").\n"; + } + return false; + } + + greatest_v_idx = greatest_v_idx > vi.v_idx ? greatest_v_idx : vi.v_idx; + greatest_vn_idx = + greatest_vn_idx > vi.vn_idx ? greatest_vn_idx : vi.vn_idx; + greatest_vt_idx = + greatest_vt_idx > vi.vt_idx ? greatest_vt_idx : vi.vt_idx; + + face.vertex_indices.push_back(vi); + size_t n = strspn(token, " \t\r"); + token += n; + } + + // replace with emplace_back + std::move on C++11 + prim_group.faceGroup.push_back(face); + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6))) { + token += 6; + std::string namebuf = parseString(&token); + + int newMaterialId = -1; + std::map::const_iterator it = + material_map.find(namebuf); + if (it != material_map.end()) { + newMaterialId = it->second; + } else { + // { error!! material not found } + if (warn) { + (*warn) += "material [ '" + namebuf + "' ] not found in .mtl\n"; + } + } + + if (newMaterialId != material) { + // Create per-face material. Thus we don't add `shape` to `shapes` at + // this time. + // just clear `faceGroup` after `exportGroupsToShape()` call. + exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + prim_group.faceGroup.clear(); + material = newMaterialId; + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + token += 7; + + std::vector filenames; + SplitString(std::string(token), ' ', '\\', filenames); + + if (filenames.empty()) { + if (warn) { + std::stringstream ss; + ss << "Looks like empty filename for mtllib. Use default " + "material (line " + << line_num << ".)\n"; + + (*warn) += ss.str(); + } + } else { + bool found = false; + for (size_t s = 0; s < filenames.size(); s++) { + if (material_filenames.count(filenames[s]) > 0) { + found = true; + continue; + } + + std::string warn_mtl; + std::string err_mtl; + bool ok = (*readMatFn)(filenames[s].c_str(), materials, + &material_map, &warn_mtl, &err_mtl); + if (warn && (!warn_mtl.empty())) { + (*warn) += warn_mtl; + } + + if (err && (!err_mtl.empty())) { + (*err) += err_mtl; + } + + if (ok) { + found = true; + material_filenames.insert(filenames[s]); + break; + } + } + + if (!found) { + if (warn) { + (*warn) += + "Failed to load material file(s). Use default " + "material.\n"; + } + } + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + (void)ret; // return value not used. + + if (shape.mesh.indices.size() > 0) { + shapes->push_back(shape); + } + + shape = shape_t(); + + // material = -1; + prim_group.clear(); + + std::vector names; + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + // names[0] must be 'g' + + if (names.size() < 2) { + // 'g' with empty names + if (warn) { + std::stringstream ss; + ss << "Empty group name. line: " << line_num << "\n"; + (*warn) += ss.str(); + name = ""; + } + } else { + std::stringstream ss; + ss << names[1]; + + // tinyobjloader does not support multiple groups for a primitive. + // Currently we concatinate multiple group names with a space to get + // single group name. + + for (size_t i = 2; i < names.size(); i++) { + ss << " " << names[i]; + } + + name = ss.str(); + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + (void)ret; // return value not used. + + if (shape.mesh.indices.size() > 0 || shape.lines.indices.size() > 0 || + shape.points.indices.size() > 0) { + shapes->push_back(shape); + } + + // material = -1; + prim_group.clear(); + shape = shape_t(); + + // @todo { multiple object name? } + token += 2; + std::stringstream ss; + ss << token; + name = ss.str(); + + continue; + } + + if (token[0] == 't' && IS_SPACE(token[1])) { + const int max_tag_nums = 8192; // FIXME(syoyo): Parameterize. + tag_t tag; + + token += 2; + + tag.name = parseString(&token); + + tag_sizes ts = parseTagTriple(&token); + + if (ts.num_ints < 0) { + ts.num_ints = 0; + } + if (ts.num_ints > max_tag_nums) { + ts.num_ints = max_tag_nums; + } + + if (ts.num_reals < 0) { + ts.num_reals = 0; + } + if (ts.num_reals > max_tag_nums) { + ts.num_reals = max_tag_nums; + } + + if (ts.num_strings < 0) { + ts.num_strings = 0; + } + if (ts.num_strings > max_tag_nums) { + ts.num_strings = max_tag_nums; + } + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = parseInt(&token); + } + + tag.floatValues.resize(static_cast(ts.num_reals)); + for (size_t i = 0; i < static_cast(ts.num_reals); ++i) { + tag.floatValues[i] = parseReal(&token); + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + tag.stringValues[i] = parseString(&token); + } + + tags.push_back(tag); + + continue; + } + + if (token[0] == 's' && IS_SPACE(token[1])) { + // smoothing group id + token += 2; + + // skip space. + token += strspn(token, " \t"); // skip space + + if (token[0] == '\0') { + continue; + } + + if (token[0] == '\r' || token[1] == '\n') { + continue; + } + + if (strlen(token) >= 3 && token[0] == 'o' && token[1] == 'f' && + token[2] == 'f') { + current_smoothing_id = 0; + } else { + // assume number + int smGroupId = parseInt(&token); + if (smGroupId < 0) { + // parse error. force set to 0. + // FIXME(syoyo): Report warning. + current_smoothing_id = 0; + } else { + current_smoothing_id = static_cast(smGroupId); + } + } + + continue; + } // smoothing group id + + // Ignore unknown command. + } + + // not all vertices have colors, no default colors desired? -> clear colors + if (!found_all_colors && !default_vcols_fallback) { + vc.clear(); + } + + if (greatest_v_idx >= static_cast(v.size() / 3)) { + if (warn) { + std::stringstream ss; + ss << "Vertex indices out of bounds (line " << line_num << ".)\n\n"; + (*warn) += ss.str(); + } + } + if (greatest_vn_idx >= static_cast(vn.size() / 3)) { + if (warn) { + std::stringstream ss; + ss << "Vertex normal indices out of bounds (line " << line_num << ".)\n\n"; + (*warn) += ss.str(); + } + } + if (greatest_vt_idx >= static_cast(vt.size() / 2)) { + if (warn) { + std::stringstream ss; + ss << "Vertex texcoord indices out of bounds (line " << line_num << ".)\n\n"; + (*warn) += ss.str(); + } + } + + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + // exportGroupsToShape return false when `usemtl` is called in the last + // line. + // we also add `shape` to `shapes` when `shape.mesh` has already some + // faces(indices) + if (ret || shape.mesh.indices + .size()) { // FIXME(syoyo): Support other prims(e.g. lines) + shapes->push_back(shape); + } + prim_group.clear(); // for safety + + if (err) { + (*err) += errss.str(); + } + + attrib->vertices.swap(v); + attrib->vertex_weights.swap(v); + attrib->normals.swap(vn); + attrib->texcoords.swap(vt); + attrib->texcoord_ws.swap(vt); + attrib->colors.swap(vc); + attrib->skin_weights.swap(vw); + + return true; +} + +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data /*= NULL*/, + MaterialReader *readMatFn /*= NULL*/, + std::string *warn, /* = NULL*/ + std::string *err /*= NULL*/) { + std::stringstream errss; + + // material + std::set material_filenames; + std::map material_map; + int material_id = -1; // -1 = invalid + + std::vector indices; + std::vector materials; + std::vector names; + names.reserve(2); + std::vector names_out; + + std::string linebuf; + while (inStream.peek() != -1) { + safeGetline(inStream, linebuf); + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + real_t x, y, z; + real_t r, g, b; + + bool found_color = parseVertexWithColor(&x, &y, &z, &r, &g, &b, &token); + if (callback.vertex_cb) { + callback.vertex_cb(user_data, x, y, z, r); // r=w is optional + } + if (callback.vertex_color_cb) { + callback.vertex_color_cb(user_data, x, y, z, r, g, b, found_color); + } + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; + parseReal3(&x, &y, &z, &token); + if (callback.normal_cb) { + callback.normal_cb(user_data, x, y, z); + } + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; // y and z are optional. default = 0.0 + parseReal3(&x, &y, &z, &token); + if (callback.texcoord_cb) { + callback.texcoord_cb(user_data, x, y, z); + } + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + indices.clear(); + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi = parseRawTriple(&token); + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + indices.push_back(idx); + size_t n = strspn(token, " \t\r"); + token += n; + } + + if (callback.index_cb && indices.size() > 0) { + callback.index_cb(user_data, &indices.at(0), + static_cast(indices.size())); + } + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6)) && IS_SPACE((token[6]))) { + token += 7; + std::stringstream ss; + ss << token; + std::string namebuf = ss.str(); + + int newMaterialId = -1; + std::map::const_iterator it = + material_map.find(namebuf); + if (it != material_map.end()) { + newMaterialId = it->second; + } else { + // { warn!! material not found } + if (warn && (!callback.usemtl_cb)) { + (*warn) += "material [ " + namebuf + " ] not found in .mtl\n"; + } + } + + if (newMaterialId != material_id) { + material_id = newMaterialId; + } + + if (callback.usemtl_cb) { + callback.usemtl_cb(user_data, namebuf.c_str(), material_id); + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + token += 7; + + std::vector filenames; + SplitString(std::string(token), ' ', '\\', filenames); + + if (filenames.empty()) { + if (warn) { + (*warn) += + "Looks like empty filename for mtllib. Use default " + "material. \n"; + } + } else { + bool found = false; + for (size_t s = 0; s < filenames.size(); s++) { + if (material_filenames.count(filenames[s]) > 0) { + found = true; + continue; + } + + std::string warn_mtl; + std::string err_mtl; + bool ok = (*readMatFn)(filenames[s].c_str(), &materials, + &material_map, &warn_mtl, &err_mtl); + + if (warn && (!warn_mtl.empty())) { + (*warn) += warn_mtl; // This should be warn message. + } + + if (err && (!err_mtl.empty())) { + (*err) += err_mtl; + } + + if (ok) { + found = true; + material_filenames.insert(filenames[s]); + break; + } + } + + if (!found) { + if (warn) { + (*warn) += + "Failed to load material file(s). Use default " + "material.\n"; + } + } else { + if (callback.mtllib_cb) { + callback.mtllib_cb(user_data, &materials.at(0), + static_cast(materials.size())); + } + } + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + names.clear(); + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + assert(names.size() > 0); + + if (callback.group_cb) { + if (names.size() > 1) { + // create const char* array. + names_out.resize(names.size() - 1); + for (size_t j = 0; j < names_out.size(); j++) { + names_out[j] = names[j + 1].c_str(); + } + callback.group_cb(user_data, &names_out.at(0), + static_cast(names_out.size())); + + } else { + callback.group_cb(user_data, NULL, 0); + } + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // @todo { multiple object name? } + token += 2; + + std::stringstream ss; + ss << token; + std::string object_name = ss.str(); + + if (callback.object_cb) { + callback.object_cb(user_data, object_name.c_str()); + } + + continue; + } + +#if 0 // @todo + if (token[0] == 't' && IS_SPACE(token[1])) { + tag_t tag; + + token += 2; + std::stringstream ss; + ss << token; + tag.name = ss.str(); + + token += tag.name.size() + 1; + + tag_sizes ts = parseTagTriple(&token); + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = atoi(token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.floatValues.resize(static_cast(ts.num_reals)); + for (size_t i = 0; i < static_cast(ts.num_reals); ++i) { + tag.floatValues[i] = parseReal(&token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + std::stringstream ss; + ss << token; + tag.stringValues[i] = ss.str(); + token += tag.stringValues[i].size() + 1; + } + + tags.push_back(tag); + } +#endif + + // Ignore unknown command. + } + + if (err) { + (*err) += errss.str(); + } + + return true; +} + +bool ObjReader::ParseFromFile(const std::string &filename, + const ObjReaderConfig &config) { + std::string mtl_search_path; + + if (config.mtl_search_path.empty()) { + // + // split at last '/'(for unixish system) or '\\'(for windows) to get + // the base directory of .obj file + // + size_t pos = filename.find_last_of("/\\"); + if (pos != std::string::npos) { + mtl_search_path = filename.substr(0, pos); + } + } else { + mtl_search_path = config.mtl_search_path; + } + + valid_ = LoadObj(&attrib_, &shapes_, &materials_, &warning_, &error_, + filename.c_str(), mtl_search_path.c_str(), + config.triangulate, config.vertex_color); + + return valid_; +} + +bool ObjReader::ParseFromString(const std::string &obj_text, + const std::string &mtl_text, + const ObjReaderConfig &config) { + std::stringbuf obj_buf(obj_text); + std::stringbuf mtl_buf(mtl_text); + + std::istream obj_ifs(&obj_buf); + std::istream mtl_ifs(&mtl_buf); + + MaterialStreamReader mtl_ss(mtl_ifs); + + valid_ = LoadObj(&attrib_, &shapes_, &materials_, &warning_, &error_, + &obj_ifs, &mtl_ss, config.triangulate, config.vertex_color); + + return valid_; +} + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif +} // namespace tinyobj + +#endif diff --git a/src/tinygltf/CMakeLists.txt b/src/tinygltf/CMakeLists.txt new file mode 100644 index 00000000..b904f5cd --- /dev/null +++ b/src/tinygltf/CMakeLists.txt @@ -0,0 +1,2 @@ +set(SOURCE_FILES + ) \ No newline at end of file diff --git a/src/tinygltf/json.hpp b/src/tinygltf/json.hpp new file mode 100644 index 00000000..87475ab3 --- /dev/null +++ b/src/tinygltf/json.hpp @@ -0,0 +1,26753 @@ +/* + __ _____ _____ _____ + __| | __| | | | JSON for Modern C++ +| | |__ | | | | | | version 3.10.4 +|_____|_____|_____|_|___| https://github.com/nlohmann/json + +Licensed under the MIT License . +SPDX-License-Identifier: MIT +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#define NLOHMANN_JSON_VERSION_MAJOR 3 +#define NLOHMANN_JSON_VERSION_MINOR 10 +#define NLOHMANN_JSON_VERSION_PATCH 4 + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO +#include // random_access_iterator_tag +#include // unique_ptr +#include // accumulate +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include + + +#include +#include + +// #include + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include + + +#include // exception +#include // runtime_error +#include // to_string +#include // vector + +// #include + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +namespace nlohmann +{ +namespace detail +{ +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +} +} // namespace detail +} // namespace nlohmann + +// #include + + +#include +// #include + + +#include // declval, pair +// #include + + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + * + * To the extent possible under law, the author(s) have dedicated all + * copyright and related and neighboring rights to this software to + * the public domain worldwide. This software is distributed without + * any warranty. + * + * For details, see . + * SPDX-License-Identifier: CC0-1.0 + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + +// #include + + +#include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + + +// https://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; +} // namespace detail +} // namespace nlohmann + + +// This file contains all internal macro definitions +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#endif + +// allow to disable exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow to override assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + + +// inspired from https://stackoverflow.com/a/26745591 +// allows to call any std function as if (e.g. with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + + +namespace nlohmann +{ +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +inline void replace_substring(std::string& s, const std::string& f, + const std::string& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +inline std::string escape(std::string s) +{ + replace_substring(s, "~", "~0"); + replace_substring(s, "/", "~1"); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +static void unescape(std::string& s) +{ + replace_substring(s, "~1", "/"); + replace_substring(s, "~0", "~"); +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/*! +@brief general exception of the @ref basic_json class + +This class is an extension of `std::exception` objects with a member @a id for +exception ids. It is used as the base class for all exceptions thrown by the +@ref basic_json class. This class can hence be used as "wildcard" to catch +exceptions. + +Subclasses: +- @ref parse_error for exceptions indicating a parse error +- @ref invalid_iterator for exceptions indicating errors with iterators +- @ref type_error for exceptions indicating executing a member function with + a wrong type +- @ref out_of_range for exceptions indicating access out of the defined range +- @ref other_error for exceptions indicating other library errors + +@internal +@note To have nothrow-copy-constructible exceptions, we internally use + `std::runtime_error` which can cope with arbitrary-length error messages. + Intermediate strings are built with static functions and then passed to + the actual constructor. +@endinternal + +@liveexample{The following code shows how arbitrary library exceptions can be +caught.,exception} + +@since version 3.0.0 +*/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; // NOLINT(cppcoreguidelines-non-private-member-variables-in-classes) + + protected: + JSON_HEDLEY_NON_NULL(3) + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + template + static std::string diagnostics(const BasicJsonType& leaf_element) + { +#if JSON_DIAGNOSTICS + std::vector tokens; + for (const auto* current = &leaf_element; current->m_parent != nullptr; current = current->m_parent) + { + switch (current->m_parent->type()) + { + case value_t::array: + { + for (std::size_t i = 0; i < current->m_parent->m_value.array->size(); ++i) + { + if (¤t->m_parent->m_value.array->operator[](i) == current) + { + tokens.emplace_back(std::to_string(i)); + break; + } + } + break; + } + + case value_t::object: + { + for (const auto& element : *current->m_parent->m_value.object) + { + if (&element.second == current) + { + tokens.emplace_back(element.first.c_str()); + break; + } + } + break; + } + + case value_t::null: // LCOV_EXCL_LINE + case value_t::string: // LCOV_EXCL_LINE + case value_t::boolean: // LCOV_EXCL_LINE + case value_t::number_integer: // LCOV_EXCL_LINE + case value_t::number_unsigned: // LCOV_EXCL_LINE + case value_t::number_float: // LCOV_EXCL_LINE + case value_t::binary: // LCOV_EXCL_LINE + case value_t::discarded: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + break; // LCOV_EXCL_LINE + } + } + + if (tokens.empty()) + { + return ""; + } + + return "(" + std::accumulate(tokens.rbegin(), tokens.rend(), std::string{}, + [](const std::string & a, const std::string & b) + { + return a + "/" + detail::escape(b); + }) + ") "; +#else + static_cast(leaf_element); + return ""; +#endif + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/*! +@brief exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors +can occur during the deserialization of JSON text, CBOR, MessagePack, as well +as when using JSON Patch. + +Member @a byte holds the byte index of the last read character in the input +file. + +Exceptions have ids 1xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. +json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. +json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. +json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. +json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. +json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. +json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. +json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. +json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. +json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. +json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. +json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. +json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). +json.exception.parse_error.115 | parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A | A UBJSON high-precision number could not be parsed. + +@note For an input with n bytes, 1 is the index of the first character and n+1 + is the index of the terminating null byte or the end of file. This also + holds true when reading a byte vector (CBOR or MessagePack). + +@liveexample{The following code shows how a `parse_error` exception can be +caught.,parse_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + template + static parse_error create(int id_, const position_t& pos, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + exception::diagnostics(context) + what_arg; + return parse_error(id_, pos.chars_read_total, w.c_str()); + } + + template + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + exception::diagnostics(context) + what_arg; + return parse_error(id_, byte_, w.c_str()); + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/*! +@brief exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match +the expected semantics. + +Exceptions have ids 2xx. + +name / id | example message | description +----------------------------------- | --------------- | ------------------------- +json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. +json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. +json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. +json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. +json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. +json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. +json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. +json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. +json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. +json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. +json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. +json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). + +@liveexample{The following code shows how an `invalid_iterator` exception can be +caught.,invalid_iterator} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class invalid_iterator : public exception +{ + public: + template + static invalid_iterator create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("invalid_iterator", id_) + exception::diagnostics(context) + what_arg; + return invalid_iterator(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is +executed on a JSON value whose type does not match the expected semantics. + +Exceptions have ids 3xx. + +name / id | example message | description +----------------------------- | --------------- | ------------------------- +json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. +json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. +json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. +json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. +json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. +json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. +json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. +json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. +json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. +json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. +json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. +json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. +json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. +json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. +json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. +json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | +json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | + +@liveexample{The following code shows how a `type_error` exception can be +caught.,type_error} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref out_of_range for exceptions indicating access out of the defined range +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class type_error : public exception +{ + public: + template + static type_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("type_error", id_) + exception::diagnostics(context) + what_arg; + return type_error(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input +parameter that exceeds the expected range, for instance in case of array +indices or nonexisting object keys. + +Exceptions have ids 4xx. + +name / id | example message | description +------------------------------- | --------------- | ------------------------- +json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. +json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. +json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. +json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. +json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. +json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. +json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0) | +json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | +json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | + +@liveexample{The following code shows how an `out_of_range` exception can be +caught.,out_of_range} + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref other_error for exceptions indicating other library errors + +@since version 3.0.0 +*/ +class out_of_range : public exception +{ + public: + template + static out_of_range create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("out_of_range", id_) + exception::diagnostics(context) + what_arg; + return out_of_range(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/*! +@brief exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the +other exception types. + +Exceptions have ids 5xx. + +name / id | example message | description +------------------------------ | --------------- | ------------------------- +json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. + +@sa - @ref exception for the base class of the library exceptions +@sa - @ref parse_error for exceptions indicating a parse error +@sa - @ref invalid_iterator for exceptions indicating errors with iterators +@sa - @ref type_error for exceptions indicating executing a member function with + a wrong type +@sa - @ref out_of_range for exceptions indicating access out of the defined range + +@liveexample{The following code shows how an `other_error` exception can be +caught.,other_error} + +@since version 3.0.0 +*/ +class other_error : public exception +{ + public: + template + static other_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("other_error", id_) + exception::diagnostics(context) + what_arg; + return other_error(id_, w.c_str()); + } + + private: + JSON_HEDLEY_NON_NULL(3) + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +template +using uncvref_t = typename std::remove_cv::type>::type; + +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence +{ + using value_type = T; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; + +namespace utility_internal +{ + +template +struct Extend; + +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; + +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template +using index_sequence_for = make_index_sequence; + +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static constexpr T value{}; +}; + +template +constexpr T static_const::value; + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +// dispatching helper struct +template struct identity_tag {}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // numeric_limits +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval +#include // tuple + +// #include + + +// #include + + +#include // random_access_iterator_tag + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +// #include + + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); +} // namespace nlohmann + +// #include + + +// #include + + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); +} // namespace nlohmann + +// #include + +// #include + +// #include +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ +#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + +#include // int64_t, uint64_t +#include // map +#include // allocator +#include // string +#include // vector + +/*! +@brief namespace for Niels Lohmann +@see https://github.com/nlohmann +@since version 1.0.0 +*/ +namespace nlohmann +{ +/*! +@brief default JSONSerializer template argument + +This serializer ignores the template arguments and uses ADL +([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) +for serialization. +*/ +template +struct adl_serializer; + +template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector> +class basic_json; + +/*! +@brief JSON Pointer + +A JSON pointer defines a string syntax for identifying a specific value +within a JSON document. It can be used with functions `at` and +`operator[]`. Furthermore, JSON pointers are the base for JSON patches. + +@sa [RFC 6901](https://tools.ietf.org/html/rfc6901) + +@since version 2.0.0 +*/ +template +class json_pointer; + +/*! +@brief default JSON class + +This type is the default specialization of the @ref basic_json class which +uses the standard template types. + +@since version 1.0.0 +*/ +using json = basic_json<>; + +template +struct ordered_map; + +/*! +@brief ordered JSON class + +This type preserves the insertion order of object keys. + +@since version 3.9.0 +*/ +using ordered_json = basic_json; + +} // namespace nlohmann + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +namespace nlohmann +{ +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e. those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g. to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + + +/////////////////// +// is_ functions // +/////////////////// + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B1 { }; +template +struct conjunction +: std::conditional, B1>::type {}; + +// https://en.cppreference.com/w/cpp/types/negation +template struct negation : std::integral_constant < bool, !B::value > { }; + +// Reimplementation of is_constructible and is_default_constructible, due to them being broken for +// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). +// This causes compile errors in e.g. clang 3.5 or gcc 4.9. +template +struct is_default_constructible : std::is_default_constructible {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + + +template +struct is_constructible : std::is_constructible {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +template +struct is_range +{ + private: + using t_ref = typename std::add_lvalue_reference::type; + + using iterator = detected_t; + using sentinel = detected_t; + + // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator + // and https://en.cppreference.com/w/cpp/iterator/sentinel_for + // but reimplementing these would be too much work, as a lot of other concepts are used underneath + static constexpr auto is_iterator_begin = + is_iterator_traits>::value; + + public: + static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; +}; + +template +using iterator_t = enable_if_t::value, result_of_begin())>>; + +template +using range_value_t = value_type_t>>; + +// The following implementation of is_complete_type is taken from +// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +// and is written by Xiang Fan who agreed to using it in this library. + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + is_constructible::value && + is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_constructible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < + is_detected::value&& + is_iterator_traits>>::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 + !std::is_same>::value >> +{ + static constexpr bool value = + is_constructible>::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + !is_compatible_string_type::value&& + is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_iterator_traits>>::value&& +is_detected::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 +!std::is_same>::value&& + is_complete_type < + detected_t>::value >> +{ + using value_type = range_value_t; + + static constexpr bool value = + std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, + value_type >::value; +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; + +// a naive helper to check if a type is an ordered_map (exploits the fact that +// ordered_map inherits capacity() from std::vector) +template +struct is_ordered_map +{ + using one = char; + + struct two + { + char x[2]; // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) + }; + + template static one test( decltype(&C::capacity) ) ; + template static two test(...); + + enum { value = sizeof(test(nullptr)) == sizeof(char) }; // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +}; + +// to avoid useless casts (see https://github.com/nlohmann/json/issues/2893#issuecomment-889152324) +template < typename T, typename U, enable_if_t < !std::is_same::value, int > = 0 > +T conditional_static_cast(U value) +{ + return static_cast(value); +} + +template::value, int> = 0> +T conditional_static_cast(U value) +{ + return value; +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#ifdef JSON_HAS_CPP_17 + #include +#endif + +namespace nlohmann +{ +namespace detail +{ +template +void from_json(const BasicJsonType& j, typename std::nullptr_t& n) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_null())) + { + JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name()), j)); + } + n = nullptr; +} + +// overloads for basic_json template parameters +template < typename BasicJsonType, typename ArithmeticType, + enable_if_t < std::is_arithmetic::value&& + !std::is_same::value, + int > = 0 > +void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val) +{ + switch (static_cast(j)) + { + case value_t::number_unsigned: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_integer: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_float: + { + val = static_cast(*j.template get_ptr()); + break; + } + + case value_t::null: + case value_t::object: + case value_t::array: + case value_t::string: + case value_t::boolean: + case value_t::binary: + case value_t::discarded: + default: + JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()), j)); + } +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_boolean())) + { + JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name()), j)); + } + b = *j.template get_ptr(); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_string())) + { + JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()), j)); + } + s = *j.template get_ptr(); +} + +template < + typename BasicJsonType, typename ConstructibleStringType, + enable_if_t < + is_constructible_string_type::value&& + !std::is_same::value, + int > = 0 > +void from_json(const BasicJsonType& j, ConstructibleStringType& s) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_string())) + { + JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()), j)); + } + + s = *j.template get_ptr(); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val) +{ + get_arithmetic_value(j, val); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val) +{ + get_arithmetic_value(j, val); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val) +{ + get_arithmetic_value(j, val); +} + +template::value, int> = 0> +void from_json(const BasicJsonType& j, EnumType& e) +{ + typename std::underlying_type::type val; + get_arithmetic_value(j, val); + e = static_cast(val); +} + +// forward_list doesn't have an insert method +template::value, int> = 0> +void from_json(const BasicJsonType& j, std::forward_list& l) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + l.clear(); + std::transform(j.rbegin(), j.rend(), + std::front_inserter(l), [](const BasicJsonType & i) + { + return i.template get(); + }); +} + +// valarray doesn't have an insert method +template::value, int> = 0> +void from_json(const BasicJsonType& j, std::valarray& l) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + l.resize(j.size()); + std::transform(j.begin(), j.end(), std::begin(l), + [](const BasicJsonType & elem) + { + return elem.template get(); + }); +} + +template +auto from_json(const BasicJsonType& j, T (&arr)[N]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get(), void()) +{ + for (std::size_t i = 0; i < N; ++i) + { + arr[i] = j.at(i).template get(); + } +} + +template +void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/) +{ + arr = *j.template get_ptr(); +} + +template +auto from_json_array_impl(const BasicJsonType& j, std::array& arr, + priority_tag<2> /*unused*/) +-> decltype(j.template get(), void()) +{ + for (std::size_t i = 0; i < N; ++i) + { + arr[i] = j.at(i).template get(); + } +} + +template::value, + int> = 0> +auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/) +-> decltype( + arr.reserve(std::declval()), + j.template get(), + void()) +{ + using std::end; + + ConstructibleArrayType ret; + ret.reserve(j.size()); + std::transform(j.begin(), j.end(), + std::inserter(ret, end(ret)), [](const BasicJsonType & i) + { + // get() returns *this, this won't call a from_json + // method when value_type is BasicJsonType + return i.template get(); + }); + arr = std::move(ret); +} + +template::value, + int> = 0> +void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, + priority_tag<0> /*unused*/) +{ + using std::end; + + ConstructibleArrayType ret; + std::transform( + j.begin(), j.end(), std::inserter(ret, end(ret)), + [](const BasicJsonType & i) + { + // get() returns *this, this won't call a from_json + // method when value_type is BasicJsonType + return i.template get(); + }); + arr = std::move(ret); +} + +template < typename BasicJsonType, typename ConstructibleArrayType, + enable_if_t < + is_constructible_array_type::value&& + !is_constructible_object_type::value&& + !is_constructible_string_type::value&& + !std::is_same::value&& + !is_basic_json::value, + int > = 0 > +auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr) +-> decltype(from_json_array_impl(j, arr, priority_tag<3> {}), +j.template get(), +void()) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + + from_json_array_impl(j, arr, priority_tag<3> {}); +} + +template < typename BasicJsonType, typename T, std::size_t... Idx > +std::array from_json_inplace_array_impl(BasicJsonType&& j, + identity_tag> /*unused*/, index_sequence /*unused*/) +{ + return { { std::forward(j).at(Idx).template get()... } }; +} + +template < typename BasicJsonType, typename T, std::size_t N > +auto from_json(BasicJsonType&& j, identity_tag> tag) +-> decltype(from_json_inplace_array_impl(std::forward(j), tag, make_index_sequence {})) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + + return from_json_inplace_array_impl(std::forward(j), tag, make_index_sequence {}); +} + +template +void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t& bin) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_binary())) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(j.type_name()), j)); + } + + bin = *j.template get_ptr(); +} + +template::value, int> = 0> +void from_json(const BasicJsonType& j, ConstructibleObjectType& obj) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_object())) + { + JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name()), j)); + } + + ConstructibleObjectType ret; + const auto* inner_object = j.template get_ptr(); + using value_type = typename ConstructibleObjectType::value_type; + std::transform( + inner_object->begin(), inner_object->end(), + std::inserter(ret, ret.begin()), + [](typename BasicJsonType::object_t::value_type const & p) + { + return value_type(p.first, p.second.template get()); + }); + obj = std::move(ret); +} + +// overload for arithmetic types, not chosen for basic_json template arguments +// (BooleanType, etc..); note: Is it really necessary to provide explicit +// overloads for boolean_t etc. in case of a custom BooleanType which is not +// an arithmetic type? +template < typename BasicJsonType, typename ArithmeticType, + enable_if_t < + std::is_arithmetic::value&& + !std::is_same::value&& + !std::is_same::value&& + !std::is_same::value&& + !std::is_same::value, + int > = 0 > +void from_json(const BasicJsonType& j, ArithmeticType& val) +{ + switch (static_cast(j)) + { + case value_t::number_unsigned: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_integer: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::number_float: + { + val = static_cast(*j.template get_ptr()); + break; + } + case value_t::boolean: + { + val = static_cast(*j.template get_ptr()); + break; + } + + case value_t::null: + case value_t::object: + case value_t::array: + case value_t::string: + case value_t::binary: + case value_t::discarded: + default: + JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()), j)); + } +} + +template +std::tuple from_json_tuple_impl_base(BasicJsonType&& j, index_sequence /*unused*/) +{ + return std::make_tuple(std::forward(j).at(Idx).template get()...); +} + +template < typename BasicJsonType, class A1, class A2 > +std::pair from_json_tuple_impl(BasicJsonType&& j, identity_tag> /*unused*/, priority_tag<0> /*unused*/) +{ + return {std::forward(j).at(0).template get(), + std::forward(j).at(1).template get()}; +} + +template +void from_json_tuple_impl(BasicJsonType&& j, std::pair& p, priority_tag<1> /*unused*/) +{ + p = from_json_tuple_impl(std::forward(j), identity_tag> {}, priority_tag<0> {}); +} + +template +std::tuple from_json_tuple_impl(BasicJsonType&& j, identity_tag> /*unused*/, priority_tag<2> /*unused*/) +{ + return from_json_tuple_impl_base(std::forward(j), index_sequence_for {}); +} + +template +void from_json_tuple_impl(BasicJsonType&& j, std::tuple& t, priority_tag<3> /*unused*/) +{ + t = from_json_tuple_impl_base(std::forward(j), index_sequence_for {}); +} + +template +auto from_json(BasicJsonType&& j, TupleRelated&& t) +-> decltype(from_json_tuple_impl(std::forward(j), std::forward(t), priority_tag<3> {})) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + + return from_json_tuple_impl(std::forward(j), std::forward(t), priority_tag<3> {}); +} + +template < typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator, + typename = enable_if_t < !std::is_constructible < + typename BasicJsonType::string_t, Key >::value >> +void from_json(const BasicJsonType& j, std::map& m) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + m.clear(); + for (const auto& p : j) + { + if (JSON_HEDLEY_UNLIKELY(!p.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()), j)); + } + m.emplace(p.at(0).template get(), p.at(1).template get()); + } +} + +template < typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator, + typename = enable_if_t < !std::is_constructible < + typename BasicJsonType::string_t, Key >::value >> +void from_json(const BasicJsonType& j, std::unordered_map& m) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j)); + } + m.clear(); + for (const auto& p : j) + { + if (JSON_HEDLEY_UNLIKELY(!p.is_array())) + { + JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()), j)); + } + m.emplace(p.at(0).template get(), p.at(1).template get()); + } +} + +#ifdef JSON_HAS_CPP_17 +template +void from_json(const BasicJsonType& j, std::filesystem::path& p) +{ + if (JSON_HEDLEY_UNLIKELY(!j.is_string())) + { + JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()), j)); + } + p = *j.template get_ptr(); +} +#endif + +struct from_json_fn +{ + template + auto operator()(const BasicJsonType& j, T&& val) const + noexcept(noexcept(from_json(j, std::forward(val)))) + -> decltype(from_json(j, std::forward(val))) + { + return from_json(j, std::forward(val)); + } +}; +} // namespace detail + +/// namespace to hold default `from_json` function +/// to see why this is required: +/// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html +namespace // NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces) +{ +constexpr const auto& from_json = detail::static_const::value; // NOLINT(misc-definitions-in-headers) +} // namespace +} // namespace nlohmann + +// #include + + +#include // copy +#include // begin, end +#include // string +#include // tuple, get +#include // is_same, is_constructible, is_floating_point, is_enum, underlying_type +#include // move, forward, declval, pair +#include // valarray +#include // vector + +// #include + +// #include + + +#include // size_t +#include // input_iterator_tag +#include // string, to_string +#include // tuple_size, get, tuple_element +#include // move + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +void int_to_string( string_type& target, std::size_t value ) +{ + // For ADL + using std::to_string; + target = to_string(value); +} +template class iteration_proxy_value +{ + public: + using difference_type = std::ptrdiff_t; + using value_type = iteration_proxy_value; + using pointer = value_type * ; + using reference = value_type & ; + using iterator_category = std::input_iterator_tag; + using string_type = typename std::remove_cv< typename std::remove_reference().key() ) >::type >::type; + + private: + /// the iterator + IteratorType anchor; + /// an index for arrays (used to create key names) + std::size_t array_index = 0; + /// last stringified array index + mutable std::size_t array_index_last = 0; + /// a string representation of the array index + mutable string_type array_index_str = "0"; + /// an empty string (to return a reference for primitive values) + const string_type empty_str{}; + + public: + explicit iteration_proxy_value(IteratorType it) noexcept + : anchor(std::move(it)) + {} + + /// dereference operator (needed for range-based for) + iteration_proxy_value& operator*() + { + return *this; + } + + /// increment operator (needed for range-based for) + iteration_proxy_value& operator++() + { + ++anchor; + ++array_index; + + return *this; + } + + /// equality operator (needed for InputIterator) + bool operator==(const iteration_proxy_value& o) const + { + return anchor == o.anchor; + } + + /// inequality operator (needed for range-based for) + bool operator!=(const iteration_proxy_value& o) const + { + return anchor != o.anchor; + } + + /// return key of the iterator + const string_type& key() const + { + JSON_ASSERT(anchor.m_object != nullptr); + + switch (anchor.m_object->type()) + { + // use integer array index as key + case value_t::array: + { + if (array_index != array_index_last) + { + int_to_string( array_index_str, array_index ); + array_index_last = array_index; + } + return array_index_str; + } + + // use key from the object + case value_t::object: + return anchor.key(); + + // use an empty key for all primitive types + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + return empty_str; + } + } + + /// return value of the iterator + typename IteratorType::reference value() const + { + return anchor.value(); + } +}; + +/// proxy class for the items() function +template class iteration_proxy +{ + private: + /// the container to iterate + typename IteratorType::reference container; + + public: + /// construct iteration proxy from a container + explicit iteration_proxy(typename IteratorType::reference cont) noexcept + : container(cont) {} + + /// return iterator begin (needed for range-based for) + iteration_proxy_value begin() noexcept + { + return iteration_proxy_value(container.begin()); + } + + /// return iterator end (needed for range-based for) + iteration_proxy_value end() noexcept + { + return iteration_proxy_value(container.end()); + } +}; +// Structured Bindings Support +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +template = 0> +auto get(const nlohmann::detail::iteration_proxy_value& i) -> decltype(i.key()) +{ + return i.key(); +} +// Structured Bindings Support +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +template = 0> +auto get(const nlohmann::detail::iteration_proxy_value& i) -> decltype(i.value()) +{ + return i.value(); +} +} // namespace detail +} // namespace nlohmann + +// The Addition to the STD Namespace is required to add +// Structured Bindings Support to the iteration_proxy_value class +// For further reference see https://blog.tartanllama.xyz/structured-bindings/ +// And see https://github.com/nlohmann/json/pull/1391 +namespace std +{ +#if defined(__clang__) + // Fix: https://github.com/nlohmann/json/issues/1401 + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wmismatched-tags" +#endif +template +class tuple_size<::nlohmann::detail::iteration_proxy_value> + : public std::integral_constant {}; + +template +class tuple_element> +{ + public: + using type = decltype( + get(std::declval < + ::nlohmann::detail::iteration_proxy_value> ())); +}; +#if defined(__clang__) + #pragma clang diagnostic pop +#endif +} // namespace std + +// #include + +// #include + +// #include + + +#ifdef JSON_HAS_CPP_17 + #include +#endif + +namespace nlohmann +{ +namespace detail +{ +////////////////// +// constructors // +////////////////// + +/* + * Note all external_constructor<>::construct functions need to call + * j.m_value.destroy(j.m_type) to avoid a memory leak in case j contains an + * allocated value (e.g., a string). See bug issue + * https://github.com/nlohmann/json/issues/2865 for more information. + */ + +template struct external_constructor; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::boolean; + j.m_value = b; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::string; + j.m_value = s; + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::string; + j.m_value = std::move(s); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleStringType, + enable_if_t < !std::is_same::value, + int > = 0 > + static void construct(BasicJsonType& j, const CompatibleStringType& str) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::string; + j.m_value.string = j.template create(str); + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::binary_t& b) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::binary; + j.m_value = typename BasicJsonType::binary_t(b); + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::binary_t&& b) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::binary; + j.m_value = typename BasicJsonType::binary_t(std::move(b)); + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::number_float; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::number_unsigned; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::number_integer; + j.m_value = val; + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::array; + j.m_value = arr; + j.set_parents(); + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::array; + j.m_value = std::move(arr); + j.set_parents(); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleArrayType, + enable_if_t < !std::is_same::value, + int > = 0 > + static void construct(BasicJsonType& j, const CompatibleArrayType& arr) + { + using std::begin; + using std::end; + + j.m_value.destroy(j.m_type); + j.m_type = value_t::array; + j.m_value.array = j.template create(begin(arr), end(arr)); + j.set_parents(); + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, const std::vector& arr) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::array; + j.m_value = value_t::array; + j.m_value.array->reserve(arr.size()); + for (const bool x : arr) + { + j.m_value.array->push_back(x); + j.set_parent(j.m_value.array->back()); + } + j.assert_invariant(); + } + + template::value, int> = 0> + static void construct(BasicJsonType& j, const std::valarray& arr) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::array; + j.m_value = value_t::array; + j.m_value.array->resize(arr.size()); + if (arr.size() > 0) + { + std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin()); + } + j.set_parents(); + j.assert_invariant(); + } +}; + +template<> +struct external_constructor +{ + template + static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::object; + j.m_value = obj; + j.set_parents(); + j.assert_invariant(); + } + + template + static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj) + { + j.m_value.destroy(j.m_type); + j.m_type = value_t::object; + j.m_value = std::move(obj); + j.set_parents(); + j.assert_invariant(); + } + + template < typename BasicJsonType, typename CompatibleObjectType, + enable_if_t < !std::is_same::value, int > = 0 > + static void construct(BasicJsonType& j, const CompatibleObjectType& obj) + { + using std::begin; + using std::end; + + j.m_value.destroy(j.m_type); + j.m_type = value_t::object; + j.m_value.object = j.template create(begin(obj), end(obj)); + j.set_parents(); + j.assert_invariant(); + } +}; + +///////////// +// to_json // +///////////// + +template::value, int> = 0> +void to_json(BasicJsonType& j, T b) noexcept +{ + external_constructor::construct(j, b); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, const CompatibleString& s) +{ + external_constructor::construct(j, s); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s) +{ + external_constructor::construct(j, std::move(s)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, FloatType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept +{ + external_constructor::construct(j, static_cast(val)); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, EnumType e) noexcept +{ + using underlying_type = typename std::underlying_type::type; + external_constructor::construct(j, static_cast(e)); +} + +template +void to_json(BasicJsonType& j, const std::vector& e) +{ + external_constructor::construct(j, e); +} + +template < typename BasicJsonType, typename CompatibleArrayType, + enable_if_t < is_compatible_array_type::value&& + !is_compatible_object_type::value&& + !is_compatible_string_type::value&& + !std::is_same::value&& + !is_basic_json::value, + int > = 0 > +void to_json(BasicJsonType& j, const CompatibleArrayType& arr) +{ + external_constructor::construct(j, arr); +} + +template +void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t& bin) +{ + external_constructor::construct(j, bin); +} + +template::value, int> = 0> +void to_json(BasicJsonType& j, const std::valarray& arr) +{ + external_constructor::construct(j, std::move(arr)); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr) +{ + external_constructor::construct(j, std::move(arr)); +} + +template < typename BasicJsonType, typename CompatibleObjectType, + enable_if_t < is_compatible_object_type::value&& !is_basic_json::value, int > = 0 > +void to_json(BasicJsonType& j, const CompatibleObjectType& obj) +{ + external_constructor::construct(j, obj); +} + +template +void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj) +{ + external_constructor::construct(j, std::move(obj)); +} + +template < + typename BasicJsonType, typename T, std::size_t N, + enable_if_t < !std::is_constructible::value, // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) + int > = 0 > +void to_json(BasicJsonType& j, const T(&arr)[N]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +{ + external_constructor::construct(j, arr); +} + +template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible::value&& std::is_constructible::value, int > = 0 > +void to_json(BasicJsonType& j, const std::pair& p) +{ + j = { p.first, p.second }; +} + +// for https://github.com/nlohmann/json/pull/1134 +template>::value, int> = 0> +void to_json(BasicJsonType& j, const T& b) +{ + j = { {b.key(), b.value()} }; +} + +template +void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence /*unused*/) +{ + j = { std::get(t)... }; +} + +template::value, int > = 0> +void to_json(BasicJsonType& j, const T& t) +{ + to_json_tuple_impl(j, t, make_index_sequence::value> {}); +} + +#ifdef JSON_HAS_CPP_17 +template +void to_json(BasicJsonType& j, const std::filesystem::path& p) +{ + j = p.string(); +} +#endif + +struct to_json_fn +{ + template + auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward(val)))) + -> decltype(to_json(j, std::forward(val)), void()) + { + return to_json(j, std::forward(val)); + } +}; +} // namespace detail + +/// namespace to hold default `to_json` function +/// to see why this is required: +/// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html +namespace // NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces) +{ +constexpr const auto& to_json = detail::static_const::value; // NOLINT(misc-definitions-in-headers) +} // namespace +} // namespace nlohmann + +// #include + +// #include + + +namespace nlohmann +{ + +template +struct adl_serializer +{ + /*! + @brief convert a JSON value to any value type + + This function is usually called by the `get()` function of the + @ref basic_json class (either explicit or via conversion operators). + + @note This function is chosen for default-constructible value types. + + @param[in] j JSON value to read from + @param[in,out] val value to write to + */ + template + static auto from_json(BasicJsonType && j, TargetType& val) noexcept( + noexcept(::nlohmann::from_json(std::forward(j), val))) + -> decltype(::nlohmann::from_json(std::forward(j), val), void()) + { + ::nlohmann::from_json(std::forward(j), val); + } + + /*! + @brief convert a JSON value to any value type + + This function is usually called by the `get()` function of the + @ref basic_json class (either explicit or via conversion operators). + + @note This function is chosen for value types which are not default-constructible. + + @param[in] j JSON value to read from + + @return copy of the JSON value, converted to @a ValueType + */ + template + static auto from_json(BasicJsonType && j) noexcept( + noexcept(::nlohmann::from_json(std::forward(j), detail::identity_tag {}))) + -> decltype(::nlohmann::from_json(std::forward(j), detail::identity_tag {})) + { + return ::nlohmann::from_json(std::forward(j), detail::identity_tag {}); + } + + /*! + @brief convert any value type to a JSON value + + This function is usually called by the constructors of the @ref basic_json + class. + + @param[in,out] j JSON value to write to + @param[in] val value to read from + */ + template + static auto to_json(BasicJsonType& j, TargetType && val) noexcept( + noexcept(::nlohmann::to_json(j, std::forward(val)))) + -> decltype(::nlohmann::to_json(j, std::forward(val)), void()) + { + ::nlohmann::to_json(j, std::forward(val)); + } +}; +} // namespace nlohmann + +// #include + + +#include // uint8_t, uint64_t +#include // tie +#include // move + +namespace nlohmann +{ + +/*! +@brief an internal type for a backed binary type + +This type extends the template parameter @a BinaryType provided to `basic_json` +with a subtype used by BSON and MessagePack. This type exists so that the user +does not have to specify a type themselves with a specific naming scheme in +order to override the binary type. + +@tparam BinaryType container to store bytes (`std::vector` by + default) + +@since version 3.8.0; changed type of subtypes to std::uint64_t in 3.10.0. +*/ +template +class byte_container_with_subtype : public BinaryType +{ + public: + /// the type of the underlying container + using container_type = BinaryType; + /// the type of the subtype + using subtype_type = std::uint64_t; + + byte_container_with_subtype() noexcept(noexcept(container_type())) + : container_type() + {} + + byte_container_with_subtype(const container_type& b) noexcept(noexcept(container_type(b))) + : container_type(b) + {} + + byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + {} + + byte_container_with_subtype(const container_type& b, subtype_type subtype_) noexcept(noexcept(container_type(b))) + : container_type(b) + , m_subtype(subtype_) + , m_has_subtype(true) + {} + + byte_container_with_subtype(container_type&& b, subtype_type subtype_) noexcept(noexcept(container_type(std::move(b)))) + : container_type(std::move(b)) + , m_subtype(subtype_) + , m_has_subtype(true) + {} + + bool operator==(const byte_container_with_subtype& rhs) const + { + return std::tie(static_cast(*this), m_subtype, m_has_subtype) == + std::tie(static_cast(rhs), rhs.m_subtype, rhs.m_has_subtype); + } + + bool operator!=(const byte_container_with_subtype& rhs) const + { + return !(rhs == *this); + } + + /*! + @brief sets the binary subtype + + Sets the binary subtype of the value, also flags a binary JSON value as + having a subtype, which has implications for serialization. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa see @ref subtype() -- return the binary subtype + @sa see @ref clear_subtype() -- clears the binary subtype + @sa see @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void set_subtype(subtype_type subtype_) noexcept + { + m_subtype = subtype_; + m_has_subtype = true; + } + + /*! + @brief return the binary subtype + + Returns the numerical subtype of the value if it has a subtype. If it does + not have a subtype, this function will return subtype_type(-1) as a sentinel + value. + + @return the numerical subtype of the binary value + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa see @ref set_subtype() -- sets the binary subtype + @sa see @ref clear_subtype() -- clears the binary subtype + @sa see @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0; fixed return value to properly return + subtype_type(-1) as documented in version 3.10.0 + */ + constexpr subtype_type subtype() const noexcept + { + return m_has_subtype ? m_subtype : subtype_type(-1); + } + + /*! + @brief return whether the value has a subtype + + @return whether the value has a subtype + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa see @ref subtype() -- return the binary subtype + @sa see @ref set_subtype() -- sets the binary subtype + @sa see @ref clear_subtype() -- clears the binary subtype + + @since version 3.8.0 + */ + constexpr bool has_subtype() const noexcept + { + return m_has_subtype; + } + + /*! + @brief clears the binary subtype + + Clears the binary subtype and flags the value as not having a subtype, which + has implications for serialization; for instance MessagePack will prefer the + bin family over the ext family. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @sa see @ref subtype() -- return the binary subtype + @sa see @ref set_subtype() -- sets the binary subtype + @sa see @ref has_subtype() -- returns whether or not the binary value has a + subtype + + @since version 3.8.0 + */ + void clear_subtype() noexcept + { + m_subtype = 0; + m_has_subtype = false; + } + + private: + subtype_type m_subtype = 0; + bool m_has_subtype = false; +}; + +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + + +#include // uint8_t +#include // size_t +#include // hash + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +// boost::hash_combine +inline std::size_t combine(std::size_t seed, std::size_t h) noexcept +{ + seed ^= h + 0x9e3779b9 + (seed << 6U) + (seed >> 2U); + return seed; +} + +/*! +@brief hash a JSON value + +The hash function tries to rely on std::hash where possible. Furthermore, the +type of the JSON value is taken into account to have different hash values for +null, 0, 0U, and false, etc. + +@tparam BasicJsonType basic_json specialization +@param j JSON value to hash +@return hash value of j +*/ +template +std::size_t hash(const BasicJsonType& j) +{ + using string_t = typename BasicJsonType::string_t; + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + + const auto type = static_cast(j.type()); + switch (j.type()) + { + case BasicJsonType::value_t::null: + case BasicJsonType::value_t::discarded: + { + return combine(type, 0); + } + + case BasicJsonType::value_t::object: + { + auto seed = combine(type, j.size()); + for (const auto& element : j.items()) + { + const auto h = std::hash {}(element.key()); + seed = combine(seed, h); + seed = combine(seed, hash(element.value())); + } + return seed; + } + + case BasicJsonType::value_t::array: + { + auto seed = combine(type, j.size()); + for (const auto& element : j) + { + seed = combine(seed, hash(element)); + } + return seed; + } + + case BasicJsonType::value_t::string: + { + const auto h = std::hash {}(j.template get_ref()); + return combine(type, h); + } + + case BasicJsonType::value_t::boolean: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case BasicJsonType::value_t::number_integer: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case BasicJsonType::value_t::number_unsigned: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case BasicJsonType::value_t::number_float: + { + const auto h = std::hash {}(j.template get()); + return combine(type, h); + } + + case BasicJsonType::value_t::binary: + { + auto seed = combine(type, j.get_binary().size()); + const auto h = std::hash {}(j.get_binary().has_subtype()); + seed = combine(seed, h); + seed = combine(seed, static_cast(j.get_binary().subtype())); + for (const auto byte : j.get_binary()) + { + seed = combine(seed, std::hash {}(byte)); + } + return seed; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + return 0; // LCOV_EXCL_LINE + } +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // generate_n +#include // array +#include // ldexp +#include // size_t +#include // uint8_t, uint16_t, uint32_t, uint64_t +#include // snprintf +#include // memcpy +#include // back_inserter +#include // numeric_limits +#include // char_traits, string +#include // make_pair, move +#include // vector + +// #include + +// #include + + +#include // array +#include // size_t +#include // strlen +#include // begin, end, iterator_traits, random_access_iterator_tag, distance, next +#include // shared_ptr, make_shared, addressof +#include // accumulate +#include // string, char_traits +#include // enable_if, is_base_of, is_pointer, is_integral, remove_pointer +#include // pair, declval + +#ifndef JSON_NO_IO + #include // FILE * + #include // istream +#endif // JSON_NO_IO + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/// the supported input formats +enum class input_format_t { json, cbor, msgpack, ubjson, bson }; + +//////////////////// +// input adapters // +//////////////////// + +#ifndef JSON_NO_IO +/*! +Input adapter for stdio file access. This adapter read only 1 byte and do not use any + buffer. This adapter is a very low level adapter. +*/ +class file_input_adapter +{ + public: + using char_type = char; + + JSON_HEDLEY_NON_NULL(2) + explicit file_input_adapter(std::FILE* f) noexcept + : m_file(f) + {} + + // make class move-only + file_input_adapter(const file_input_adapter&) = delete; + file_input_adapter(file_input_adapter&&) noexcept = default; + file_input_adapter& operator=(const file_input_adapter&) = delete; + file_input_adapter& operator=(file_input_adapter&&) = delete; + ~file_input_adapter() = default; + + std::char_traits::int_type get_character() noexcept + { + return std::fgetc(m_file); + } + + private: + /// the file pointer to read from + std::FILE* m_file; +}; + + +/*! +Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at +beginning of input. Does not support changing the underlying std::streambuf +in mid-input. Maintains underlying std::istream and std::streambuf to support +subsequent use of standard std::istream operations to process any input +characters following those used in parsing the JSON input. Clears the +std::istream flags; any input errors (e.g., EOF) will be detected by the first +subsequent call for input from the std::istream. +*/ +class input_stream_adapter +{ + public: + using char_type = char; + + ~input_stream_adapter() + { + // clear stream flags; we use underlying streambuf I/O, do not + // maintain ifstream flags, except eof + if (is != nullptr) + { + is->clear(is->rdstate() & std::ios::eofbit); + } + } + + explicit input_stream_adapter(std::istream& i) + : is(&i), sb(i.rdbuf()) + {} + + // delete because of pointer members + input_stream_adapter(const input_stream_adapter&) = delete; + input_stream_adapter& operator=(input_stream_adapter&) = delete; + input_stream_adapter& operator=(input_stream_adapter&&) = delete; + + input_stream_adapter(input_stream_adapter&& rhs) noexcept + : is(rhs.is), sb(rhs.sb) + { + rhs.is = nullptr; + rhs.sb = nullptr; + } + + // std::istream/std::streambuf use std::char_traits::to_int_type, to + // ensure that std::char_traits::eof() and the character 0xFF do not + // end up as the same value, eg. 0xFFFFFFFF. + std::char_traits::int_type get_character() + { + auto res = sb->sbumpc(); + // set eof manually, as we don't use the istream interface. + if (JSON_HEDLEY_UNLIKELY(res == std::char_traits::eof())) + { + is->clear(is->rdstate() | std::ios::eofbit); + } + return res; + } + + private: + /// the associated input stream + std::istream* is = nullptr; + std::streambuf* sb = nullptr; +}; +#endif // JSON_NO_IO + +// General-purpose iterator-based adapter. It might not be as fast as +// theoretically possible for some containers, but it is extremely versatile. +template +class iterator_input_adapter +{ + public: + using char_type = typename std::iterator_traits::value_type; + + iterator_input_adapter(IteratorType first, IteratorType last) + : current(std::move(first)), end(std::move(last)) + {} + + typename std::char_traits::int_type get_character() + { + if (JSON_HEDLEY_LIKELY(current != end)) + { + auto result = std::char_traits::to_int_type(*current); + std::advance(current, 1); + return result; + } + + return std::char_traits::eof(); + } + + private: + IteratorType current; + IteratorType end; + + template + friend struct wide_string_input_helper; + + bool empty() const + { + return current == end; + } +}; + + +template +struct wide_string_input_helper; + +template +struct wide_string_input_helper +{ + // UTF-32 + static void fill_buffer(BaseInputAdapter& input, + std::array::int_type, 4>& utf8_bytes, + size_t& utf8_bytes_index, + size_t& utf8_bytes_filled) + { + utf8_bytes_index = 0; + + if (JSON_HEDLEY_UNLIKELY(input.empty())) + { + utf8_bytes[0] = std::char_traits::eof(); + utf8_bytes_filled = 1; + } + else + { + // get the current character + const auto wc = input.get_character(); + + // UTF-32 to UTF-8 encoding + if (wc < 0x80) + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + else if (wc <= 0x7FF) + { + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u) & 0x1Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 2; + } + else if (wc <= 0xFFFF) + { + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u) & 0x0Fu)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 3; + } + else if (wc <= 0x10FFFF) + { + utf8_bytes[0] = static_cast::int_type>(0xF0u | ((static_cast(wc) >> 18u) & 0x07u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 4; + } + else + { + // unknown character + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + } + } +}; + +template +struct wide_string_input_helper +{ + // UTF-16 + static void fill_buffer(BaseInputAdapter& input, + std::array::int_type, 4>& utf8_bytes, + size_t& utf8_bytes_index, + size_t& utf8_bytes_filled) + { + utf8_bytes_index = 0; + + if (JSON_HEDLEY_UNLIKELY(input.empty())) + { + utf8_bytes[0] = std::char_traits::eof(); + utf8_bytes_filled = 1; + } + else + { + // get the current character + const auto wc = input.get_character(); + + // UTF-16 to UTF-8 encoding + if (wc < 0x80) + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + else if (wc <= 0x7FF) + { + utf8_bytes[0] = static_cast::int_type>(0xC0u | ((static_cast(wc) >> 6u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 2; + } + else if (0xD800 > wc || wc >= 0xE000) + { + utf8_bytes[0] = static_cast::int_type>(0xE0u | ((static_cast(wc) >> 12u))); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((static_cast(wc) >> 6u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | (static_cast(wc) & 0x3Fu)); + utf8_bytes_filled = 3; + } + else + { + if (JSON_HEDLEY_UNLIKELY(!input.empty())) + { + const auto wc2 = static_cast(input.get_character()); + const auto charcode = 0x10000u + (((static_cast(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu)); + utf8_bytes[0] = static_cast::int_type>(0xF0u | (charcode >> 18u)); + utf8_bytes[1] = static_cast::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu)); + utf8_bytes[2] = static_cast::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu)); + utf8_bytes[3] = static_cast::int_type>(0x80u | (charcode & 0x3Fu)); + utf8_bytes_filled = 4; + } + else + { + utf8_bytes[0] = static_cast::int_type>(wc); + utf8_bytes_filled = 1; + } + } + } + } +}; + +// Wraps another input apdater to convert wide character types into individual bytes. +template +class wide_string_input_adapter +{ + public: + using char_type = char; + + wide_string_input_adapter(BaseInputAdapter base) + : base_adapter(base) {} + + typename std::char_traits::int_type get_character() noexcept + { + // check if buffer needs to be filled + if (utf8_bytes_index == utf8_bytes_filled) + { + fill_buffer(); + + JSON_ASSERT(utf8_bytes_filled > 0); + JSON_ASSERT(utf8_bytes_index == 0); + } + + // use buffer + JSON_ASSERT(utf8_bytes_filled > 0); + JSON_ASSERT(utf8_bytes_index < utf8_bytes_filled); + return utf8_bytes[utf8_bytes_index++]; + } + + private: + BaseInputAdapter base_adapter; + + template + void fill_buffer() + { + wide_string_input_helper::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); + } + + /// a buffer for UTF-8 bytes + std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; + + /// index to the utf8_codes array for the next valid byte + std::size_t utf8_bytes_index = 0; + /// number of valid bytes in the utf8_codes array + std::size_t utf8_bytes_filled = 0; +}; + + +template +struct iterator_input_adapter_factory +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using adapter_type = iterator_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(std::move(first), std::move(last)); + } +}; + +template +struct is_iterator_of_multibyte +{ + using value_type = typename std::iterator_traits::value_type; + enum + { + value = sizeof(value_type) > 1 + }; +}; + +template +struct iterator_input_adapter_factory::value>> +{ + using iterator_type = IteratorType; + using char_type = typename std::iterator_traits::value_type; + using base_adapter_type = iterator_input_adapter; + using adapter_type = wide_string_input_adapter; + + static adapter_type create(IteratorType first, IteratorType last) + { + return adapter_type(base_adapter_type(std::move(first), std::move(last))); + } +}; + +// General purpose iterator-based input +template +typename iterator_input_adapter_factory::adapter_type input_adapter(IteratorType first, IteratorType last) +{ + using factory_type = iterator_input_adapter_factory; + return factory_type::create(first, last); +} + +// Convenience shorthand from container to iterator +// Enables ADL on begin(container) and end(container) +// Encloses the using declarations in namespace for not to leak them to outside scope + +namespace container_input_adapter_factory_impl +{ + +using std::begin; +using std::end; + +template +struct container_input_adapter_factory {}; + +template +struct container_input_adapter_factory< ContainerType, + void_t()), end(std::declval()))>> + { + using adapter_type = decltype(input_adapter(begin(std::declval()), end(std::declval()))); + + static adapter_type create(const ContainerType& container) +{ + return input_adapter(begin(container), end(container)); +} + }; + +} // namespace container_input_adapter_factory_impl + +template +typename container_input_adapter_factory_impl::container_input_adapter_factory::adapter_type input_adapter(const ContainerType& container) +{ + return container_input_adapter_factory_impl::container_input_adapter_factory::create(container); +} + +#ifndef JSON_NO_IO +// Special cases with fast paths +inline file_input_adapter input_adapter(std::FILE* file) +{ + return file_input_adapter(file); +} + +inline input_stream_adapter input_adapter(std::istream& stream) +{ + return input_stream_adapter(stream); +} + +inline input_stream_adapter input_adapter(std::istream&& stream) +{ + return input_stream_adapter(stream); +} +#endif // JSON_NO_IO + +using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval(), std::declval())); + +// Null-delimited strings, and the like. +template < typename CharT, + typename std::enable_if < + std::is_pointer::value&& + !std::is_array::value&& + std::is_integral::type>::value&& + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > +contiguous_bytes_input_adapter input_adapter(CharT b) +{ + auto length = std::strlen(reinterpret_cast(b)); + const auto* ptr = reinterpret_cast(b); + return input_adapter(ptr, ptr + length); +} + +template +auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +{ + return input_adapter(array, array + N); +} + +// This class only handles inputs of input_buffer_adapter type. +// It's required so that expressions like {ptr, len} can be implicitely casted +// to the correct adapter. +class span_input_adapter +{ + public: + template < typename CharT, + typename std::enable_if < + std::is_pointer::value&& + std::is_integral::type>::value&& + sizeof(typename std::remove_pointer::type) == 1, + int >::type = 0 > + span_input_adapter(CharT b, std::size_t l) + : ia(reinterpret_cast(b), reinterpret_cast(b) + l) {} + + template::iterator_category, std::random_access_iterator_tag>::value, + int>::type = 0> + span_input_adapter(IteratorType first, IteratorType last) + : ia(input_adapter(first, last)) {} + + contiguous_bytes_input_adapter&& get() + { + return std::move(ia); // NOLINT(hicpp-move-const-arg,performance-move-const-arg) + } + + private: + contiguous_bytes_input_adapter ia; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include +#include // string +#include // move +#include // vector + +// #include + +// #include + + +namespace nlohmann +{ + +/*! +@brief SAX interface + +This class describes the SAX interface used by @ref nlohmann::json::sax_parse. +Each function is called in different situations while the input is parsed. The +boolean return value informs the parser whether to continue processing the +input. +*/ +template +struct json_sax +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + /*! + @brief a null value was read + @return whether parsing should proceed + */ + virtual bool null() = 0; + + /*! + @brief a boolean value was read + @param[in] val boolean value + @return whether parsing should proceed + */ + virtual bool boolean(bool val) = 0; + + /*! + @brief an integer number was read + @param[in] val integer value + @return whether parsing should proceed + */ + virtual bool number_integer(number_integer_t val) = 0; + + /*! + @brief an unsigned integer number was read + @param[in] val unsigned integer value + @return whether parsing should proceed + */ + virtual bool number_unsigned(number_unsigned_t val) = 0; + + /*! + @brief an floating-point number was read + @param[in] val floating-point value + @param[in] s raw token value + @return whether parsing should proceed + */ + virtual bool number_float(number_float_t val, const string_t& s) = 0; + + /*! + @brief a string was read + @param[in] val string value + @return whether parsing should proceed + @note It is safe to move the passed string. + */ + virtual bool string(string_t& val) = 0; + + /*! + @brief a binary string was read + @param[in] val binary value + @return whether parsing should proceed + @note It is safe to move the passed binary. + */ + virtual bool binary(binary_t& val) = 0; + + /*! + @brief the beginning of an object was read + @param[in] elements number of object elements or -1 if unknown + @return whether parsing should proceed + @note binary formats may report the number of elements + */ + virtual bool start_object(std::size_t elements) = 0; + + /*! + @brief an object key was read + @param[in] val object key + @return whether parsing should proceed + @note It is safe to move the passed string. + */ + virtual bool key(string_t& val) = 0; + + /*! + @brief the end of an object was read + @return whether parsing should proceed + */ + virtual bool end_object() = 0; + + /*! + @brief the beginning of an array was read + @param[in] elements number of array elements or -1 if unknown + @return whether parsing should proceed + @note binary formats may report the number of elements + */ + virtual bool start_array(std::size_t elements) = 0; + + /*! + @brief the end of an array was read + @return whether parsing should proceed + */ + virtual bool end_array() = 0; + + /*! + @brief a parse error occurred + @param[in] position the position in the input where the error occurs + @param[in] last_token the last read token + @param[in] ex an exception object describing the error + @return whether parsing should proceed (must return false) + */ + virtual bool parse_error(std::size_t position, + const std::string& last_token, + const detail::exception& ex) = 0; + + json_sax() = default; + json_sax(const json_sax&) = default; + json_sax(json_sax&&) noexcept = default; + json_sax& operator=(const json_sax&) = default; + json_sax& operator=(json_sax&&) noexcept = default; + virtual ~json_sax() = default; +}; + + +namespace detail +{ +/*! +@brief SAX implementation to create a JSON value from SAX events + +This class implements the @ref json_sax interface and processes the SAX events +to create a JSON value which makes it basically a DOM parser. The structure or +hierarchy of the JSON value is managed by the stack `ref_stack` which contains +a pointer to the respective array or object for each recursion depth. + +After successful parsing, the value that is passed by reference to the +constructor contains the parsed value. + +@tparam BasicJsonType the JSON type +*/ +template +class json_sax_dom_parser +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + /*! + @param[in,out] r reference to a JSON value that is manipulated while + parsing + @param[in] allow_exceptions_ whether parse errors yield exceptions + */ + explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true) + : root(r), allow_exceptions(allow_exceptions_) + {} + + // make class move-only + json_sax_dom_parser(const json_sax_dom_parser&) = delete; + json_sax_dom_parser(json_sax_dom_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + json_sax_dom_parser& operator=(const json_sax_dom_parser&) = delete; + json_sax_dom_parser& operator=(json_sax_dom_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + ~json_sax_dom_parser() = default; + + bool null() + { + handle_value(nullptr); + return true; + } + + bool boolean(bool val) + { + handle_value(val); + return true; + } + + bool number_integer(number_integer_t val) + { + handle_value(val); + return true; + } + + bool number_unsigned(number_unsigned_t val) + { + handle_value(val); + return true; + } + + bool number_float(number_float_t val, const string_t& /*unused*/) + { + handle_value(val); + return true; + } + + bool string(string_t& val) + { + handle_value(val); + return true; + } + + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + + bool start_object(std::size_t len) + { + ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); + + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len), *ref_stack.back())); + } + + return true; + } + + bool key(string_t& val) + { + // add null at given key and store the reference for later + object_element = &(ref_stack.back()->m_value.object->operator[](val)); + return true; + } + + bool end_object() + { + ref_stack.back()->set_parents(); + ref_stack.pop_back(); + return true; + } + + bool start_array(std::size_t len) + { + ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); + + if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len), *ref_stack.back())); + } + + return true; + } + + bool end_array() + { + ref_stack.back()->set_parents(); + ref_stack.pop_back(); + return true; + } + + template + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, + const Exception& ex) + { + errored = true; + static_cast(ex); + if (allow_exceptions) + { + JSON_THROW(ex); + } + return false; + } + + constexpr bool is_errored() const + { + return errored; + } + + private: + /*! + @invariant If the ref stack is empty, then the passed value will be the new + root. + @invariant If the ref stack contains a value, then it is an array or an + object to which we can add elements + */ + template + JSON_HEDLEY_RETURNS_NON_NULL + BasicJsonType* handle_value(Value&& v) + { + if (ref_stack.empty()) + { + root = BasicJsonType(std::forward(v)); + return &root; + } + + JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object()); + + if (ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->emplace_back(std::forward(v)); + return &(ref_stack.back()->m_value.array->back()); + } + + JSON_ASSERT(ref_stack.back()->is_object()); + JSON_ASSERT(object_element); + *object_element = BasicJsonType(std::forward(v)); + return object_element; + } + + /// the parsed JSON value + BasicJsonType& root; + /// stack to model hierarchy of values + std::vector ref_stack {}; + /// helper to hold the reference for the next object element + BasicJsonType* object_element = nullptr; + /// whether a syntax error occurred + bool errored = false; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; +}; + +template +class json_sax_dom_callback_parser +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using parser_callback_t = typename BasicJsonType::parser_callback_t; + using parse_event_t = typename BasicJsonType::parse_event_t; + + json_sax_dom_callback_parser(BasicJsonType& r, + const parser_callback_t cb, + const bool allow_exceptions_ = true) + : root(r), callback(cb), allow_exceptions(allow_exceptions_) + { + keep_stack.push_back(true); + } + + // make class move-only + json_sax_dom_callback_parser(const json_sax_dom_callback_parser&) = delete; + json_sax_dom_callback_parser(json_sax_dom_callback_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + json_sax_dom_callback_parser& operator=(const json_sax_dom_callback_parser&) = delete; + json_sax_dom_callback_parser& operator=(json_sax_dom_callback_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + ~json_sax_dom_callback_parser() = default; + + bool null() + { + handle_value(nullptr); + return true; + } + + bool boolean(bool val) + { + handle_value(val); + return true; + } + + bool number_integer(number_integer_t val) + { + handle_value(val); + return true; + } + + bool number_unsigned(number_unsigned_t val) + { + handle_value(val); + return true; + } + + bool number_float(number_float_t val, const string_t& /*unused*/) + { + handle_value(val); + return true; + } + + bool string(string_t& val) + { + handle_value(val); + return true; + } + + bool binary(binary_t& val) + { + handle_value(std::move(val)); + return true; + } + + bool start_object(std::size_t len) + { + // check callback for object start + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::object_start, discarded); + keep_stack.push_back(keep); + + auto val = handle_value(BasicJsonType::value_t::object, true); + ref_stack.push_back(val.second); + + // check object limit + if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len), *ref_stack.back())); + } + + return true; + } + + bool key(string_t& val) + { + BasicJsonType k = BasicJsonType(val); + + // check callback for key + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::key, k); + key_keep_stack.push_back(keep); + + // add discarded value at given key and store the reference for later + if (keep && ref_stack.back()) + { + object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded); + } + + return true; + } + + bool end_object() + { + if (ref_stack.back()) + { + if (!callback(static_cast(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back())) + { + // discard object + *ref_stack.back() = discarded; + } + else + { + ref_stack.back()->set_parents(); + } + } + + JSON_ASSERT(!ref_stack.empty()); + JSON_ASSERT(!keep_stack.empty()); + ref_stack.pop_back(); + keep_stack.pop_back(); + + if (!ref_stack.empty() && ref_stack.back() && ref_stack.back()->is_structured()) + { + // remove discarded value + for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it) + { + if (it->is_discarded()) + { + ref_stack.back()->erase(it); + break; + } + } + } + + return true; + } + + bool start_array(std::size_t len) + { + const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::array_start, discarded); + keep_stack.push_back(keep); + + auto val = handle_value(BasicJsonType::value_t::array, true); + ref_stack.push_back(val.second); + + // check array limit + if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len), *ref_stack.back())); + } + + return true; + } + + bool end_array() + { + bool keep = true; + + if (ref_stack.back()) + { + keep = callback(static_cast(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back()); + if (keep) + { + ref_stack.back()->set_parents(); + } + else + { + // discard array + *ref_stack.back() = discarded; + } + } + + JSON_ASSERT(!ref_stack.empty()); + JSON_ASSERT(!keep_stack.empty()); + ref_stack.pop_back(); + keep_stack.pop_back(); + + // remove discarded value + if (!keep && !ref_stack.empty() && ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->pop_back(); + } + + return true; + } + + template + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, + const Exception& ex) + { + errored = true; + static_cast(ex); + if (allow_exceptions) + { + JSON_THROW(ex); + } + return false; + } + + constexpr bool is_errored() const + { + return errored; + } + + private: + /*! + @param[in] v value to add to the JSON value we build during parsing + @param[in] skip_callback whether we should skip calling the callback + function; this is required after start_array() and + start_object() SAX events, because otherwise we would call the + callback function with an empty array or object, respectively. + + @invariant If the ref stack is empty, then the passed value will be the new + root. + @invariant If the ref stack contains a value, then it is an array or an + object to which we can add elements + + @return pair of boolean (whether value should be kept) and pointer (to the + passed value in the ref_stack hierarchy; nullptr if not kept) + */ + template + std::pair handle_value(Value&& v, const bool skip_callback = false) + { + JSON_ASSERT(!keep_stack.empty()); + + // do not handle this value if we know it would be added to a discarded + // container + if (!keep_stack.back()) + { + return {false, nullptr}; + } + + // create value + auto value = BasicJsonType(std::forward(v)); + + // check callback + const bool keep = skip_callback || callback(static_cast(ref_stack.size()), parse_event_t::value, value); + + // do not handle this value if we just learnt it shall be discarded + if (!keep) + { + return {false, nullptr}; + } + + if (ref_stack.empty()) + { + root = std::move(value); + return {true, &root}; + } + + // skip this value if we already decided to skip the parent + // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360) + if (!ref_stack.back()) + { + return {false, nullptr}; + } + + // we now only expect arrays and objects + JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object()); + + // array + if (ref_stack.back()->is_array()) + { + ref_stack.back()->m_value.array->emplace_back(std::move(value)); + return {true, &(ref_stack.back()->m_value.array->back())}; + } + + // object + JSON_ASSERT(ref_stack.back()->is_object()); + // check if we should store an element for the current key + JSON_ASSERT(!key_keep_stack.empty()); + const bool store_element = key_keep_stack.back(); + key_keep_stack.pop_back(); + + if (!store_element) + { + return {false, nullptr}; + } + + JSON_ASSERT(object_element); + *object_element = std::move(value); + return {true, object_element}; + } + + /// the parsed JSON value + BasicJsonType& root; + /// stack to model hierarchy of values + std::vector ref_stack {}; + /// stack to manage which values to keep + std::vector keep_stack {}; + /// stack to manage which object keys to keep + std::vector key_keep_stack {}; + /// helper to hold the reference for the next object element + BasicJsonType* object_element = nullptr; + /// whether a syntax error occurred + bool errored = false; + /// callback function + const parser_callback_t callback = nullptr; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; + /// a discarded value for the callback + BasicJsonType discarded = BasicJsonType::value_t::discarded; +}; + +template +class json_sax_acceptor +{ + public: + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + + bool null() + { + return true; + } + + bool boolean(bool /*unused*/) + { + return true; + } + + bool number_integer(number_integer_t /*unused*/) + { + return true; + } + + bool number_unsigned(number_unsigned_t /*unused*/) + { + return true; + } + + bool number_float(number_float_t /*unused*/, const string_t& /*unused*/) + { + return true; + } + + bool string(string_t& /*unused*/) + { + return true; + } + + bool binary(binary_t& /*unused*/) + { + return true; + } + + bool start_object(std::size_t /*unused*/ = std::size_t(-1)) + { + return true; + } + + bool key(string_t& /*unused*/) + { + return true; + } + + bool end_object() + { + return true; + } + + bool start_array(std::size_t /*unused*/ = std::size_t(-1)) + { + return true; + } + + bool end_array() + { + return true; + } + + bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/) + { + return false; + } +}; +} // namespace detail + +} // namespace nlohmann + +// #include + + +#include // array +#include // localeconv +#include // size_t +#include // snprintf +#include // strtof, strtod, strtold, strtoll, strtoull +#include // initializer_list +#include // char_traits, string +#include // move +#include // vector + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/////////// +// lexer // +/////////// + +template +class lexer_base +{ + public: + /// token types for the parser + enum class token_type + { + uninitialized, ///< indicating the scanner is uninitialized + literal_true, ///< the `true` literal + literal_false, ///< the `false` literal + literal_null, ///< the `null` literal + value_string, ///< a string -- use get_string() for actual value + value_unsigned, ///< an unsigned integer -- use get_number_unsigned() for actual value + value_integer, ///< a signed integer -- use get_number_integer() for actual value + value_float, ///< an floating point number -- use get_number_float() for actual value + begin_array, ///< the character for array begin `[` + begin_object, ///< the character for object begin `{` + end_array, ///< the character for array end `]` + end_object, ///< the character for object end `}` + name_separator, ///< the name separator `:` + value_separator, ///< the value separator `,` + parse_error, ///< indicating a parse error + end_of_input, ///< indicating the end of the input buffer + literal_or_value ///< a literal or the begin of a value (only for diagnostics) + }; + + /// return name of values of type token_type (only used for errors) + JSON_HEDLEY_RETURNS_NON_NULL + JSON_HEDLEY_CONST + static const char* token_type_name(const token_type t) noexcept + { + switch (t) + { + case token_type::uninitialized: + return ""; + case token_type::literal_true: + return "true literal"; + case token_type::literal_false: + return "false literal"; + case token_type::literal_null: + return "null literal"; + case token_type::value_string: + return "string literal"; + case token_type::value_unsigned: + case token_type::value_integer: + case token_type::value_float: + return "number literal"; + case token_type::begin_array: + return "'['"; + case token_type::begin_object: + return "'{'"; + case token_type::end_array: + return "']'"; + case token_type::end_object: + return "'}'"; + case token_type::name_separator: + return "':'"; + case token_type::value_separator: + return "','"; + case token_type::parse_error: + return ""; + case token_type::end_of_input: + return "end of input"; + case token_type::literal_or_value: + return "'[', '{', or a literal"; + // LCOV_EXCL_START + default: // catch non-enum values + return "unknown token"; + // LCOV_EXCL_STOP + } + } +}; +/*! +@brief lexical analysis + +This class organizes the lexical analysis during JSON deserialization. +*/ +template +class lexer : public lexer_base +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; + + public: + using token_type = typename lexer_base::token_type; + + explicit lexer(InputAdapterType&& adapter, bool ignore_comments_ = false) noexcept + : ia(std::move(adapter)) + , ignore_comments(ignore_comments_) + , decimal_point_char(static_cast(get_decimal_point())) + {} + + // delete because of pointer members + lexer(const lexer&) = delete; + lexer(lexer&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + lexer& operator=(lexer&) = delete; + lexer& operator=(lexer&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + ~lexer() = default; + + private: + ///////////////////// + // locales + ///////////////////// + + /// return the locale-dependent decimal point + JSON_HEDLEY_PURE + static char get_decimal_point() noexcept + { + const auto* loc = localeconv(); + JSON_ASSERT(loc != nullptr); + return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point); + } + + ///////////////////// + // scan functions + ///////////////////// + + /*! + @brief get codepoint from 4 hex characters following `\u` + + For input "\u c1 c2 c3 c4" the codepoint is: + (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 + = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0) + + Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' + must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The + conversion is done by subtracting the offset (0x30, 0x37, and 0x57) + between the ASCII value of the character and the desired integer value. + + @return codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or + non-hex character) + */ + int get_codepoint() + { + // this function only makes sense after reading `\u` + JSON_ASSERT(current == 'u'); + int codepoint = 0; + + const auto factors = { 12u, 8u, 4u, 0u }; + for (const auto factor : factors) + { + get(); + + if (current >= '0' && current <= '9') + { + codepoint += static_cast((static_cast(current) - 0x30u) << factor); + } + else if (current >= 'A' && current <= 'F') + { + codepoint += static_cast((static_cast(current) - 0x37u) << factor); + } + else if (current >= 'a' && current <= 'f') + { + codepoint += static_cast((static_cast(current) - 0x57u) << factor); + } + else + { + return -1; + } + } + + JSON_ASSERT(0x0000 <= codepoint && codepoint <= 0xFFFF); + return codepoint; + } + + /*! + @brief check if the next byte(s) are inside a given range + + Adds the current byte and, for each passed range, reads a new byte and + checks if it is inside the range. If a violation was detected, set up an + error message and return false. Otherwise, return true. + + @param[in] ranges list of integers; interpreted as list of pairs of + inclusive lower and upper bound, respectively + + @pre The passed list @a ranges must have 2, 4, or 6 elements; that is, + 1, 2, or 3 pairs. This precondition is enforced by an assertion. + + @return true if and only if no range violation was detected + */ + bool next_byte_in_range(std::initializer_list ranges) + { + JSON_ASSERT(ranges.size() == 2 || ranges.size() == 4 || ranges.size() == 6); + add(current); + + for (auto range = ranges.begin(); range != ranges.end(); ++range) + { + get(); + if (JSON_HEDLEY_LIKELY(*range <= current && current <= *(++range))) + { + add(current); + } + else + { + error_message = "invalid string: ill-formed UTF-8 byte"; + return false; + } + } + + return true; + } + + /*! + @brief scan a string literal + + This function scans a string according to Sect. 7 of RFC 8259. While + scanning, bytes are escaped and copied into buffer token_buffer. Then the + function returns successfully, token_buffer is *not* null-terminated (as it + may contain \0 bytes), and token_buffer.size() is the number of bytes in the + string. + + @return token_type::value_string if string could be successfully scanned, + token_type::parse_error otherwise + + @note In case of errors, variable error_message contains a textual + description. + */ + token_type scan_string() + { + // reset token_buffer (ignore opening quote) + reset(); + + // we entered the function by reading an open quote + JSON_ASSERT(current == '\"'); + + while (true) + { + // get next character + switch (get()) + { + // end of file while parsing string + case std::char_traits::eof(): + { + error_message = "invalid string: missing closing quote"; + return token_type::parse_error; + } + + // closing quote + case '\"': + { + return token_type::value_string; + } + + // escapes + case '\\': + { + switch (get()) + { + // quotation mark + case '\"': + add('\"'); + break; + // reverse solidus + case '\\': + add('\\'); + break; + // solidus + case '/': + add('/'); + break; + // backspace + case 'b': + add('\b'); + break; + // form feed + case 'f': + add('\f'); + break; + // line feed + case 'n': + add('\n'); + break; + // carriage return + case 'r': + add('\r'); + break; + // tab + case 't': + add('\t'); + break; + + // unicode escapes + case 'u': + { + const int codepoint1 = get_codepoint(); + int codepoint = codepoint1; // start with codepoint1 + + if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1)) + { + error_message = "invalid string: '\\u' must be followed by 4 hex digits"; + return token_type::parse_error; + } + + // check if code point is a high surrogate + if (0xD800 <= codepoint1 && codepoint1 <= 0xDBFF) + { + // expect next \uxxxx entry + if (JSON_HEDLEY_LIKELY(get() == '\\' && get() == 'u')) + { + const int codepoint2 = get_codepoint(); + + if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1)) + { + error_message = "invalid string: '\\u' must be followed by 4 hex digits"; + return token_type::parse_error; + } + + // check if codepoint2 is a low surrogate + if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 && codepoint2 <= 0xDFFF)) + { + // overwrite codepoint + codepoint = static_cast( + // high surrogate occupies the most significant 22 bits + (static_cast(codepoint1) << 10u) + // low surrogate occupies the least significant 15 bits + + static_cast(codepoint2) + // there is still the 0xD800, 0xDC00 and 0x10000 noise + // in the result so we have to subtract with: + // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00 + - 0x35FDC00u); + } + else + { + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; + return token_type::parse_error; + } + } + else + { + error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF"; + return token_type::parse_error; + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 && codepoint1 <= 0xDFFF)) + { + error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF"; + return token_type::parse_error; + } + } + + // result of the above calculation yields a proper codepoint + JSON_ASSERT(0x00 <= codepoint && codepoint <= 0x10FFFF); + + // translate codepoint into bytes + if (codepoint < 0x80) + { + // 1-byte characters: 0xxxxxxx (ASCII) + add(static_cast(codepoint)); + } + else if (codepoint <= 0x7FF) + { + // 2-byte characters: 110xxxxx 10xxxxxx + add(static_cast(0xC0u | (static_cast(codepoint) >> 6u))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + else if (codepoint <= 0xFFFF) + { + // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx + add(static_cast(0xE0u | (static_cast(codepoint) >> 12u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + else + { + // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + add(static_cast(0xF0u | (static_cast(codepoint) >> 18u))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 12u) & 0x3Fu))); + add(static_cast(0x80u | ((static_cast(codepoint) >> 6u) & 0x3Fu))); + add(static_cast(0x80u | (static_cast(codepoint) & 0x3Fu))); + } + + break; + } + + // other characters after escape + default: + error_message = "invalid string: forbidden character after backslash"; + return token_type::parse_error; + } + + break; + } + + // invalid control characters + case 0x00: + { + error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000"; + return token_type::parse_error; + } + + case 0x01: + { + error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001"; + return token_type::parse_error; + } + + case 0x02: + { + error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002"; + return token_type::parse_error; + } + + case 0x03: + { + error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003"; + return token_type::parse_error; + } + + case 0x04: + { + error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004"; + return token_type::parse_error; + } + + case 0x05: + { + error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005"; + return token_type::parse_error; + } + + case 0x06: + { + error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006"; + return token_type::parse_error; + } + + case 0x07: + { + error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007"; + return token_type::parse_error; + } + + case 0x08: + { + error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b"; + return token_type::parse_error; + } + + case 0x09: + { + error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t"; + return token_type::parse_error; + } + + case 0x0A: + { + error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n"; + return token_type::parse_error; + } + + case 0x0B: + { + error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B"; + return token_type::parse_error; + } + + case 0x0C: + { + error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f"; + return token_type::parse_error; + } + + case 0x0D: + { + error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r"; + return token_type::parse_error; + } + + case 0x0E: + { + error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E"; + return token_type::parse_error; + } + + case 0x0F: + { + error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F"; + return token_type::parse_error; + } + + case 0x10: + { + error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010"; + return token_type::parse_error; + } + + case 0x11: + { + error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011"; + return token_type::parse_error; + } + + case 0x12: + { + error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012"; + return token_type::parse_error; + } + + case 0x13: + { + error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013"; + return token_type::parse_error; + } + + case 0x14: + { + error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014"; + return token_type::parse_error; + } + + case 0x15: + { + error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015"; + return token_type::parse_error; + } + + case 0x16: + { + error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016"; + return token_type::parse_error; + } + + case 0x17: + { + error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017"; + return token_type::parse_error; + } + + case 0x18: + { + error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018"; + return token_type::parse_error; + } + + case 0x19: + { + error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019"; + return token_type::parse_error; + } + + case 0x1A: + { + error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A"; + return token_type::parse_error; + } + + case 0x1B: + { + error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B"; + return token_type::parse_error; + } + + case 0x1C: + { + error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C"; + return token_type::parse_error; + } + + case 0x1D: + { + error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D"; + return token_type::parse_error; + } + + case 0x1E: + { + error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E"; + return token_type::parse_error; + } + + case 0x1F: + { + error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F"; + return token_type::parse_error; + } + + // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace)) + case 0x20: + case 0x21: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x3A: + case 0x3B: + case 0x3C: + case 0x3D: + case 0x3E: + case 0x3F: + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: + case 0x59: + case 0x5A: + case 0x5B: + case 0x5D: + case 0x5E: + case 0x5F: + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: + case 0x79: + case 0x7A: + case 0x7B: + case 0x7C: + case 0x7D: + case 0x7E: + case 0x7F: + { + add(current); + break; + } + + // U+0080..U+07FF: bytes C2..DF 80..BF + case 0xC2: + case 0xC3: + case 0xC4: + case 0xC5: + case 0xC6: + case 0xC7: + case 0xC8: + case 0xC9: + case 0xCA: + case 0xCB: + case 0xCC: + case 0xCD: + case 0xCE: + case 0xCF: + case 0xD0: + case 0xD1: + case 0xD2: + case 0xD3: + case 0xD4: + case 0xD5: + case 0xD6: + case 0xD7: + case 0xD8: + case 0xD9: + case 0xDA: + case 0xDB: + case 0xDC: + case 0xDD: + case 0xDE: + case 0xDF: + { + if (JSON_HEDLEY_UNLIKELY(!next_byte_in_range({0x80, 0xBF}))) + { + return token_type::parse_error; + } + break; + } + + // U+0800..U+0FFF: bytes E0 A0..BF 80..BF + case 0xE0: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF + // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF + case 0xE1: + case 0xE2: + case 0xE3: + case 0xE4: + case 0xE5: + case 0xE6: + case 0xE7: + case 0xE8: + case 0xE9: + case 0xEA: + case 0xEB: + case 0xEC: + case 0xEE: + case 0xEF: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+D000..U+D7FF: bytes ED 80..9F 80..BF + case 0xED: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x9F, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF + case 0xF0: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF + case 0xF1: + case 0xF2: + case 0xF3: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF + case 0xF4: + { + if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF})))) + { + return token_type::parse_error; + } + break; + } + + // remaining bytes (80..C1 and F5..FF) are ill-formed + default: + { + error_message = "invalid string: ill-formed UTF-8 byte"; + return token_type::parse_error; + } + } + } + } + + /*! + * @brief scan a comment + * @return whether comment could be scanned successfully + */ + bool scan_comment() + { + switch (get()) + { + // single-line comments skip input until a newline or EOF is read + case '/': + { + while (true) + { + switch (get()) + { + case '\n': + case '\r': + case std::char_traits::eof(): + case '\0': + return true; + + default: + break; + } + } + } + + // multi-line comments skip input until */ is read + case '*': + { + while (true) + { + switch (get()) + { + case std::char_traits::eof(): + case '\0': + { + error_message = "invalid comment; missing closing '*/'"; + return false; + } + + case '*': + { + switch (get()) + { + case '/': + return true; + + default: + { + unget(); + continue; + } + } + } + + default: + continue; + } + } + } + + // unexpected character after reading '/' + default: + { + error_message = "invalid comment; expecting '/' or '*' after '/'"; + return false; + } + } + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(float& f, const char* str, char** endptr) noexcept + { + f = std::strtof(str, endptr); + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(double& f, const char* str, char** endptr) noexcept + { + f = std::strtod(str, endptr); + } + + JSON_HEDLEY_NON_NULL(2) + static void strtof(long double& f, const char* str, char** endptr) noexcept + { + f = std::strtold(str, endptr); + } + + /*! + @brief scan a number literal + + This function scans a string according to Sect. 6 of RFC 8259. + + The function is realized with a deterministic finite state machine derived + from the grammar described in RFC 8259. Starting in state "init", the + input is read and used to determined the next state. Only state "done" + accepts the number. State "error" is a trap state to model errors. In the + table below, "anything" means any character but the ones listed before. + + state | 0 | 1-9 | e E | + | - | . | anything + ---------|----------|----------|----------|---------|---------|----------|----------- + init | zero | any1 | [error] | [error] | minus | [error] | [error] + minus | zero | any1 | [error] | [error] | [error] | [error] | [error] + zero | done | done | exponent | done | done | decimal1 | done + any1 | any1 | any1 | exponent | done | done | decimal1 | done + decimal1 | decimal2 | decimal2 | [error] | [error] | [error] | [error] | [error] + decimal2 | decimal2 | decimal2 | exponent | done | done | done | done + exponent | any2 | any2 | [error] | sign | sign | [error] | [error] + sign | any2 | any2 | [error] | [error] | [error] | [error] | [error] + any2 | any2 | any2 | done | done | done | done | done + + The state machine is realized with one label per state (prefixed with + "scan_number_") and `goto` statements between them. The state machine + contains cycles, but any cycle can be left when EOF is read. Therefore, + the function is guaranteed to terminate. + + During scanning, the read bytes are stored in token_buffer. This string is + then converted to a signed integer, an unsigned integer, or a + floating-point number. + + @return token_type::value_unsigned, token_type::value_integer, or + token_type::value_float if number could be successfully scanned, + token_type::parse_error otherwise + + @note The scanner is independent of the current locale. Internally, the + locale's decimal point is used instead of `.` to work with the + locale-dependent converters. + */ + token_type scan_number() // lgtm [cpp/use-of-goto] + { + // reset token_buffer to store the number's bytes + reset(); + + // the type of the parsed number; initially set to unsigned; will be + // changed if minus sign, decimal point or exponent is read + token_type number_type = token_type::value_unsigned; + + // state (init): we just found out we need to scan a number + switch (current) + { + case '-': + { + add(current); + goto scan_number_minus; + } + + case '0': + { + add(current); + goto scan_number_zero; + } + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + // all other characters are rejected outside scan_number() + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + +scan_number_minus: + // state: we just parsed a leading minus sign + number_type = token_type::value_integer; + switch (get()) + { + case '0': + { + add(current); + goto scan_number_zero; + } + + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + default: + { + error_message = "invalid number; expected digit after '-'"; + return token_type::parse_error; + } + } + +scan_number_zero: + // state: we just parse a zero (maybe with a leading minus sign) + switch (get()) + { + case '.': + { + add(decimal_point_char); + goto scan_number_decimal1; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_any1: + // state: we just parsed a number 0-9 (maybe with a leading minus sign) + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any1; + } + + case '.': + { + add(decimal_point_char); + goto scan_number_decimal1; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_decimal1: + // state: we just parsed a decimal point + number_type = token_type::value_float; + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_decimal2; + } + + default: + { + error_message = "invalid number; expected digit after '.'"; + return token_type::parse_error; + } + } + +scan_number_decimal2: + // we just parsed at least one number after a decimal point + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_decimal2; + } + + case 'e': + case 'E': + { + add(current); + goto scan_number_exponent; + } + + default: + goto scan_number_done; + } + +scan_number_exponent: + // we just parsed an exponent + number_type = token_type::value_float; + switch (get()) + { + case '+': + case '-': + { + add(current); + goto scan_number_sign; + } + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + { + error_message = + "invalid number; expected '+', '-', or digit after exponent"; + return token_type::parse_error; + } + } + +scan_number_sign: + // we just parsed an exponent sign + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + { + error_message = "invalid number; expected digit after exponent sign"; + return token_type::parse_error; + } + } + +scan_number_any2: + // we just parsed a number after the exponent or exponent sign + switch (get()) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + { + add(current); + goto scan_number_any2; + } + + default: + goto scan_number_done; + } + +scan_number_done: + // unget the character after the number (we only read it to know that + // we are done scanning a number) + unget(); + + char* endptr = nullptr; // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + errno = 0; + + // try to parse integers first and fall back to floats + if (number_type == token_type::value_unsigned) + { + const auto x = std::strtoull(token_buffer.data(), &endptr, 10); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + if (errno == 0) + { + value_unsigned = static_cast(x); + if (value_unsigned == x) + { + return token_type::value_unsigned; + } + } + } + else if (number_type == token_type::value_integer) + { + const auto x = std::strtoll(token_buffer.data(), &endptr, 10); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + if (errno == 0) + { + value_integer = static_cast(x); + if (value_integer == x) + { + return token_type::value_integer; + } + } + } + + // this code is reached if we parse a floating-point number or if an + // integer conversion above failed + strtof(value_float, token_buffer.data(), &endptr); + + // we checked the number format before + JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size()); + + return token_type::value_float; + } + + /*! + @param[in] literal_text the literal text to expect + @param[in] length the length of the passed literal text + @param[in] return_type the token type to return on success + */ + JSON_HEDLEY_NON_NULL(2) + token_type scan_literal(const char_type* literal_text, const std::size_t length, + token_type return_type) + { + JSON_ASSERT(std::char_traits::to_char_type(current) == literal_text[0]); + for (std::size_t i = 1; i < length; ++i) + { + if (JSON_HEDLEY_UNLIKELY(std::char_traits::to_char_type(get()) != literal_text[i])) + { + error_message = "invalid literal"; + return token_type::parse_error; + } + } + return return_type; + } + + ///////////////////// + // input management + ///////////////////// + + /// reset token_buffer; current character is beginning of token + void reset() noexcept + { + token_buffer.clear(); + token_string.clear(); + token_string.push_back(std::char_traits::to_char_type(current)); + } + + /* + @brief get next character from the input + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns a + `std::char_traits::eof()` in that case. Stores the scanned characters + for use in error messages. + + @return character read from the input + */ + char_int_type get() + { + ++position.chars_read_total; + ++position.chars_read_current_line; + + if (next_unget) + { + // just reset the next_unget variable and work with current + next_unget = false; + } + else + { + current = ia.get_character(); + } + + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + { + token_string.push_back(std::char_traits::to_char_type(current)); + } + + if (current == '\n') + { + ++position.lines_read; + position.chars_read_current_line = 0; + } + + return current; + } + + /*! + @brief unget current character (read it again on next get) + + We implement unget by setting variable next_unget to true. The input is not + changed - we just simulate ungetting by modifying chars_read_total, + chars_read_current_line, and token_string. The next call to get() will + behave as if the unget character is read again. + */ + void unget() + { + next_unget = true; + + --position.chars_read_total; + + // in case we "unget" a newline, we have to also decrement the lines_read + if (position.chars_read_current_line == 0) + { + if (position.lines_read > 0) + { + --position.lines_read; + } + } + else + { + --position.chars_read_current_line; + } + + if (JSON_HEDLEY_LIKELY(current != std::char_traits::eof())) + { + JSON_ASSERT(!token_string.empty()); + token_string.pop_back(); + } + } + + /// add a character to token_buffer + void add(char_int_type c) + { + token_buffer.push_back(static_cast(c)); + } + + public: + ///////////////////// + // value getters + ///////////////////// + + /// return integer value + constexpr number_integer_t get_number_integer() const noexcept + { + return value_integer; + } + + /// return unsigned integer value + constexpr number_unsigned_t get_number_unsigned() const noexcept + { + return value_unsigned; + } + + /// return floating-point value + constexpr number_float_t get_number_float() const noexcept + { + return value_float; + } + + /// return current string value (implicitly resets the token; useful only once) + string_t& get_string() + { + return token_buffer; + } + + ///////////////////// + // diagnostics + ///////////////////// + + /// return position of last read token + constexpr position_t get_position() const noexcept + { + return position; + } + + /// return the last read token (for errors only). Will never contain EOF + /// (an arbitrary value that is not a valid char value, often -1), because + /// 255 may legitimately occur. May contain NUL, which should be escaped. + std::string get_token_string() const + { + // escape control characters + std::string result; + for (const auto c : token_string) + { + if (static_cast(c) <= '\x1F') + { + // escape control characters + std::array cs{{}}; + (std::snprintf)(cs.data(), cs.size(), "", static_cast(c)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + result += cs.data(); + } + else + { + // add character as is + result.push_back(static_cast(c)); + } + } + + return result; + } + + /// return syntax error message + JSON_HEDLEY_RETURNS_NON_NULL + constexpr const char* get_error_message() const noexcept + { + return error_message; + } + + ///////////////////// + // actual scanner + ///////////////////// + + /*! + @brief skip the UTF-8 byte order mark + @return true iff there is no BOM or the correct BOM has been skipped + */ + bool skip_bom() + { + if (get() == 0xEF) + { + // check if we completely parse the BOM + return get() == 0xBB && get() == 0xBF; + } + + // the first character is not the beginning of the BOM; unget it to + // process is later + unget(); + return true; + } + + void skip_whitespace() + { + do + { + get(); + } + while (current == ' ' || current == '\t' || current == '\n' || current == '\r'); + } + + token_type scan() + { + // initially, skip the BOM + if (position.chars_read_total == 0 && !skip_bom()) + { + error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given"; + return token_type::parse_error; + } + + // read next character and ignore whitespace + skip_whitespace(); + + // ignore comments + while (ignore_comments && current == '/') + { + if (!scan_comment()) + { + return token_type::parse_error; + } + + // skip following whitespace + skip_whitespace(); + } + + switch (current) + { + // structural characters + case '[': + return token_type::begin_array; + case ']': + return token_type::end_array; + case '{': + return token_type::begin_object; + case '}': + return token_type::end_object; + case ':': + return token_type::name_separator; + case ',': + return token_type::value_separator; + + // literals + case 't': + { + std::array true_literal = {{char_type('t'), char_type('r'), char_type('u'), char_type('e')}}; + return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true); + } + case 'f': + { + std::array false_literal = {{char_type('f'), char_type('a'), char_type('l'), char_type('s'), char_type('e')}}; + return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false); + } + case 'n': + { + std::array null_literal = {{char_type('n'), char_type('u'), char_type('l'), char_type('l')}}; + return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null); + } + + // string + case '\"': + return scan_string(); + + // number + case '-': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return scan_number(); + + // end of input (the null byte is needed when parsing from + // string literals) + case '\0': + case std::char_traits::eof(): + return token_type::end_of_input; + + // error + default: + error_message = "invalid literal"; + return token_type::parse_error; + } + } + + private: + /// input adapter + InputAdapterType ia; + + /// whether comments should be ignored (true) or signaled as errors (false) + const bool ignore_comments = false; + + /// the current character + char_int_type current = std::char_traits::eof(); + + /// whether the next get() call should just return current + bool next_unget = false; + + /// the start position of the current token + position_t position {}; + + /// raw input token string (for error messages) + std::vector token_string {}; + + /// buffer for variable-length tokens (numbers, strings) + string_t token_buffer {}; + + /// a description of occurred lexer errors + const char* error_message = ""; + + // number values + number_integer_t value_integer = 0; + number_unsigned_t value_unsigned = 0; + number_float_t value_float = 0; + + /// the decimal point + const char_int_type decimal_point_char = '.'; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // declval +#include // string + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +using null_function_t = decltype(std::declval().null()); + +template +using boolean_function_t = + decltype(std::declval().boolean(std::declval())); + +template +using number_integer_function_t = + decltype(std::declval().number_integer(std::declval())); + +template +using number_unsigned_function_t = + decltype(std::declval().number_unsigned(std::declval())); + +template +using number_float_function_t = decltype(std::declval().number_float( + std::declval(), std::declval())); + +template +using string_function_t = + decltype(std::declval().string(std::declval())); + +template +using binary_function_t = + decltype(std::declval().binary(std::declval())); + +template +using start_object_function_t = + decltype(std::declval().start_object(std::declval())); + +template +using key_function_t = + decltype(std::declval().key(std::declval())); + +template +using end_object_function_t = decltype(std::declval().end_object()); + +template +using start_array_function_t = + decltype(std::declval().start_array(std::declval())); + +template +using end_array_function_t = decltype(std::declval().end_array()); + +template +using parse_error_function_t = decltype(std::declval().parse_error( + std::declval(), std::declval(), + std::declval())); + +template +struct is_sax +{ + private: + static_assert(is_basic_json::value, + "BasicJsonType must be of type basic_json<...>"); + + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using exception_t = typename BasicJsonType::exception; + + public: + static constexpr bool value = + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value && + is_detected_exact::value; +}; + +template +struct is_sax_static_asserts +{ + private: + static_assert(is_basic_json::value, + "BasicJsonType must be of type basic_json<...>"); + + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using exception_t = typename BasicJsonType::exception; + + public: + static_assert(is_detected_exact::value, + "Missing/invalid function: bool null()"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool boolean(bool)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool boolean(bool)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool number_integer(number_integer_t)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool number_unsigned(number_unsigned_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool number_float(number_float_t, const string_t&)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool string(string_t&)"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool binary(binary_t&)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool start_object(std::size_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool key(string_t&)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool end_object()"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool start_array(std::size_t)"); + static_assert(is_detected_exact::value, + "Missing/invalid function: bool end_array()"); + static_assert( + is_detected_exact::value, + "Missing/invalid function: bool parse_error(std::size_t, const " + "std::string&, const exception&)"); +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +/// how to treat CBOR tags +enum class cbor_tag_handler_t +{ + error, ///< throw a parse_error exception in case of a tag + ignore, ///< ignore tags + store ///< store tags as binary type +}; + +/*! +@brief determine system byte order + +@return true if and only if system's byte order is little endian + +@note from https://stackoverflow.com/a/1001328/266378 +*/ +static inline bool little_endianess(int num = 1) noexcept +{ + return *reinterpret_cast(&num) == 1; +} + + +/////////////////// +// binary reader // +/////////////////// + +/*! +@brief deserialization of CBOR, MessagePack, and UBJSON values +*/ +template> +class binary_reader +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using json_sax_t = SAX; + using char_type = typename InputAdapterType::char_type; + using char_int_type = typename std::char_traits::int_type; + + public: + /*! + @brief create a binary reader + + @param[in] adapter input adapter to read from + */ + explicit binary_reader(InputAdapterType&& adapter) noexcept : ia(std::move(adapter)) + { + (void)detail::is_sax_static_asserts {}; + } + + // make class move-only + binary_reader(const binary_reader&) = delete; + binary_reader(binary_reader&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + binary_reader& operator=(const binary_reader&) = delete; + binary_reader& operator=(binary_reader&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) + ~binary_reader() = default; + + /*! + @param[in] format the binary format to parse + @param[in] sax_ a SAX event processor + @param[in] strict whether to expect the input to be consumed completed + @param[in] tag_handler how to treat CBOR tags + + @return whether parsing was successful + */ + JSON_HEDLEY_NON_NULL(3) + bool sax_parse(const input_format_t format, + json_sax_t* sax_, + const bool strict = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + sax = sax_; + bool result = false; + + switch (format) + { + case input_format_t::bson: + result = parse_bson_internal(); + break; + + case input_format_t::cbor: + result = parse_cbor_internal(true, tag_handler); + break; + + case input_format_t::msgpack: + result = parse_msgpack_internal(); + break; + + case input_format_t::ubjson: + result = parse_ubjson_internal(); + break; + + case input_format_t::json: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + + // strict mode: next byte must be EOF + if (result && strict) + { + if (format == input_format_t::ubjson) + { + get_ignore_noop(); + } + else + { + get(); + } + + if (JSON_HEDLEY_UNLIKELY(current != std::char_traits::eof())) + { + return sax->parse_error(chars_read, get_token_string(), + parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"), BasicJsonType())); + } + } + + return result; + } + + private: + ////////// + // BSON // + ////////// + + /*! + @brief Reads in a BSON-object and passes it to the SAX-parser. + @return whether a valid BSON-value was passed to the SAX parser + */ + bool parse_bson_internal() + { + std::int32_t document_size{}; + get_number(input_format_t::bson, document_size); + + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/false))) + { + return false; + } + + return sax->end_object(); + } + + /*! + @brief Parses a C-style string from the BSON input. + @param[in,out] result A reference to the string variable where the read + string is to be stored. + @return `true` if the \x00-byte indicating the end of the string was + encountered before the EOF; false` indicates an unexpected EOF. + */ + bool get_bson_cstr(string_t& result) + { + auto out = std::back_inserter(result); + while (true) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "cstring"))) + { + return false; + } + if (current == 0x00) + { + return true; + } + *out++ = static_cast(current); + } + } + + /*! + @brief Parses a zero-terminated string of length @a len from the BSON + input. + @param[in] len The length (including the zero-byte at the end) of the + string to be read. + @param[in,out] result A reference to the string variable where the read + string is to be stored. + @tparam NumberType The type of the length @a len + @pre len >= 1 + @return `true` if the string was successfully parsed + */ + template + bool get_bson_string(const NumberType len, string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(len < 1)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"), BasicJsonType())); + } + + return get_string(input_format_t::bson, len - static_cast(1), result) && get() != std::char_traits::eof(); + } + + /*! + @brief Parses a byte array input of length @a len from the BSON input. + @param[in] len The length of the byte array to be read. + @param[in,out] result A reference to the binary variable where the read + array is to be stored. + @tparam NumberType The type of the length @a len + @pre len >= 0 + @return `true` if the byte array was successfully parsed + */ + template + bool get_bson_binary(const NumberType len, binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(len < 0)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "byte array length cannot be negative, is " + std::to_string(len), "binary"), BasicJsonType())); + } + + // All BSON binary values have a subtype + std::uint8_t subtype{}; + get_number(input_format_t::bson, subtype); + result.set_subtype(subtype); + + return get_binary(input_format_t::bson, len, result); + } + + /*! + @brief Read a BSON document element of the given @a element_type. + @param[in] element_type The BSON element type, c.f. http://bsonspec.org/spec.html + @param[in] element_type_parse_position The position in the input stream, + where the `element_type` was read. + @warning Not all BSON element types are supported yet. An unsupported + @a element_type will give rise to a parse_error.114: + Unsupported BSON record type 0x... + @return whether a valid BSON-object/array was passed to the SAX parser + */ + bool parse_bson_element_internal(const char_int_type element_type, + const std::size_t element_type_parse_position) + { + switch (element_type) + { + case 0x01: // double + { + double number{}; + return get_number(input_format_t::bson, number) && sax->number_float(static_cast(number), ""); + } + + case 0x02: // string + { + std::int32_t len{}; + string_t value; + return get_number(input_format_t::bson, len) && get_bson_string(len, value) && sax->string(value); + } + + case 0x03: // object + { + return parse_bson_internal(); + } + + case 0x04: // array + { + return parse_bson_array(); + } + + case 0x05: // binary + { + std::int32_t len{}; + binary_t value; + return get_number(input_format_t::bson, len) && get_bson_binary(len, value) && sax->binary(value); + } + + case 0x08: // boolean + { + return sax->boolean(get() != 0); + } + + case 0x0A: // null + { + return sax->null(); + } + + case 0x10: // int32 + { + std::int32_t value{}; + return get_number(input_format_t::bson, value) && sax->number_integer(value); + } + + case 0x12: // int64 + { + std::int64_t value{}; + return get_number(input_format_t::bson, value) && sax->number_integer(value); + } + + default: // anything else not supported (yet) + { + std::array cr{{}}; + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(element_type)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data()), BasicJsonType())); + } + } + } + + /*! + @brief Read a BSON element list (as specified in the BSON-spec) + + The same binary layout is used for objects and arrays, hence it must be + indicated with the argument @a is_array which one is expected + (true --> array, false --> object). + + @param[in] is_array Determines if the element list being read is to be + treated as an object (@a is_array == false), or as an + array (@a is_array == true). + @return whether a valid BSON-object/array was passed to the SAX parser + */ + bool parse_bson_element_list(const bool is_array) + { + string_t key; + + while (auto element_type = get()) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "element list"))) + { + return false; + } + + const std::size_t element_type_parse_position = chars_read; + if (JSON_HEDLEY_UNLIKELY(!get_bson_cstr(key))) + { + return false; + } + + if (!is_array && !sax->key(key)) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_internal(element_type, element_type_parse_position))) + { + return false; + } + + // get_bson_cstr only appends + key.clear(); + } + + return true; + } + + /*! + @brief Reads an array from the BSON input and passes it to the SAX-parser. + @return whether a valid BSON-array was passed to the SAX parser + */ + bool parse_bson_array() + { + std::int32_t document_size{}; + get_number(input_format_t::bson, document_size); + + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/true))) + { + return false; + } + + return sax->end_array(); + } + + ////////// + // CBOR // + ////////// + + /*! + @param[in] get_char whether a new character should be retrieved from the + input (true) or whether the last read character should + be considered instead (false) + @param[in] tag_handler how CBOR tags should be treated + + @return whether a valid CBOR value was passed to the SAX parser + */ + bool parse_cbor_internal(const bool get_char, + const cbor_tag_handler_t tag_handler) + { + switch (get_char ? get() : current) + { + // EOF + case std::char_traits::eof(): + return unexpect_eof(input_format_t::cbor, "value"); + + // Integer 0x00..0x17 (0..23) + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case 0x09: + case 0x0A: + case 0x0B: + case 0x0C: + case 0x0D: + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + return sax->number_unsigned(static_cast(current)); + + case 0x18: // Unsigned integer (one-byte uint8_t follows) + { + std::uint8_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x19: // Unsigned integer (two-byte uint16_t follows) + { + std::uint16_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x1A: // Unsigned integer (four-byte uint32_t follows) + { + std::uint32_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + case 0x1B: // Unsigned integer (eight-byte uint64_t follows) + { + std::uint64_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_unsigned(number); + } + + // Negative integer -1-0x00..-1-0x17 (-1..-24) + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + return sax->number_integer(static_cast(0x20 - 1 - current)); + + case 0x38: // Negative integer (one-byte uint8_t follows) + { + std::uint8_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x39: // Negative integer -1-n (two-byte uint16_t follows) + { + std::uint16_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x3A: // Negative integer -1-n (four-byte uint32_t follows) + { + std::uint32_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) - number); + } + + case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows) + { + std::uint64_t number{}; + return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast(-1) + - static_cast(number)); + } + + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: // Binary data (one-byte uint8_t for n follows) + case 0x59: // Binary data (two-byte uint16_t for n follow) + case 0x5A: // Binary data (four-byte uint32_t for n follow) + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + case 0x5F: // Binary data (indefinite length) + { + binary_t b; + return get_cbor_binary(b) && sax->binary(b); + } + + // UTF-8 string (0x00..0x17 bytes follow) + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: // UTF-8 string (one-byte uint8_t for n follows) + case 0x79: // UTF-8 string (two-byte uint16_t for n follow) + case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) + case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) + case 0x7F: // UTF-8 string (indefinite length) + { + string_t s; + return get_cbor_string(s) && sax->string(s); + } + + // array (0x00..0x17 data items follow) + case 0x80: + case 0x81: + case 0x82: + case 0x83: + case 0x84: + case 0x85: + case 0x86: + case 0x87: + case 0x88: + case 0x89: + case 0x8A: + case 0x8B: + case 0x8C: + case 0x8D: + case 0x8E: + case 0x8F: + case 0x90: + case 0x91: + case 0x92: + case 0x93: + case 0x94: + case 0x95: + case 0x96: + case 0x97: + return get_cbor_array(static_cast(static_cast(current) & 0x1Fu), tag_handler); + + case 0x98: // array (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x99: // array (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x9A: // array (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast(len), tag_handler); + } + + case 0x9B: // array (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_array(detail::conditional_static_cast(len), tag_handler); + } + + case 0x9F: // array (indefinite length) + return get_cbor_array(std::size_t(-1), tag_handler); + + // map (0x00..0x17 pairs of data items follow) + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + return get_cbor_object(static_cast(static_cast(current) & 0x1Fu), tag_handler); + + case 0xB8: // map (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xB9: // map (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xBA: // map (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast(len), tag_handler); + } + + case 0xBB: // map (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_cbor_object(detail::conditional_static_cast(len), tag_handler); + } + + case 0xBF: // map (indefinite length) + return get_cbor_object(std::size_t(-1), tag_handler); + + case 0xC6: // tagged item + case 0xC7: + case 0xC8: + case 0xC9: + case 0xCA: + case 0xCB: + case 0xCC: + case 0xCD: + case 0xCE: + case 0xCF: + case 0xD0: + case 0xD1: + case 0xD2: + case 0xD3: + case 0xD4: + case 0xD8: // tagged item (1 bytes follow) + case 0xD9: // tagged item (2 bytes follow) + case 0xDA: // tagged item (4 bytes follow) + case 0xDB: // tagged item (8 bytes follow) + { + switch (tag_handler) + { + case cbor_tag_handler_t::error: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"), BasicJsonType())); + } + + case cbor_tag_handler_t::ignore: + { + // ignore binary subtype + switch (current) + { + case 0xD8: + { + std::uint8_t subtype_to_ignore{}; + get_number(input_format_t::cbor, subtype_to_ignore); + break; + } + case 0xD9: + { + std::uint16_t subtype_to_ignore{}; + get_number(input_format_t::cbor, subtype_to_ignore); + break; + } + case 0xDA: + { + std::uint32_t subtype_to_ignore{}; + get_number(input_format_t::cbor, subtype_to_ignore); + break; + } + case 0xDB: + { + std::uint64_t subtype_to_ignore{}; + get_number(input_format_t::cbor, subtype_to_ignore); + break; + } + default: + break; + } + return parse_cbor_internal(true, tag_handler); + } + + case cbor_tag_handler_t::store: + { + binary_t b; + // use binary subtype and store in binary container + switch (current) + { + case 0xD8: + { + std::uint8_t subtype{}; + get_number(input_format_t::cbor, subtype); + b.set_subtype(detail::conditional_static_cast(subtype)); + break; + } + case 0xD9: + { + std::uint16_t subtype{}; + get_number(input_format_t::cbor, subtype); + b.set_subtype(detail::conditional_static_cast(subtype)); + break; + } + case 0xDA: + { + std::uint32_t subtype{}; + get_number(input_format_t::cbor, subtype); + b.set_subtype(detail::conditional_static_cast(subtype)); + break; + } + case 0xDB: + { + std::uint64_t subtype{}; + get_number(input_format_t::cbor, subtype); + b.set_subtype(detail::conditional_static_cast(subtype)); + break; + } + default: + return parse_cbor_internal(true, tag_handler); + } + get(); + return get_cbor_binary(b) && sax->binary(b); + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + return false; // LCOV_EXCL_LINE + } + } + + case 0xF4: // false + return sax->boolean(false); + + case 0xF5: // true + return sax->boolean(true); + + case 0xF6: // null + return sax->null(); + + case 0xF9: // Half-Precision Float (two-byte IEEE 754) + { + const auto byte1_raw = get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number"))) + { + return false; + } + const auto byte2_raw = get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number"))) + { + return false; + } + + const auto byte1 = static_cast(byte1_raw); + const auto byte2 = static_cast(byte2_raw); + + // code from RFC 7049, Appendix D, Figure 3: + // As half-precision floating-point numbers were only added + // to IEEE 754 in 2008, today's programming platforms often + // still only have limited support for them. It is very + // easy to include at least decoding support for them even + // without such support. An example of a small decoder for + // half-precision floating-point numbers in the C language + // is shown in Fig. 3. + const auto half = static_cast((byte1 << 8u) + byte2); + const double val = [&half] + { + const int exp = (half >> 10u) & 0x1Fu; + const unsigned int mant = half & 0x3FFu; + JSON_ASSERT(0 <= exp&& exp <= 32); + JSON_ASSERT(mant <= 1024); + switch (exp) + { + case 0: + return std::ldexp(mant, -24); + case 31: + return (mant == 0) + ? std::numeric_limits::infinity() + : std::numeric_limits::quiet_NaN(); + default: + return std::ldexp(mant + 1024, exp - 25); + } + }(); + return sax->number_float((half & 0x8000u) != 0 + ? static_cast(-val) + : static_cast(val), ""); + } + + case 0xFA: // Single-Precision Float (four-byte IEEE 754) + { + float number{}; + return get_number(input_format_t::cbor, number) && sax->number_float(static_cast(number), ""); + } + + case 0xFB: // Double-Precision Float (eight-byte IEEE 754) + { + double number{}; + return get_number(input_format_t::cbor, number) && sax->number_float(static_cast(number), ""); + } + + default: // anything else (0xFF is handled inside the other types) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"), BasicJsonType())); + } + } + } + + /*! + @brief reads a CBOR string + + This function first reads starting bytes to determine the expected + string length and then copies this number of bytes into a string. + Additionally, CBOR's strings with indefinite lengths are supported. + + @param[out] result created string + + @return whether string creation completed + */ + bool get_cbor_string(string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "string"))) + { + return false; + } + + switch (current) + { + // UTF-8 string (0x00..0x17 bytes follow) + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + { + return get_string(input_format_t::cbor, static_cast(current) & 0x1Fu, result); + } + + case 0x78: // UTF-8 string (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x79: // UTF-8 string (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result); + } + + case 0x7F: // UTF-8 string (indefinite length) + { + while (get() != 0xFF) + { + string_t chunk; + if (!get_cbor_string(chunk)) + { + return false; + } + result.append(chunk); + } + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string"), BasicJsonType())); + } + } + } + + /*! + @brief reads a CBOR byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into the byte array. + Additionally, CBOR's byte arrays with indefinite lengths are supported. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_cbor_binary(binary_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "binary"))) + { + return false; + } + + switch (current) + { + // Binary data (0x00..0x17 bytes follow) + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + { + return get_binary(input_format_t::cbor, static_cast(current) & 0x1Fu, result); + } + + case 0x58: // Binary data (one-byte uint8_t for n follows) + { + std::uint8_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x59: // Binary data (two-byte uint16_t for n follow) + { + std::uint16_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5A: // Binary data (four-byte uint32_t for n follow) + { + std::uint32_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5B: // Binary data (eight-byte uint64_t for n follow) + { + std::uint64_t len{}; + return get_number(input_format_t::cbor, len) && + get_binary(input_format_t::cbor, len, result); + } + + case 0x5F: // Binary data (indefinite length) + { + while (get() != 0xFF) + { + binary_t chunk; + if (!get_cbor_binary(chunk)) + { + return false; + } + result.insert(result.end(), chunk.begin(), chunk.end()); + } + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x40-0x5B) or indefinite binary array type (0x5F); last byte: 0x" + last_token, "binary"), BasicJsonType())); + } + } + } + + /*! + @param[in] len the length of the array or std::size_t(-1) for an + array of indefinite size + @param[in] tag_handler how CBOR tags should be treated + @return whether array creation completed + */ + bool get_cbor_array(const std::size_t len, + const cbor_tag_handler_t tag_handler) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) + { + return false; + } + + if (len != std::size_t(-1)) + { + for (std::size_t i = 0; i < len; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + } + } + else + { + while (get() != 0xFF) + { + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(false, tag_handler))) + { + return false; + } + } + } + + return sax->end_array(); + } + + /*! + @param[in] len the length of the object or std::size_t(-1) for an + object of indefinite size + @param[in] tag_handler how CBOR tags should be treated + @return whether object creation completed + */ + bool get_cbor_object(const std::size_t len, + const cbor_tag_handler_t tag_handler) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) + { + return false; + } + + if (len != 0) + { + string_t key; + if (len != std::size_t(-1)) + { + for (std::size_t i = 0; i < len; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + key.clear(); + } + } + else + { + while (get() != 0xFF) + { + if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler))) + { + return false; + } + key.clear(); + } + } + } + + return sax->end_object(); + } + + ///////////// + // MsgPack // + ///////////// + + /*! + @return whether a valid MessagePack value was passed to the SAX parser + */ + bool parse_msgpack_internal() + { + switch (get()) + { + // EOF + case std::char_traits::eof(): + return unexpect_eof(input_format_t::msgpack, "value"); + + // positive fixint + case 0x00: + case 0x01: + case 0x02: + case 0x03: + case 0x04: + case 0x05: + case 0x06: + case 0x07: + case 0x08: + case 0x09: + case 0x0A: + case 0x0B: + case 0x0C: + case 0x0D: + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + case 0x18: + case 0x19: + case 0x1A: + case 0x1B: + case 0x1C: + case 0x1D: + case 0x1E: + case 0x1F: + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + case 0x25: + case 0x26: + case 0x27: + case 0x28: + case 0x29: + case 0x2A: + case 0x2B: + case 0x2C: + case 0x2D: + case 0x2E: + case 0x2F: + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x3A: + case 0x3B: + case 0x3C: + case 0x3D: + case 0x3E: + case 0x3F: + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4A: + case 0x4B: + case 0x4C: + case 0x4D: + case 0x4E: + case 0x4F: + case 0x50: + case 0x51: + case 0x52: + case 0x53: + case 0x54: + case 0x55: + case 0x56: + case 0x57: + case 0x58: + case 0x59: + case 0x5A: + case 0x5B: + case 0x5C: + case 0x5D: + case 0x5E: + case 0x5F: + case 0x60: + case 0x61: + case 0x62: + case 0x63: + case 0x64: + case 0x65: + case 0x66: + case 0x67: + case 0x68: + case 0x69: + case 0x6A: + case 0x6B: + case 0x6C: + case 0x6D: + case 0x6E: + case 0x6F: + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: + case 0x79: + case 0x7A: + case 0x7B: + case 0x7C: + case 0x7D: + case 0x7E: + case 0x7F: + return sax->number_unsigned(static_cast(current)); + + // fixmap + case 0x80: + case 0x81: + case 0x82: + case 0x83: + case 0x84: + case 0x85: + case 0x86: + case 0x87: + case 0x88: + case 0x89: + case 0x8A: + case 0x8B: + case 0x8C: + case 0x8D: + case 0x8E: + case 0x8F: + return get_msgpack_object(static_cast(static_cast(current) & 0x0Fu)); + + // fixarray + case 0x90: + case 0x91: + case 0x92: + case 0x93: + case 0x94: + case 0x95: + case 0x96: + case 0x97: + case 0x98: + case 0x99: + case 0x9A: + case 0x9B: + case 0x9C: + case 0x9D: + case 0x9E: + case 0x9F: + return get_msgpack_array(static_cast(static_cast(current) & 0x0Fu)); + + // fixstr + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + case 0xB8: + case 0xB9: + case 0xBA: + case 0xBB: + case 0xBC: + case 0xBD: + case 0xBE: + case 0xBF: + case 0xD9: // str 8 + case 0xDA: // str 16 + case 0xDB: // str 32 + { + string_t s; + return get_msgpack_string(s) && sax->string(s); + } + + case 0xC0: // nil + return sax->null(); + + case 0xC2: // false + return sax->boolean(false); + + case 0xC3: // true + return sax->boolean(true); + + case 0xC4: // bin 8 + case 0xC5: // bin 16 + case 0xC6: // bin 32 + case 0xC7: // ext 8 + case 0xC8: // ext 16 + case 0xC9: // ext 32 + case 0xD4: // fixext 1 + case 0xD5: // fixext 2 + case 0xD6: // fixext 4 + case 0xD7: // fixext 8 + case 0xD8: // fixext 16 + { + binary_t b; + return get_msgpack_binary(b) && sax->binary(b); + } + + case 0xCA: // float 32 + { + float number{}; + return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast(number), ""); + } + + case 0xCB: // float 64 + { + double number{}; + return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast(number), ""); + } + + case 0xCC: // uint 8 + { + std::uint8_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCD: // uint 16 + { + std::uint16_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCE: // uint 32 + { + std::uint32_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xCF: // uint 64 + { + std::uint64_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number); + } + + case 0xD0: // int 8 + { + std::int8_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD1: // int 16 + { + std::int16_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD2: // int 32 + { + std::int32_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xD3: // int 64 + { + std::int64_t number{}; + return get_number(input_format_t::msgpack, number) && sax->number_integer(number); + } + + case 0xDC: // array 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast(len)); + } + + case 0xDD: // array 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast(len)); + } + + case 0xDE: // map 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast(len)); + } + + case 0xDF: // map 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast(len)); + } + + // negative fixint + case 0xE0: + case 0xE1: + case 0xE2: + case 0xE3: + case 0xE4: + case 0xE5: + case 0xE6: + case 0xE7: + case 0xE8: + case 0xE9: + case 0xEA: + case 0xEB: + case 0xEC: + case 0xED: + case 0xEE: + case 0xEF: + case 0xF0: + case 0xF1: + case 0xF2: + case 0xF3: + case 0xF4: + case 0xF5: + case 0xF6: + case 0xF7: + case 0xF8: + case 0xF9: + case 0xFA: + case 0xFB: + case 0xFC: + case 0xFD: + case 0xFE: + case 0xFF: + return sax->number_integer(static_cast(current)); + + default: // anything else + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value"), BasicJsonType())); + } + } + } + + /*! + @brief reads a MessagePack string + + This function first reads starting bytes to determine the expected + string length and then copies this number of bytes into a string. + + @param[out] result created string + + @return whether string creation completed + */ + bool get_msgpack_string(string_t& result) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::msgpack, "string"))) + { + return false; + } + + switch (current) + { + // fixstr + case 0xA0: + case 0xA1: + case 0xA2: + case 0xA3: + case 0xA4: + case 0xA5: + case 0xA6: + case 0xA7: + case 0xA8: + case 0xA9: + case 0xAA: + case 0xAB: + case 0xAC: + case 0xAD: + case 0xAE: + case 0xAF: + case 0xB0: + case 0xB1: + case 0xB2: + case 0xB3: + case 0xB4: + case 0xB5: + case 0xB6: + case 0xB7: + case 0xB8: + case 0xB9: + case 0xBA: + case 0xBB: + case 0xBC: + case 0xBD: + case 0xBE: + case 0xBF: + { + return get_string(input_format_t::msgpack, static_cast(current) & 0x1Fu, result); + } + + case 0xD9: // str 8 + { + std::uint8_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + case 0xDA: // str 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + case 0xDB: // str 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result); + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string"), BasicJsonType())); + } + } + } + + /*! + @brief reads a MessagePack byte array + + This function first reads starting bytes to determine the expected + byte array length and then copies this number of bytes into a byte array. + + @param[out] result created byte array + + @return whether byte array creation completed + */ + bool get_msgpack_binary(binary_t& result) + { + // helper function to set the subtype + auto assign_and_return_true = [&result](std::int8_t subtype) + { + result.set_subtype(static_cast(subtype)); + return true; + }; + + switch (current) + { + case 0xC4: // bin 8 + { + std::uint8_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC5: // bin 16 + { + std::uint16_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC6: // bin 32 + { + std::uint32_t len{}; + return get_number(input_format_t::msgpack, len) && + get_binary(input_format_t::msgpack, len, result); + } + + case 0xC7: // ext 8 + { + std::uint8_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xC8: // ext 16 + { + std::uint16_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xC9: // ext 32 + { + std::uint32_t len{}; + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, len) && + get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, len, result) && + assign_and_return_true(subtype); + } + + case 0xD4: // fixext 1 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 1, result) && + assign_and_return_true(subtype); + } + + case 0xD5: // fixext 2 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 2, result) && + assign_and_return_true(subtype); + } + + case 0xD6: // fixext 4 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 4, result) && + assign_and_return_true(subtype); + } + + case 0xD7: // fixext 8 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 8, result) && + assign_and_return_true(subtype); + } + + case 0xD8: // fixext 16 + { + std::int8_t subtype{}; + return get_number(input_format_t::msgpack, subtype) && + get_binary(input_format_t::msgpack, 16, result) && + assign_and_return_true(subtype); + } + + default: // LCOV_EXCL_LINE + return false; // LCOV_EXCL_LINE + } + } + + /*! + @param[in] len the length of the array + @return whether array creation completed + */ + bool get_msgpack_array(const std::size_t len) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) + { + return false; + } + + for (std::size_t i = 0; i < len; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) + { + return false; + } + } + + return sax->end_array(); + } + + /*! + @param[in] len the length of the object + @return whether object creation completed + */ + bool get_msgpack_object(const std::size_t len) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) + { + return false; + } + + string_t key; + for (std::size_t i = 0; i < len; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!get_msgpack_string(key) || !sax->key(key))) + { + return false; + } + + if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) + { + return false; + } + key.clear(); + } + + return sax->end_object(); + } + + //////////// + // UBJSON // + //////////// + + /*! + @param[in] get_char whether a new character should be retrieved from the + input (true, default) or whether the last read + character should be considered instead + + @return whether a valid UBJSON value was passed to the SAX parser + */ + bool parse_ubjson_internal(const bool get_char = true) + { + return get_ubjson_value(get_char ? get_ignore_noop() : current); + } + + /*! + @brief reads a UBJSON string + + This function is either called after reading the 'S' byte explicitly + indicating a string, or in case of an object key where the 'S' byte can be + left out. + + @param[out] result created string + @param[in] get_char whether a new character should be retrieved from the + input (true, default) or whether the last read + character should be considered instead + + @return whether string creation completed + */ + bool get_ubjson_string(string_t& result, const bool get_char = true) + { + if (get_char) + { + get(); // TODO(niels): may we ignore N here? + } + + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value"))) + { + return false; + } + + switch (current) + { + case 'U': + { + std::uint8_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'i': + { + std::int8_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'I': + { + std::int16_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'l': + { + std::int32_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + case 'L': + { + std::int64_t len{}; + return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result); + } + + default: + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string"), BasicJsonType())); + } + } + + /*! + @param[out] result determined size + @return whether size determination completed + */ + bool get_ubjson_size_value(std::size_t& result) + { + switch (get_ignore_noop()) + { + case 'U': + { + std::uint8_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'i': + { + std::int8_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); // NOLINT(bugprone-signed-char-misuse,cert-str34-c): number is not a char + return true; + } + + case 'I': + { + std::int16_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'l': + { + std::int32_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + case 'L': + { + std::int64_t number{}; + if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number))) + { + return false; + } + result = static_cast(number); + return true; + } + + default: + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size"), BasicJsonType())); + } + } + } + + /*! + @brief determine the type and size for a container + + In the optimized UBJSON format, a type and a size can be provided to allow + for a more compact representation. + + @param[out] result pair of the size and the type + + @return whether pair creation completed + */ + bool get_ubjson_size_type(std::pair& result) + { + result.first = string_t::npos; // size + result.second = 0; // type + + get_ignore_noop(); + + if (current == '$') + { + result.second = get(); // must not ignore 'N', because 'N' maybe the type + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "type"))) + { + return false; + } + + get_ignore_noop(); + if (JSON_HEDLEY_UNLIKELY(current != '#')) + { + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value"))) + { + return false; + } + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size"), BasicJsonType())); + } + + return get_ubjson_size_value(result.first); + } + + if (current == '#') + { + return get_ubjson_size_value(result.first); + } + + return true; + } + + /*! + @param prefix the previously read or set type prefix + @return whether value creation completed + */ + bool get_ubjson_value(const char_int_type prefix) + { + switch (prefix) + { + case std::char_traits::eof(): // EOF + return unexpect_eof(input_format_t::ubjson, "value"); + + case 'T': // true + return sax->boolean(true); + case 'F': // false + return sax->boolean(false); + + case 'Z': // null + return sax->null(); + + case 'U': + { + std::uint8_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_unsigned(number); + } + + case 'i': + { + std::int8_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'I': + { + std::int16_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'l': + { + std::int32_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'L': + { + std::int64_t number{}; + return get_number(input_format_t::ubjson, number) && sax->number_integer(number); + } + + case 'd': + { + float number{}; + return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast(number), ""); + } + + case 'D': + { + double number{}; + return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast(number), ""); + } + + case 'H': + { + return get_ubjson_high_precision_number(); + } + + case 'C': // char + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "char"))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(current > 127)) + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"), BasicJsonType())); + } + string_t s(1, static_cast(current)); + return sax->string(s); + } + + case 'S': // string + { + string_t s; + return get_ubjson_string(s) && sax->string(s); + } + + case '[': // array + return get_ubjson_array(); + + case '{': // object + return get_ubjson_object(); + + default: // anything else + { + auto last_token = get_token_string(); + return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value"), BasicJsonType())); + } + } + } + + /*! + @return whether array creation completed + */ + bool get_ubjson_array() + { + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) + { + return false; + } + + if (size_and_type.first != string_t::npos) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first))) + { + return false; + } + + if (size_and_type.second != 0) + { + if (size_and_type.second != 'N') + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) + { + return false; + } + } + } + } + else + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + } + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + while (current != ']') + { + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal(false))) + { + return false; + } + get_ignore_noop(); + } + } + + return sax->end_array(); + } + + /*! + @return whether object creation completed + */ + bool get_ubjson_object() + { + std::pair size_and_type; + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) + { + return false; + } + + string_t key; + if (size_and_type.first != string_t::npos) + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(size_and_type.first))) + { + return false; + } + + if (size_and_type.second != 0) + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) + { + return false; + } + key.clear(); + } + } + else + { + for (std::size_t i = 0; i < size_and_type.first; ++i) + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + key.clear(); + } + } + } + else + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + while (current != '}') + { + if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key, false) || !sax->key(key))) + { + return false; + } + if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) + { + return false; + } + get_ignore_noop(); + key.clear(); + } + } + + return sax->end_object(); + } + + // Note, no reader for UBJSON binary types is implemented because they do + // not exist + + bool get_ubjson_high_precision_number() + { + // get size of following number string + std::size_t size{}; + auto res = get_ubjson_size_value(size); + if (JSON_HEDLEY_UNLIKELY(!res)) + { + return res; + } + + // get number string + std::vector number_vector; + for (std::size_t i = 0; i < size; ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "number"))) + { + return false; + } + number_vector.push_back(static_cast(current)); + } + + // parse number string + using ia_type = decltype(detail::input_adapter(number_vector)); + auto number_lexer = detail::lexer(detail::input_adapter(number_vector), false); + const auto result_number = number_lexer.scan(); + const auto number_string = number_lexer.get_token_string(); + const auto result_remainder = number_lexer.scan(); + + using token_type = typename detail::lexer_base::token_type; + + if (JSON_HEDLEY_UNLIKELY(result_remainder != token_type::end_of_input)) + { + return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"), BasicJsonType())); + } + + switch (result_number) + { + case token_type::value_integer: + return sax->number_integer(number_lexer.get_number_integer()); + case token_type::value_unsigned: + return sax->number_unsigned(number_lexer.get_number_unsigned()); + case token_type::value_float: + return sax->number_float(number_lexer.get_number_float(), std::move(number_string)); + case token_type::uninitialized: + case token_type::literal_true: + case token_type::literal_false: + case token_type::literal_null: + case token_type::value_string: + case token_type::begin_array: + case token_type::begin_object: + case token_type::end_array: + case token_type::end_object: + case token_type::name_separator: + case token_type::value_separator: + case token_type::parse_error: + case token_type::end_of_input: + case token_type::literal_or_value: + default: + return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"), BasicJsonType())); + } + } + + /////////////////////// + // Utility functions // + /////////////////////// + + /*! + @brief get next character from the input + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns a -'ve valued + `std::char_traits::eof()` in that case. + + @return character read from the input + */ + char_int_type get() + { + ++chars_read; + return current = ia.get_character(); + } + + /*! + @return character read from the input after ignoring all 'N' entries + */ + char_int_type get_ignore_noop() + { + do + { + get(); + } + while (current == 'N'); + + return current; + } + + /* + @brief read a number from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[out] result number of type @a NumberType + + @return whether conversion completed + + @note This function needs to respect the system's endianess, because + bytes in CBOR, MessagePack, and UBJSON are stored in network order + (big endian) and therefore need reordering on little endian systems. + */ + template + bool get_number(const input_format_t format, NumberType& result) + { + // step 1: read input into array with system's byte order + std::array vec{}; + for (std::size_t i = 0; i < sizeof(NumberType); ++i) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number"))) + { + return false; + } + + // reverse byte order prior to conversion if necessary + if (is_little_endian != InputIsLittleEndian) + { + vec[sizeof(NumberType) - i - 1] = static_cast(current); + } + else + { + vec[i] = static_cast(current); // LCOV_EXCL_LINE + } + } + + // step 2: convert array into number of type T and return + std::memcpy(&result, vec.data(), sizeof(NumberType)); + return true; + } + + /*! + @brief create a string by reading characters from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[in] len number of characters to read + @param[out] result string created by reading @a len bytes + + @return whether string creation completed + + @note We can not reserve @a len bytes for the result, because @a len + may be too large. Usually, @ref unexpect_eof() detects the end of + the input before we run out of string memory. + */ + template + bool get_string(const input_format_t format, + const NumberType len, + string_t& result) + { + bool success = true; + for (NumberType i = 0; i < len; i++) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "string"))) + { + success = false; + break; + } + result.push_back(static_cast(current)); + } + return success; + } + + /*! + @brief create a byte array by reading bytes from the input + + @tparam NumberType the type of the number + @param[in] format the current format (for diagnostics) + @param[in] len number of bytes to read + @param[out] result byte array created by reading @a len bytes + + @return whether byte array creation completed + + @note We can not reserve @a len bytes for the result, because @a len + may be too large. Usually, @ref unexpect_eof() detects the end of + the input before we run out of memory. + */ + template + bool get_binary(const input_format_t format, + const NumberType len, + binary_t& result) + { + bool success = true; + for (NumberType i = 0; i < len; i++) + { + get(); + if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "binary"))) + { + success = false; + break; + } + result.push_back(static_cast(current)); + } + return success; + } + + /*! + @param[in] format the current format (for diagnostics) + @param[in] context further context information (for diagnostics) + @return whether the last read character is not EOF + */ + JSON_HEDLEY_NON_NULL(3) + bool unexpect_eof(const input_format_t format, const char* context) const + { + if (JSON_HEDLEY_UNLIKELY(current == std::char_traits::eof())) + { + return sax->parse_error(chars_read, "", + parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context), BasicJsonType())); + } + return true; + } + + /*! + @return a string representation of the last read byte + */ + std::string get_token_string() const + { + std::array cr{{}}; + (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast(current)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + return std::string{cr.data()}; + } + + /*! + @param[in] format the current format + @param[in] detail a detailed error message + @param[in] context further context information + @return a message string to use in the parse_error exceptions + */ + std::string exception_message(const input_format_t format, + const std::string& detail, + const std::string& context) const + { + std::string error_msg = "syntax error while parsing "; + + switch (format) + { + case input_format_t::cbor: + error_msg += "CBOR"; + break; + + case input_format_t::msgpack: + error_msg += "MessagePack"; + break; + + case input_format_t::ubjson: + error_msg += "UBJSON"; + break; + + case input_format_t::bson: + error_msg += "BSON"; + break; + + case input_format_t::json: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + + return error_msg + " " + context + ": " + detail; + } + + private: + /// input adapter + InputAdapterType ia; + + /// the current character + char_int_type current = std::char_traits::eof(); + + /// the number of characters read + std::size_t chars_read = 0; + + /// whether we can assume little endianess + const bool is_little_endian = little_endianess(); + + /// the SAX parser + json_sax_t* sax = nullptr; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include // isfinite +#include // uint8_t +#include // function +#include // string +#include // move +#include // vector + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +//////////// +// parser // +//////////// + +enum class parse_event_t : std::uint8_t +{ + /// the parser read `{` and started to process a JSON object + object_start, + /// the parser read `}` and finished processing a JSON object + object_end, + /// the parser read `[` and started to process a JSON array + array_start, + /// the parser read `]` and finished processing a JSON array + array_end, + /// the parser read a key of a value in an object + key, + /// the parser finished reading a JSON value + value +}; + +template +using parser_callback_t = + std::function; + +/*! +@brief syntax analysis + +This class implements a recursive descent parser. +*/ +template +class parser +{ + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using number_float_t = typename BasicJsonType::number_float_t; + using string_t = typename BasicJsonType::string_t; + using lexer_t = lexer; + using token_type = typename lexer_t::token_type; + + public: + /// a parser reading from an input adapter + explicit parser(InputAdapterType&& adapter, + const parser_callback_t cb = nullptr, + const bool allow_exceptions_ = true, + const bool skip_comments = false) + : callback(cb) + , m_lexer(std::move(adapter), skip_comments) + , allow_exceptions(allow_exceptions_) + { + // read first token + get_token(); + } + + /*! + @brief public parser interface + + @param[in] strict whether to expect the last token to be EOF + @param[in,out] result parsed JSON value + + @throw parse_error.101 in case of an unexpected token + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ + void parse(const bool strict, BasicJsonType& result) + { + if (callback) + { + json_sax_dom_callback_parser sdp(result, callback, allow_exceptions); + sax_parse_internal(&sdp); + + // in strict mode, input must be completely read + if (strict && (get_token() != token_type::end_of_input)) + { + sdp.parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), + exception_message(token_type::end_of_input, "value"), BasicJsonType())); + } + + // in case of an error, return discarded value + if (sdp.is_errored()) + { + result = value_t::discarded; + return; + } + + // set top-level value to null if it was discarded by the callback + // function + if (result.is_discarded()) + { + result = nullptr; + } + } + else + { + json_sax_dom_parser sdp(result, allow_exceptions); + sax_parse_internal(&sdp); + + // in strict mode, input must be completely read + if (strict && (get_token() != token_type::end_of_input)) + { + sdp.parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input, "value"), BasicJsonType())); + } + + // in case of an error, return discarded value + if (sdp.is_errored()) + { + result = value_t::discarded; + return; + } + } + + result.assert_invariant(); + } + + /*! + @brief public accept interface + + @param[in] strict whether to expect the last token to be EOF + @return whether the input is a proper JSON text + */ + bool accept(const bool strict = true) + { + json_sax_acceptor sax_acceptor; + return sax_parse(&sax_acceptor, strict); + } + + template + JSON_HEDLEY_NON_NULL(2) + bool sax_parse(SAX* sax, const bool strict = true) + { + (void)detail::is_sax_static_asserts {}; + const bool result = sax_parse_internal(sax); + + // strict mode: next byte must be EOF + if (result && strict && (get_token() != token_type::end_of_input)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input, "value"), BasicJsonType())); + } + + return result; + } + + private: + template + JSON_HEDLEY_NON_NULL(2) + bool sax_parse_internal(SAX* sax) + { + // stack to remember the hierarchy of structured values we are parsing + // true = array; false = object + std::vector states; + // value to avoid a goto (see comment where set to true) + bool skip_to_state_evaluation = false; + + while (true) + { + if (!skip_to_state_evaluation) + { + // invariant: get_token() was called before each iteration + switch (last_token) + { + case token_type::begin_object: + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) + { + return false; + } + + // closing } -> we are done + if (get_token() == token_type::end_object) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_object())) + { + return false; + } + break; + } + + // parse key + if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), BasicJsonType())); + } + if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) + { + return false; + } + + // parse separator (:) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), BasicJsonType())); + } + + // remember we are now inside an object + states.push_back(false); + + // parse values + get_token(); + continue; + } + + case token_type::begin_array: + { + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) + { + return false; + } + + // closing ] -> we are done + if (get_token() == token_type::end_array) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_array())) + { + return false; + } + break; + } + + // remember we are now inside an array + states.push_back(true); + + // parse values (no need to call get_token) + continue; + } + + case token_type::value_float: + { + const auto res = m_lexer.get_number_float(); + + if (JSON_HEDLEY_UNLIKELY(!std::isfinite(res))) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'", BasicJsonType())); + } + + if (JSON_HEDLEY_UNLIKELY(!sax->number_float(res, m_lexer.get_string()))) + { + return false; + } + + break; + } + + case token_type::literal_false: + { + if (JSON_HEDLEY_UNLIKELY(!sax->boolean(false))) + { + return false; + } + break; + } + + case token_type::literal_null: + { + if (JSON_HEDLEY_UNLIKELY(!sax->null())) + { + return false; + } + break; + } + + case token_type::literal_true: + { + if (JSON_HEDLEY_UNLIKELY(!sax->boolean(true))) + { + return false; + } + break; + } + + case token_type::value_integer: + { + if (JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer()))) + { + return false; + } + break; + } + + case token_type::value_string: + { + if (JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string()))) + { + return false; + } + break; + } + + case token_type::value_unsigned: + { + if (JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned()))) + { + return false; + } + break; + } + + case token_type::parse_error: + { + // using "uninitialized" to avoid "expected" message + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::uninitialized, "value"), BasicJsonType())); + } + + case token_type::uninitialized: + case token_type::end_array: + case token_type::end_object: + case token_type::name_separator: + case token_type::value_separator: + case token_type::end_of_input: + case token_type::literal_or_value: + default: // the last token was unexpected + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::literal_or_value, "value"), BasicJsonType())); + } + } + } + else + { + skip_to_state_evaluation = false; + } + + // we reached this line after we successfully parsed a value + if (states.empty()) + { + // empty stack: we reached the end of the hierarchy: done + return true; + } + + if (states.back()) // array + { + // comma -> next value + if (get_token() == token_type::value_separator) + { + // parse a new value + get_token(); + continue; + } + + // closing ] + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array)) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_array())) + { + return false; + } + + // We are done with this array. Before we can parse a + // new value, we need to evaluate the new state first. + // By setting skip_to_state_evaluation to false, we + // are effectively jumping to the beginning of this if. + JSON_ASSERT(!states.empty()); + states.pop_back(); + skip_to_state_evaluation = true; + continue; + } + + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_array, "array"), BasicJsonType())); + } + + // states.back() is false -> object + + // comma -> next value + if (get_token() == token_type::value_separator) + { + // parse key + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), BasicJsonType())); + } + + if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) + { + return false; + } + + // parse separator (:) + if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator)) + { + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), BasicJsonType())); + } + + // parse values + get_token(); + continue; + } + + // closing } + if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object)) + { + if (JSON_HEDLEY_UNLIKELY(!sax->end_object())) + { + return false; + } + + // We are done with this object. Before we can parse a + // new value, we need to evaluate the new state first. + // By setting skip_to_state_evaluation to false, we + // are effectively jumping to the beginning of this if. + JSON_ASSERT(!states.empty()); + states.pop_back(); + skip_to_state_evaluation = true; + continue; + } + + return sax->parse_error(m_lexer.get_position(), + m_lexer.get_token_string(), + parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_object, "object"), BasicJsonType())); + } + } + + /// get next token from lexer + token_type get_token() + { + return last_token = m_lexer.scan(); + } + + std::string exception_message(const token_type expected, const std::string& context) + { + std::string error_msg = "syntax error "; + + if (!context.empty()) + { + error_msg += "while parsing " + context + " "; + } + + error_msg += "- "; + + if (last_token == token_type::parse_error) + { + error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" + + m_lexer.get_token_string() + "'"; + } + else + { + error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token)); + } + + if (expected != token_type::uninitialized) + { + error_msg += "; expected " + std::string(lexer_t::token_type_name(expected)); + } + + return error_msg; + } + + private: + /// callback function + const parser_callback_t callback = nullptr; + /// the type of the last read token + token_type last_token = token_type::uninitialized; + /// the lexer + lexer_t m_lexer; + /// whether to throw exceptions in case of errors + const bool allow_exceptions = true; +}; + +} // namespace detail +} // namespace nlohmann + +// #include + + +// #include + + +#include // ptrdiff_t +#include // numeric_limits + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/* +@brief an iterator for primitive JSON types + +This class models an iterator for primitive JSON types (boolean, number, +string). It's only purpose is to allow the iterator/const_iterator classes +to "iterate" over primitive values. Internally, the iterator is modeled by +a `difference_type` variable. Value begin_value (`0`) models the begin, +end_value (`1`) models past the end. +*/ +class primitive_iterator_t +{ + private: + using difference_type = std::ptrdiff_t; + static constexpr difference_type begin_value = 0; + static constexpr difference_type end_value = begin_value + 1; + + JSON_PRIVATE_UNLESS_TESTED: + /// iterator as signed integer type + difference_type m_it = (std::numeric_limits::min)(); + + public: + constexpr difference_type get_value() const noexcept + { + return m_it; + } + + /// set iterator to a defined beginning + void set_begin() noexcept + { + m_it = begin_value; + } + + /// set iterator to a defined past the end + void set_end() noexcept + { + m_it = end_value; + } + + /// return whether the iterator can be dereferenced + constexpr bool is_begin() const noexcept + { + return m_it == begin_value; + } + + /// return whether the iterator is at end + constexpr bool is_end() const noexcept + { + return m_it == end_value; + } + + friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it == rhs.m_it; + } + + friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it < rhs.m_it; + } + + primitive_iterator_t operator+(difference_type n) noexcept + { + auto result = *this; + result += n; + return result; + } + + friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + { + return lhs.m_it - rhs.m_it; + } + + primitive_iterator_t& operator++() noexcept + { + ++m_it; + return *this; + } + + primitive_iterator_t const operator++(int) noexcept // NOLINT(readability-const-return-type) + { + auto result = *this; + ++m_it; + return result; + } + + primitive_iterator_t& operator--() noexcept + { + --m_it; + return *this; + } + + primitive_iterator_t const operator--(int) noexcept // NOLINT(readability-const-return-type) + { + auto result = *this; + --m_it; + return result; + } + + primitive_iterator_t& operator+=(difference_type n) noexcept + { + m_it += n; + return *this; + } + + primitive_iterator_t& operator-=(difference_type n) noexcept + { + m_it -= n; + return *this; + } +}; +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +/*! +@brief an iterator value + +@note This structure could easily be a union, but MSVC currently does not allow +unions members with complex constructors, see https://github.com/nlohmann/json/pull/105. +*/ +template struct internal_iterator +{ + /// iterator for JSON objects + typename BasicJsonType::object_t::iterator object_iterator {}; + /// iterator for JSON arrays + typename BasicJsonType::array_t::iterator array_iterator {}; + /// generic iterator for all other types + primitive_iterator_t primitive_iterator {}; +}; +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next +#include // conditional, is_const, remove_const + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +// forward declare, to be able to friend it later on +template class iteration_proxy; +template class iteration_proxy_value; + +/*! +@brief a template for a bidirectional iterator for the @ref basic_json class +This class implements a both iterators (iterator and const_iterator) for the +@ref basic_json class. +@note An iterator is called *initialized* when a pointer to a JSON value has + been set (e.g., by a constructor or a copy assignment). If the iterator is + default-constructed, it is *uninitialized* and most methods are undefined. + **The library uses assertions to detect calls on uninitialized iterators.** +@requirement The class satisfies the following concept requirements: +- +[BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): + The iterator that can be moved can be moved in both directions (i.e. + incremented and decremented). +@since version 1.0.0, simplified in version 2.0.9, change to bidirectional + iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593) +*/ +template +class iter_impl +{ + /// the iterator with BasicJsonType of different const-ness + using other_iter_impl = iter_impl::value, typename std::remove_const::type, const BasicJsonType>::type>; + /// allow basic_json to access private members + friend other_iter_impl; + friend BasicJsonType; + friend iteration_proxy; + friend iteration_proxy_value; + + using object_t = typename BasicJsonType::object_t; + using array_t = typename BasicJsonType::array_t; + // make sure BasicJsonType is basic_json or const basic_json + static_assert(is_basic_json::type>::value, + "iter_impl only accepts (const) basic_json"); + + public: + + /// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. + /// The C++ Standard has never required user-defined iterators to derive from std::iterator. + /// A user-defined iterator should provide publicly accessible typedefs named + /// iterator_category, value_type, difference_type, pointer, and reference. + /// Note that value_type is required to be non-const, even for constant iterators. + using iterator_category = std::bidirectional_iterator_tag; + + /// the type of the values when the iterator is dereferenced + using value_type = typename BasicJsonType::value_type; + /// a type to represent differences between iterators + using difference_type = typename BasicJsonType::difference_type; + /// defines a pointer to the type iterated over (value_type) + using pointer = typename std::conditional::value, + typename BasicJsonType::const_pointer, + typename BasicJsonType::pointer>::type; + /// defines a reference to the type iterated over (value_type) + using reference = + typename std::conditional::value, + typename BasicJsonType::const_reference, + typename BasicJsonType::reference>::type; + + iter_impl() = default; + ~iter_impl() = default; + iter_impl(iter_impl&&) noexcept = default; + iter_impl& operator=(iter_impl&&) noexcept = default; + + /*! + @brief constructor for a given JSON instance + @param[in] object pointer to a JSON object for this iterator + @pre object != nullptr + @post The iterator is initialized; i.e. `m_object != nullptr`. + */ + explicit iter_impl(pointer object) noexcept : m_object(object) + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = typename object_t::iterator(); + break; + } + + case value_t::array: + { + m_it.array_iterator = typename array_t::iterator(); + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + m_it.primitive_iterator = primitive_iterator_t(); + break; + } + } + } + + /*! + @note The conventional copy constructor and copy assignment are implicitly + defined. Combined with the following converting constructor and + assignment, they support: (1) copy from iterator to iterator, (2) + copy from const iterator to const iterator, and (3) conversion from + iterator to const iterator. However conversion from const iterator + to iterator is not defined. + */ + + /*! + @brief const copy constructor + @param[in] other const iterator to copy from + @note This copy constructor had to be defined explicitly to circumvent a bug + occurring on msvc v19.0 compiler (VS 2015) debug build. For more + information refer to: https://github.com/nlohmann/json/issues/1608 + */ + iter_impl(const iter_impl& other) noexcept + : m_object(other.m_object), m_it(other.m_it) + {} + + /*! + @brief converting assignment + @param[in] other const iterator to copy from + @return const/non-const iterator + @note It is not checked whether @a other is initialized. + */ + iter_impl& operator=(const iter_impl& other) noexcept + { + if (&other != this) + { + m_object = other.m_object; + m_it = other.m_it; + } + return *this; + } + + /*! + @brief converting constructor + @param[in] other non-const iterator to copy from + @note It is not checked whether @a other is initialized. + */ + iter_impl(const iter_impl::type>& other) noexcept + : m_object(other.m_object), m_it(other.m_it) + {} + + /*! + @brief converting assignment + @param[in] other non-const iterator to copy from + @return const/non-const iterator + @note It is not checked whether @a other is initialized. + */ + iter_impl& operator=(const iter_impl::type>& other) noexcept // NOLINT(cert-oop54-cpp) + { + m_object = other.m_object; + m_it = other.m_it; + return *this; + } + + JSON_PRIVATE_UNLESS_TESTED: + /*! + @brief set the iterator to the first value + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + void set_begin() noexcept + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = m_object->m_value.object->begin(); + break; + } + + case value_t::array: + { + m_it.array_iterator = m_object->m_value.array->begin(); + break; + } + + case value_t::null: + { + // set to end so begin()==end() is true: null is empty + m_it.primitive_iterator.set_end(); + break; + } + + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + m_it.primitive_iterator.set_begin(); + break; + } + } + } + + /*! + @brief set the iterator past the last value + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + void set_end() noexcept + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + m_it.object_iterator = m_object->m_value.object->end(); + break; + } + + case value_t::array: + { + m_it.array_iterator = m_object->m_value.array->end(); + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + m_it.primitive_iterator.set_end(); + break; + } + } + } + + public: + /*! + @brief return a reference to the value pointed to by the iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference operator*() const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end()); + return m_it.object_iterator->second; + } + + case value_t::array: + { + JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end()); + return *m_it.array_iterator; + } + + case value_t::null: + JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object)); + + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) + { + return *m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object)); + } + } + } + + /*! + @brief dereference the iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + pointer operator->() const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end()); + return &(m_it.object_iterator->second); + } + + case value_t::array: + { + JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end()); + return &*m_it.array_iterator; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) + { + return m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object)); + } + } + } + + /*! + @brief post-increment (it++) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl const operator++(int) // NOLINT(readability-const-return-type) + { + auto result = *this; + ++(*this); + return result; + } + + /*! + @brief pre-increment (++it) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator++() + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + std::advance(m_it.object_iterator, 1); + break; + } + + case value_t::array: + { + std::advance(m_it.array_iterator, 1); + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + ++m_it.primitive_iterator; + break; + } + } + + return *this; + } + + /*! + @brief post-decrement (it--) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl const operator--(int) // NOLINT(readability-const-return-type) + { + auto result = *this; + --(*this); + return result; + } + + /*! + @brief pre-decrement (--it) + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator--() + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + { + std::advance(m_it.object_iterator, -1); + break; + } + + case value_t::array: + { + std::advance(m_it.array_iterator, -1); + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + --m_it.primitive_iterator; + break; + } + } + + return *this; + } + + /*! + @brief comparison: equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + template < typename IterImpl, detail::enable_if_t < (std::is_same::value || std::is_same::value), std::nullptr_t > = nullptr > + bool operator==(const IterImpl& other) const + { + // if objects are not the same, the comparison is undefined + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) + { + JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers", *m_object)); + } + + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + return (m_it.object_iterator == other.m_it.object_iterator); + + case value_t::array: + return (m_it.array_iterator == other.m_it.array_iterator); + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + return (m_it.primitive_iterator == other.m_it.primitive_iterator); + } + } + + /*! + @brief comparison: not equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + template < typename IterImpl, detail::enable_if_t < (std::is_same::value || std::is_same::value), std::nullptr_t > = nullptr > + bool operator!=(const IterImpl& other) const + { + return !operator==(other); + } + + /*! + @brief comparison: smaller + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator<(const iter_impl& other) const + { + // if objects are not the same, the comparison is undefined + if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object)) + { + JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers", *m_object)); + } + + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators", *m_object)); + + case value_t::array: + return (m_it.array_iterator < other.m_it.array_iterator); + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + return (m_it.primitive_iterator < other.m_it.primitive_iterator); + } + } + + /*! + @brief comparison: less than or equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator<=(const iter_impl& other) const + { + return !other.operator < (*this); + } + + /*! + @brief comparison: greater than + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator>(const iter_impl& other) const + { + return !operator<=(other); + } + + /*! + @brief comparison: greater than or equal + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + bool operator>=(const iter_impl& other) const + { + return !operator<(other); + } + + /*! + @brief add to iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator+=(difference_type i) + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators", *m_object)); + + case value_t::array: + { + std::advance(m_it.array_iterator, i); + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + m_it.primitive_iterator += i; + break; + } + } + + return *this; + } + + /*! + @brief subtract from iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl& operator-=(difference_type i) + { + return operator+=(-i); + } + + /*! + @brief add to iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl operator+(difference_type i) const + { + auto result = *this; + result += i; + return result; + } + + /*! + @brief addition of distance and iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + friend iter_impl operator+(difference_type i, const iter_impl& it) + { + auto result = it; + result += i; + return result; + } + + /*! + @brief subtract from iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + iter_impl operator-(difference_type i) const + { + auto result = *this; + result -= i; + return result; + } + + /*! + @brief return difference + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + difference_type operator-(const iter_impl& other) const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators", *m_object)); + + case value_t::array: + return m_it.array_iterator - other.m_it.array_iterator; + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + return m_it.primitive_iterator - other.m_it.primitive_iterator; + } + } + + /*! + @brief access to successor + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference operator[](difference_type n) const + { + JSON_ASSERT(m_object != nullptr); + + switch (m_object->m_type) + { + case value_t::object: + JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators", *m_object)); + + case value_t::array: + return *std::next(m_it.array_iterator, n); + + case value_t::null: + JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object)); + + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value() == -n)) + { + return *m_object; + } + + JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object)); + } + } + } + + /*! + @brief return the key of an object iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + const typename object_t::key_type& key() const + { + JSON_ASSERT(m_object != nullptr); + + if (JSON_HEDLEY_LIKELY(m_object->is_object())) + { + return m_it.object_iterator->first; + } + + JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators", *m_object)); + } + + /*! + @brief return the value of an iterator + @pre The iterator is initialized; i.e. `m_object != nullptr`. + */ + reference value() const + { + return operator*(); + } + + JSON_PRIVATE_UNLESS_TESTED: + /// associated JSON instance + pointer m_object = nullptr; + /// the actual iterator of the associated instance + internal_iterator::type> m_it {}; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // ptrdiff_t +#include // reverse_iterator +#include // declval + +namespace nlohmann +{ +namespace detail +{ +////////////////////// +// reverse_iterator // +////////////////////// + +/*! +@brief a template for a reverse iterator class + +@tparam Base the base iterator type to reverse. Valid types are @ref +iterator (to create @ref reverse_iterator) and @ref const_iterator (to +create @ref const_reverse_iterator). + +@requirement The class satisfies the following concept requirements: +- +[BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): + The iterator that can be moved can be moved in both directions (i.e. + incremented and decremented). +- [OutputIterator](https://en.cppreference.com/w/cpp/named_req/OutputIterator): + It is possible to write to the pointed-to element (only if @a Base is + @ref iterator). + +@since version 1.0.0 +*/ +template +class json_reverse_iterator : public std::reverse_iterator +{ + public: + using difference_type = std::ptrdiff_t; + /// shortcut to the reverse iterator adapter + using base_iterator = std::reverse_iterator; + /// the reference type for the pointed-to element + using reference = typename Base::reference; + + /// create reverse iterator from iterator + explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept + : base_iterator(it) {} + + /// create reverse iterator from base class + explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {} + + /// post-increment (it++) + json_reverse_iterator const operator++(int) // NOLINT(readability-const-return-type) + { + return static_cast(base_iterator::operator++(1)); + } + + /// pre-increment (++it) + json_reverse_iterator& operator++() + { + return static_cast(base_iterator::operator++()); + } + + /// post-decrement (it--) + json_reverse_iterator const operator--(int) // NOLINT(readability-const-return-type) + { + return static_cast(base_iterator::operator--(1)); + } + + /// pre-decrement (--it) + json_reverse_iterator& operator--() + { + return static_cast(base_iterator::operator--()); + } + + /// add to iterator + json_reverse_iterator& operator+=(difference_type i) + { + return static_cast(base_iterator::operator+=(i)); + } + + /// add to iterator + json_reverse_iterator operator+(difference_type i) const + { + return static_cast(base_iterator::operator+(i)); + } + + /// subtract from iterator + json_reverse_iterator operator-(difference_type i) const + { + return static_cast(base_iterator::operator-(i)); + } + + /// return difference + difference_type operator-(const json_reverse_iterator& other) const + { + return base_iterator(*this) - base_iterator(other); + } + + /// access to successor + reference operator[](difference_type n) const + { + return *(this->operator+(n)); + } + + /// return the key of an object iterator + auto key() const -> decltype(std::declval().key()) + { + auto it = --this->base(); + return it.key(); + } + + /// return the value of an iterator + reference value() const + { + auto it = --this->base(); + return it.operator * (); + } +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // all_of +#include // isdigit +#include // max +#include // accumulate +#include // string +#include // move +#include // vector + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +template +class json_pointer +{ + // allow basic_json to access private members + NLOHMANN_BASIC_JSON_TPL_DECLARATION + friend class basic_json; + + public: + /*! + @brief create JSON pointer + + Create a JSON pointer according to the syntax described in + [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3). + + @param[in] s string representing the JSON pointer; if omitted, the empty + string is assumed which references the whole JSON value + + @throw parse_error.107 if the given JSON pointer @a s is nonempty and does + not begin with a slash (`/`); see example below + + @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is + not followed by `0` (representing `~`) or `1` (representing `/`); see + example below + + @liveexample{The example shows the construction several valid JSON pointers + as well as the exceptional behavior.,json_pointer} + + @since version 2.0.0 + */ + explicit json_pointer(const std::string& s = "") + : reference_tokens(split(s)) + {} + + /*! + @brief return a string representation of the JSON pointer + + @invariant For each JSON pointer `ptr`, it holds: + @code {.cpp} + ptr == json_pointer(ptr.to_string()); + @endcode + + @return a string representation of the JSON pointer + + @liveexample{The example shows the result of `to_string`.,json_pointer__to_string} + + @since version 2.0.0 + */ + std::string to_string() const + { + return std::accumulate(reference_tokens.begin(), reference_tokens.end(), + std::string{}, + [](const std::string & a, const std::string & b) + { + return a + "/" + detail::escape(b); + }); + } + + /// @copydoc to_string() + operator std::string() const + { + return to_string(); + } + + /*! + @brief append another JSON pointer at the end of this JSON pointer + + @param[in] ptr JSON pointer to append + @return JSON pointer with @a ptr appended + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Linear in the length of @a ptr. + + @sa see @ref operator/=(std::string) to append a reference token + @sa see @ref operator/=(std::size_t) to append an array index + @sa see @ref operator/(const json_pointer&, const json_pointer&) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(const json_pointer& ptr) + { + reference_tokens.insert(reference_tokens.end(), + ptr.reference_tokens.begin(), + ptr.reference_tokens.end()); + return *this; + } + + /*! + @brief append an unescaped reference token at the end of this JSON pointer + + @param[in] token reference token to append + @return JSON pointer with @a token appended without escaping @a token + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Amortized constant. + + @sa see @ref operator/=(const json_pointer&) to append a JSON pointer + @sa see @ref operator/=(std::size_t) to append an array index + @sa see @ref operator/(const json_pointer&, std::size_t) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(std::string token) + { + push_back(std::move(token)); + return *this; + } + + /*! + @brief append an array index at the end of this JSON pointer + + @param[in] array_idx array index to append + @return JSON pointer with @a array_idx appended + + @liveexample{The example shows the usage of `operator/=`.,json_pointer__operator_add} + + @complexity Amortized constant. + + @sa see @ref operator/=(const json_pointer&) to append a JSON pointer + @sa see @ref operator/=(std::string) to append a reference token + @sa see @ref operator/(const json_pointer&, std::string) for a binary operator + + @since version 3.6.0 + */ + json_pointer& operator/=(std::size_t array_idx) + { + return *this /= std::to_string(array_idx); + } + + /*! + @brief create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer + + @param[in] lhs JSON pointer + @param[in] rhs JSON pointer + @return a new JSON pointer with @a rhs appended to @a lhs + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a lhs and @a rhs. + + @sa see @ref operator/=(const json_pointer&) to append a JSON pointer + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& lhs, + const json_pointer& rhs) + { + return json_pointer(lhs) /= rhs; + } + + /*! + @brief create a new JSON pointer by appending the unescaped token at the end of the JSON pointer + + @param[in] ptr JSON pointer + @param[in] token reference token + @return a new JSON pointer with unescaped @a token appended to @a ptr + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a ptr. + + @sa see @ref operator/=(std::string) to append a reference token + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& ptr, std::string token) // NOLINT(performance-unnecessary-value-param) + { + return json_pointer(ptr) /= std::move(token); + } + + /*! + @brief create a new JSON pointer by appending the array-index-token at the end of the JSON pointer + + @param[in] ptr JSON pointer + @param[in] array_idx array index + @return a new JSON pointer with @a array_idx appended to @a ptr + + @liveexample{The example shows the usage of `operator/`.,json_pointer__operator_add_binary} + + @complexity Linear in the length of @a ptr. + + @sa see @ref operator/=(std::size_t) to append an array index + + @since version 3.6.0 + */ + friend json_pointer operator/(const json_pointer& ptr, std::size_t array_idx) + { + return json_pointer(ptr) /= array_idx; + } + + /*! + @brief returns the parent of this JSON pointer + + @return parent of this JSON pointer; in case this JSON pointer is the root, + the root itself is returned + + @complexity Linear in the length of the JSON pointer. + + @liveexample{The example shows the result of `parent_pointer` for different + JSON Pointers.,json_pointer__parent_pointer} + + @since version 3.6.0 + */ + json_pointer parent_pointer() const + { + if (empty()) + { + return *this; + } + + json_pointer res = *this; + res.pop_back(); + return res; + } + + /*! + @brief remove last reference token + + @pre not `empty()` + + @liveexample{The example shows the usage of `pop_back`.,json_pointer__pop_back} + + @complexity Constant. + + @throw out_of_range.405 if JSON pointer has no parent + + @since version 3.6.0 + */ + void pop_back() + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType())); + } + + reference_tokens.pop_back(); + } + + /*! + @brief return last reference token + + @pre not `empty()` + @return last reference token + + @liveexample{The example shows the usage of `back`.,json_pointer__back} + + @complexity Constant. + + @throw out_of_range.405 if JSON pointer has no parent + + @since version 3.6.0 + */ + const std::string& back() const + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType())); + } + + return reference_tokens.back(); + } + + /*! + @brief append an unescaped token at the end of the reference pointer + + @param[in] token token to add + + @complexity Amortized constant. + + @liveexample{The example shows the result of `push_back` for different + JSON Pointers.,json_pointer__push_back} + + @since version 3.6.0 + */ + void push_back(const std::string& token) + { + reference_tokens.push_back(token); + } + + /// @copydoc push_back(const std::string&) + void push_back(std::string&& token) + { + reference_tokens.push_back(std::move(token)); + } + + /*! + @brief return whether pointer points to the root document + + @return true iff the JSON pointer points to the root document + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example shows the result of `empty` for different JSON + Pointers.,json_pointer__empty} + + @since version 3.6.0 + */ + bool empty() const noexcept + { + return reference_tokens.empty(); + } + + private: + /*! + @param[in] s reference token to be converted into an array index + + @return integer representation of @a s + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index begins not with a digit + @throw out_of_range.404 if string @a s could not be converted to an integer + @throw out_of_range.410 if an array index exceeds size_type + */ + static typename BasicJsonType::size_type array_index(const std::string& s) + { + using size_type = typename BasicJsonType::size_type; + + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0')) + { + JSON_THROW(detail::parse_error::create(106, 0, "array index '" + s + "' must not begin with '0'", BasicJsonType())); + } + + // error condition (cf. RFC 6901, Sect. 4) + if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9'))) + { + JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number", BasicJsonType())); + } + + std::size_t processed_chars = 0; + unsigned long long res = 0; // NOLINT(runtime/int) + JSON_TRY + { + res = std::stoull(s, &processed_chars); + } + JSON_CATCH(std::out_of_range&) + { + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'", BasicJsonType())); + } + + // check if the string was completely read + if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size())) + { + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'", BasicJsonType())); + } + + // only triggered on special platforms (like 32bit), see also + // https://github.com/nlohmann/json/pull/2203 + if (res >= static_cast((std::numeric_limits::max)())) // NOLINT(runtime/int) + { + JSON_THROW(detail::out_of_range::create(410, "array index " + s + " exceeds size_type", BasicJsonType())); // LCOV_EXCL_LINE + } + + return static_cast(res); + } + + JSON_PRIVATE_UNLESS_TESTED: + json_pointer top() const + { + if (JSON_HEDLEY_UNLIKELY(empty())) + { + JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType())); + } + + json_pointer result = *this; + result.reference_tokens = {reference_tokens[0]}; + return result; + } + + private: + /*! + @brief create and return a reference to the pointed to value + + @complexity Linear in the number of reference tokens. + + @throw parse_error.109 if array index is not a number + @throw type_error.313 if value cannot be unflattened + */ + BasicJsonType& get_and_create(BasicJsonType& j) const + { + auto* result = &j; + + // in case no reference tokens exist, return a reference to the JSON value + // j which will be overwritten by a primitive value + for (const auto& reference_token : reference_tokens) + { + switch (result->type()) + { + case detail::value_t::null: + { + if (reference_token == "0") + { + // start a new array if reference token is 0 + result = &result->operator[](0); + } + else + { + // start a new object otherwise + result = &result->operator[](reference_token); + } + break; + } + + case detail::value_t::object: + { + // create an entry in the object + result = &result->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + // create an entry in the array + result = &result->operator[](array_index(reference_token)); + break; + } + + /* + The following code is only reached if there exists a reference + token _and_ the current value is primitive. In this case, we have + an error situation, because primitive values may only occur as + single value; that is, with an empty list of reference tokens. + */ + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + JSON_THROW(detail::type_error::create(313, "invalid value to unflatten", j)); + } + } + + return *result; + } + + /*! + @brief return a reference to the pointed to value + + @note This version does not throw if a value is not present, but tries to + create nested values instead. For instance, calling this function + with pointer `"/this/that"` on a null value is equivalent to calling + `operator[]("this").operator[]("that")` on that value, effectively + changing the null value to an object. + + @param[in] ptr a JSON value + + @return reference to the JSON value pointed to by the JSON pointer + + @complexity Linear in the length of the JSON pointer. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + BasicJsonType& get_unchecked(BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + // convert null values to arrays or objects before continuing + if (ptr->is_null()) + { + // check if reference token is a number + const bool nums = + std::all_of(reference_token.begin(), reference_token.end(), + [](const unsigned char x) + { + return std::isdigit(x); + }); + + // change value to array for numbers or "-" or to object otherwise + *ptr = (nums || reference_token == "-") + ? detail::value_t::array + : detail::value_t::object; + } + + switch (ptr->type()) + { + case detail::value_t::object: + { + // use unchecked object access + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (reference_token == "-") + { + // explicitly treat "-" as index beyond the end + ptr = &ptr->operator[](ptr->m_value.array->size()); + } + else + { + // convert array index to number; unchecked access + ptr = &ptr->operator[](array_index(reference_token)); + } + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr)); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + BasicJsonType& get_checked(BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // note: at performs range check + ptr = &ptr->at(reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + JSON_THROW(detail::out_of_range::create(402, + "array index '-' (" + std::to_string(ptr->m_value.array->size()) + + ") is out of range", *ptr)); + } + + // note: at performs range check + ptr = &ptr->at(array_index(reference_token)); + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr)); + } + } + + return *ptr; + } + + /*! + @brief return a const reference to the pointed to value + + @param[in] ptr a JSON value + + @return const reference to the JSON value pointed to by the JSON + pointer + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // use unchecked object access + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" cannot be used for const access + JSON_THROW(detail::out_of_range::create(402, "array index '-' (" + std::to_string(ptr->m_value.array->size()) + ") is out of range", *ptr)); + } + + // use unchecked array access + ptr = &ptr->operator[](array_index(reference_token)); + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr)); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + */ + const BasicJsonType& get_checked(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + // note: at performs range check + ptr = &ptr->at(reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + JSON_THROW(detail::out_of_range::create(402, + "array index '-' (" + std::to_string(ptr->m_value.array->size()) + + ") is out of range", *ptr)); + } + + // note: at performs range check + ptr = &ptr->at(array_index(reference_token)); + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr)); + } + } + + return *ptr; + } + + /*! + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + */ + bool contains(const BasicJsonType* ptr) const + { + for (const auto& reference_token : reference_tokens) + { + switch (ptr->type()) + { + case detail::value_t::object: + { + if (!ptr->contains(reference_token)) + { + // we did not find the key in the object + return false; + } + + ptr = &ptr->operator[](reference_token); + break; + } + + case detail::value_t::array: + { + if (JSON_HEDLEY_UNLIKELY(reference_token == "-")) + { + // "-" always fails the range check + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() == 1 && !("0" <= reference_token && reference_token <= "9"))) + { + // invalid char + return false; + } + if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1)) + { + if (JSON_HEDLEY_UNLIKELY(!('1' <= reference_token[0] && reference_token[0] <= '9'))) + { + // first char should be between '1' and '9' + return false; + } + for (std::size_t i = 1; i < reference_token.size(); i++) + { + if (JSON_HEDLEY_UNLIKELY(!('0' <= reference_token[i] && reference_token[i] <= '9'))) + { + // other char should be between '0' and '9' + return false; + } + } + } + + const auto idx = array_index(reference_token); + if (idx >= ptr->size()) + { + // index out of range + return false; + } + + ptr = &ptr->operator[](idx); + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + { + // we do not expect primitive values if there is still a + // reference token to process + return false; + } + } + } + + // no reference token left means we found a primitive value + return true; + } + + /*! + @brief split the string input to reference tokens + + @note This function is only called by the json_pointer constructor. + All exceptions below are documented there. + + @throw parse_error.107 if the pointer is not empty or begins with '/' + @throw parse_error.108 if character '~' is not followed by '0' or '1' + */ + static std::vector split(const std::string& reference_string) + { + std::vector result; + + // special case: empty reference string -> no reference tokens + if (reference_string.empty()) + { + return result; + } + + // check if nonempty reference string begins with slash + if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/')) + { + JSON_THROW(detail::parse_error::create(107, 1, "JSON pointer must be empty or begin with '/' - was: '" + reference_string + "'", BasicJsonType())); + } + + // extract the reference tokens: + // - slash: position of the last read slash (or end of string) + // - start: position after the previous slash + for ( + // search for the first slash after the first character + std::size_t slash = reference_string.find_first_of('/', 1), + // set the beginning of the first reference token + start = 1; + // we can stop if start == 0 (if slash == std::string::npos) + start != 0; + // set the beginning of the next reference token + // (will eventually be 0 if slash == std::string::npos) + start = (slash == std::string::npos) ? 0 : slash + 1, + // find next slash + slash = reference_string.find_first_of('/', start)) + { + // use the text between the beginning of the reference token + // (start) and the last slash (slash). + auto reference_token = reference_string.substr(start, slash - start); + + // check reference tokens are properly escaped + for (std::size_t pos = reference_token.find_first_of('~'); + pos != std::string::npos; + pos = reference_token.find_first_of('~', pos + 1)) + { + JSON_ASSERT(reference_token[pos] == '~'); + + // ~ must be followed by 0 or 1 + if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 || + (reference_token[pos + 1] != '0' && + reference_token[pos + 1] != '1'))) + { + JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'", BasicJsonType())); + } + } + + // finally, store the reference token + detail::unescape(reference_token); + result.push_back(reference_token); + } + + return result; + } + + private: + /*! + @param[in] reference_string the reference string to the current value + @param[in] value the value to consider + @param[in,out] result the result object to insert values to + + @note Empty objects or arrays are flattened to `null`. + */ + static void flatten(const std::string& reference_string, + const BasicJsonType& value, + BasicJsonType& result) + { + switch (value.type()) + { + case detail::value_t::array: + { + if (value.m_value.array->empty()) + { + // flatten empty array as null + result[reference_string] = nullptr; + } + else + { + // iterate array and use index as reference string + for (std::size_t i = 0; i < value.m_value.array->size(); ++i) + { + flatten(reference_string + "/" + std::to_string(i), + value.m_value.array->operator[](i), result); + } + } + break; + } + + case detail::value_t::object: + { + if (value.m_value.object->empty()) + { + // flatten empty object as null + result[reference_string] = nullptr; + } + else + { + // iterate object and use keys as reference string + for (const auto& element : *value.m_value.object) + { + flatten(reference_string + "/" + detail::escape(element.first), element.second, result); + } + } + break; + } + + case detail::value_t::null: + case detail::value_t::string: + case detail::value_t::boolean: + case detail::value_t::number_integer: + case detail::value_t::number_unsigned: + case detail::value_t::number_float: + case detail::value_t::binary: + case detail::value_t::discarded: + default: + { + // add primitive value with its reference string + result[reference_string] = value; + break; + } + } + } + + /*! + @param[in] value flattened JSON + + @return unflattened JSON + + @throw parse_error.109 if array index is not a number + @throw type_error.314 if value is not an object + @throw type_error.315 if object values are not primitive + @throw type_error.313 if value cannot be unflattened + */ + static BasicJsonType + unflatten(const BasicJsonType& value) + { + if (JSON_HEDLEY_UNLIKELY(!value.is_object())) + { + JSON_THROW(detail::type_error::create(314, "only objects can be unflattened", value)); + } + + BasicJsonType result; + + // iterate the JSON object values + for (const auto& element : *value.m_value.object) + { + if (JSON_HEDLEY_UNLIKELY(!element.second.is_primitive())) + { + JSON_THROW(detail::type_error::create(315, "values in object must be primitive", element.second)); + } + + // assign value to reference pointed to by JSON pointer; Note that if + // the JSON pointer is "" (i.e., points to the whole value), function + // get_and_create returns a reference to result itself. An assignment + // will then create a primitive value. + json_pointer(element.first).get_and_create(result) = element.second; + } + + return result; + } + + /*! + @brief compares two JSON pointers for equality + + @param[in] lhs JSON pointer to compare + @param[in] rhs JSON pointer to compare + @return whether @a lhs is equal to @a rhs + + @complexity Linear in the length of the JSON pointer + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + */ + friend bool operator==(json_pointer const& lhs, + json_pointer const& rhs) noexcept + { + return lhs.reference_tokens == rhs.reference_tokens; + } + + /*! + @brief compares two JSON pointers for inequality + + @param[in] lhs JSON pointer to compare + @param[in] rhs JSON pointer to compare + @return whether @a lhs is not equal @a rhs + + @complexity Linear in the length of the JSON pointer + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + */ + friend bool operator!=(json_pointer const& lhs, + json_pointer const& rhs) noexcept + { + return !(lhs == rhs); + } + + /// the reference tokens + std::vector reference_tokens; +}; +} // namespace nlohmann + +// #include + + +#include +#include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template +class json_ref +{ + public: + using value_type = BasicJsonType; + + json_ref(value_type&& value) + : owned_value(std::move(value)) + {} + + json_ref(const value_type& value) + : value_ref(&value) + {} + + json_ref(std::initializer_list init) + : owned_value(init) + {} + + template < + class... Args, + enable_if_t::value, int> = 0 > + json_ref(Args && ... args) + : owned_value(std::forward(args)...) + {} + + // class should be movable only + json_ref(json_ref&&) noexcept = default; + json_ref(const json_ref&) = delete; + json_ref& operator=(const json_ref&) = delete; + json_ref& operator=(json_ref&&) = delete; + ~json_ref() = default; + + value_type moved_or_copied() const + { + if (value_ref == nullptr) + { + return std::move(owned_value); + } + return *value_ref; + } + + value_type const& operator*() const + { + return value_ref ? *value_ref : owned_value; + } + + value_type const* operator->() const + { + return &** this; + } + + private: + mutable value_type owned_value = nullptr; + value_type const* value_ref = nullptr; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + +// #include + + +#include // reverse +#include // array +#include // isnan, isinf +#include // uint8_t, uint16_t, uint32_t, uint64_t +#include // memcpy +#include // numeric_limits +#include // string +#include // move + +// #include + +// #include + +// #include + + +#include // copy +#include // size_t +#include // back_inserter +#include // shared_ptr, make_shared +#include // basic_string +#include // vector + +#ifndef JSON_NO_IO + #include // streamsize + #include // basic_ostream +#endif // JSON_NO_IO + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/// abstract output adapter interface +template struct output_adapter_protocol +{ + virtual void write_character(CharType c) = 0; + virtual void write_characters(const CharType* s, std::size_t length) = 0; + virtual ~output_adapter_protocol() = default; + + output_adapter_protocol() = default; + output_adapter_protocol(const output_adapter_protocol&) = default; + output_adapter_protocol(output_adapter_protocol&&) noexcept = default; + output_adapter_protocol& operator=(const output_adapter_protocol&) = default; + output_adapter_protocol& operator=(output_adapter_protocol&&) noexcept = default; +}; + +/// a type to simplify interfaces +template +using output_adapter_t = std::shared_ptr>; + +/// output adapter for byte vectors +template> +class output_vector_adapter : public output_adapter_protocol +{ + public: + explicit output_vector_adapter(std::vector& vec) noexcept + : v(vec) + {} + + void write_character(CharType c) override + { + v.push_back(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + std::copy(s, s + length, std::back_inserter(v)); + } + + private: + std::vector& v; +}; + +#ifndef JSON_NO_IO +/// output adapter for output streams +template +class output_stream_adapter : public output_adapter_protocol +{ + public: + explicit output_stream_adapter(std::basic_ostream& s) noexcept + : stream(s) + {} + + void write_character(CharType c) override + { + stream.put(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + stream.write(s, static_cast(length)); + } + + private: + std::basic_ostream& stream; +}; +#endif // JSON_NO_IO + +/// output adapter for basic_string +template> +class output_string_adapter : public output_adapter_protocol +{ + public: + explicit output_string_adapter(StringType& s) noexcept + : str(s) + {} + + void write_character(CharType c) override + { + str.push_back(c); + } + + JSON_HEDLEY_NON_NULL(2) + void write_characters(const CharType* s, std::size_t length) override + { + str.append(s, length); + } + + private: + StringType& str; +}; + +template> +class output_adapter +{ + public: + template> + output_adapter(std::vector& vec) + : oa(std::make_shared>(vec)) {} + +#ifndef JSON_NO_IO + output_adapter(std::basic_ostream& s) + : oa(std::make_shared>(s)) {} +#endif // JSON_NO_IO + + output_adapter(StringType& s) + : oa(std::make_shared>(s)) {} + + operator output_adapter_t() + { + return oa; + } + + private: + output_adapter_t oa = nullptr; +}; +} // namespace detail +} // namespace nlohmann + + +namespace nlohmann +{ +namespace detail +{ +/////////////////// +// binary writer // +/////////////////// + +/*! +@brief serialization to CBOR and MessagePack values +*/ +template +class binary_writer +{ + using string_t = typename BasicJsonType::string_t; + using binary_t = typename BasicJsonType::binary_t; + using number_float_t = typename BasicJsonType::number_float_t; + + public: + /*! + @brief create a binary writer + + @param[in] adapter output adapter to write to + */ + explicit binary_writer(output_adapter_t adapter) : oa(std::move(adapter)) + { + JSON_ASSERT(oa); + } + + /*! + @param[in] j JSON value to serialize + @pre j.type() == value_t::object + */ + void write_bson(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::object: + { + write_bson_object(*j.m_value.object); + break; + } + + case value_t::null: + case value_t::array: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name()), j)); + } + } + } + + /*! + @param[in] j JSON value to serialize + */ + void write_cbor(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::null: + { + oa->write_character(to_char_type(0xF6)); + break; + } + + case value_t::boolean: + { + oa->write_character(j.m_value.boolean + ? to_char_type(0xF5) + : to_char_type(0xF4)); + break; + } + + case value_t::number_integer: + { + if (j.m_value.number_integer >= 0) + { + // CBOR does not differentiate between positive signed + // integers and unsigned integers. Therefore, we used the + // code from the value_t::number_unsigned case here. + if (j.m_value.number_integer <= 0x17) + { + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x18)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x19)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x1A)); + write_number(static_cast(j.m_value.number_integer)); + } + else + { + oa->write_character(to_char_type(0x1B)); + write_number(static_cast(j.m_value.number_integer)); + } + } + else + { + // The conversions below encode the sign in the first + // byte, and the value is converted to a positive number. + const auto positive_number = -1 - j.m_value.number_integer; + if (j.m_value.number_integer >= -24) + { + write_number(static_cast(0x20 + positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x38)); + write_number(static_cast(positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x39)); + write_number(static_cast(positive_number)); + } + else if (positive_number <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x3A)); + write_number(static_cast(positive_number)); + } + else + { + oa->write_character(to_char_type(0x3B)); + write_number(static_cast(positive_number)); + } + } + break; + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned <= 0x17) + { + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x18)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x19)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x1A)); + write_number(static_cast(j.m_value.number_unsigned)); + } + else + { + oa->write_character(to_char_type(0x1B)); + write_number(static_cast(j.m_value.number_unsigned)); + } + break; + } + + case value_t::number_float: + { + if (std::isnan(j.m_value.number_float)) + { + // NaN is 0xf97e00 in CBOR + oa->write_character(to_char_type(0xF9)); + oa->write_character(to_char_type(0x7E)); + oa->write_character(to_char_type(0x00)); + } + else if (std::isinf(j.m_value.number_float)) + { + // Infinity is 0xf97c00, -Infinity is 0xf9fc00 + oa->write_character(to_char_type(0xf9)); + oa->write_character(j.m_value.number_float > 0 ? to_char_type(0x7C) : to_char_type(0xFC)); + oa->write_character(to_char_type(0x00)); + } + else + { + write_compact_float(j.m_value.number_float, detail::input_format_t::cbor); + } + break; + } + + case value_t::string: + { + // step 1: write control byte and the string length + const auto N = j.m_value.string->size(); + if (N <= 0x17) + { + write_number(static_cast(0x60 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x78)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x79)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x7A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x7B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write the string + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + // step 1: write control byte and the array size + const auto N = j.m_value.array->size(); + if (N <= 0x17) + { + write_number(static_cast(0x80 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x98)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x99)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x9A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x9B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + for (const auto& el : *j.m_value.array) + { + write_cbor(el); + } + break; + } + + case value_t::binary: + { + if (j.m_value.binary->has_subtype()) + { + if (j.m_value.binary->subtype() <= (std::numeric_limits::max)()) + { + write_number(static_cast(0xd8)); + write_number(static_cast(j.m_value.binary->subtype())); + } + else if (j.m_value.binary->subtype() <= (std::numeric_limits::max)()) + { + write_number(static_cast(0xd9)); + write_number(static_cast(j.m_value.binary->subtype())); + } + else if (j.m_value.binary->subtype() <= (std::numeric_limits::max)()) + { + write_number(static_cast(0xda)); + write_number(static_cast(j.m_value.binary->subtype())); + } + else if (j.m_value.binary->subtype() <= (std::numeric_limits::max)()) + { + write_number(static_cast(0xdb)); + write_number(static_cast(j.m_value.binary->subtype())); + } + } + + // step 1: write control byte and the binary array size + const auto N = j.m_value.binary->size(); + if (N <= 0x17) + { + write_number(static_cast(0x40 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x58)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x59)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5A)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0x5B)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + + case value_t::object: + { + // step 1: write control byte and the object size + const auto N = j.m_value.object->size(); + if (N <= 0x17) + { + write_number(static_cast(0xA0 + N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xB8)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xB9)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xBA)); + write_number(static_cast(N)); + } + // LCOV_EXCL_START + else if (N <= (std::numeric_limits::max)()) + { + oa->write_character(to_char_type(0xBB)); + write_number(static_cast(N)); + } + // LCOV_EXCL_STOP + + // step 2: write each element + for (const auto& el : *j.m_value.object) + { + write_cbor(el.first); + write_cbor(el.second); + } + break; + } + + case value_t::discarded: + default: + break; + } + } + + /*! + @param[in] j JSON value to serialize + */ + void write_msgpack(const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::null: // nil + { + oa->write_character(to_char_type(0xC0)); + break; + } + + case value_t::boolean: // true and false + { + oa->write_character(j.m_value.boolean + ? to_char_type(0xC3) + : to_char_type(0xC2)); + break; + } + + case value_t::number_integer: + { + if (j.m_value.number_integer >= 0) + { + // MessagePack does not differentiate between positive + // signed integers and unsigned integers. Therefore, we used + // the code from the value_t::number_unsigned case here. + if (j.m_value.number_unsigned < 128) + { + // positive fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 8 + oa->write_character(to_char_type(0xCC)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 16 + oa->write_character(to_char_type(0xCD)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 32 + oa->write_character(to_char_type(0xCE)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 64 + oa->write_character(to_char_type(0xCF)); + write_number(static_cast(j.m_value.number_integer)); + } + } + else + { + if (j.m_value.number_integer >= -32) + { + // negative fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 8 + oa->write_character(to_char_type(0xD0)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 16 + oa->write_character(to_char_type(0xD1)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 32 + oa->write_character(to_char_type(0xD2)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_integer >= (std::numeric_limits::min)() && + j.m_value.number_integer <= (std::numeric_limits::max)()) + { + // int 64 + oa->write_character(to_char_type(0xD3)); + write_number(static_cast(j.m_value.number_integer)); + } + } + break; + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned < 128) + { + // positive fixnum + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 8 + oa->write_character(to_char_type(0xCC)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 16 + oa->write_character(to_char_type(0xCD)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 32 + oa->write_character(to_char_type(0xCE)); + write_number(static_cast(j.m_value.number_integer)); + } + else if (j.m_value.number_unsigned <= (std::numeric_limits::max)()) + { + // uint 64 + oa->write_character(to_char_type(0xCF)); + write_number(static_cast(j.m_value.number_integer)); + } + break; + } + + case value_t::number_float: + { + write_compact_float(j.m_value.number_float, detail::input_format_t::msgpack); + break; + } + + case value_t::string: + { + // step 1: write control byte and the string length + const auto N = j.m_value.string->size(); + if (N <= 31) + { + // fixstr + write_number(static_cast(0xA0 | N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 8 + oa->write_character(to_char_type(0xD9)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 16 + oa->write_character(to_char_type(0xDA)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // str 32 + oa->write_character(to_char_type(0xDB)); + write_number(static_cast(N)); + } + + // step 2: write the string + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + // step 1: write control byte and the array size + const auto N = j.m_value.array->size(); + if (N <= 15) + { + // fixarray + write_number(static_cast(0x90 | N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // array 16 + oa->write_character(to_char_type(0xDC)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // array 32 + oa->write_character(to_char_type(0xDD)); + write_number(static_cast(N)); + } + + // step 2: write each element + for (const auto& el : *j.m_value.array) + { + write_msgpack(el); + } + break; + } + + case value_t::binary: + { + // step 0: determine if the binary type has a set subtype to + // determine whether or not to use the ext or fixext types + const bool use_ext = j.m_value.binary->has_subtype(); + + // step 1: write control byte and the byte string length + const auto N = j.m_value.binary->size(); + if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type{}; + bool fixed = true; + if (use_ext) + { + switch (N) + { + case 1: + output_type = 0xD4; // fixext 1 + break; + case 2: + output_type = 0xD5; // fixext 2 + break; + case 4: + output_type = 0xD6; // fixext 4 + break; + case 8: + output_type = 0xD7; // fixext 8 + break; + case 16: + output_type = 0xD8; // fixext 16 + break; + default: + output_type = 0xC7; // ext 8 + fixed = false; + break; + } + + } + else + { + output_type = 0xC4; // bin 8 + fixed = false; + } + + oa->write_character(to_char_type(output_type)); + if (!fixed) + { + write_number(static_cast(N)); + } + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type = use_ext + ? 0xC8 // ext 16 + : 0xC5; // bin 16 + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + std::uint8_t output_type = use_ext + ? 0xC9 // ext 32 + : 0xC6; // bin 32 + + oa->write_character(to_char_type(output_type)); + write_number(static_cast(N)); + } + + // step 1.5: if this is an ext type, write the subtype + if (use_ext) + { + write_number(static_cast(j.m_value.binary->subtype())); + } + + // step 2: write the byte string + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + N); + + break; + } + + case value_t::object: + { + // step 1: write control byte and the object size + const auto N = j.m_value.object->size(); + if (N <= 15) + { + // fixmap + write_number(static_cast(0x80 | (N & 0xF))); + } + else if (N <= (std::numeric_limits::max)()) + { + // map 16 + oa->write_character(to_char_type(0xDE)); + write_number(static_cast(N)); + } + else if (N <= (std::numeric_limits::max)()) + { + // map 32 + oa->write_character(to_char_type(0xDF)); + write_number(static_cast(N)); + } + + // step 2: write each element + for (const auto& el : *j.m_value.object) + { + write_msgpack(el.first); + write_msgpack(el.second); + } + break; + } + + case value_t::discarded: + default: + break; + } + } + + /*! + @param[in] j JSON value to serialize + @param[in] use_count whether to use '#' prefixes (optimized format) + @param[in] use_type whether to use '$' prefixes (optimized format) + @param[in] add_prefix whether prefixes need to be used for this value + */ + void write_ubjson(const BasicJsonType& j, const bool use_count, + const bool use_type, const bool add_prefix = true) + { + switch (j.type()) + { + case value_t::null: + { + if (add_prefix) + { + oa->write_character(to_char_type('Z')); + } + break; + } + + case value_t::boolean: + { + if (add_prefix) + { + oa->write_character(j.m_value.boolean + ? to_char_type('T') + : to_char_type('F')); + } + break; + } + + case value_t::number_integer: + { + write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix); + break; + } + + case value_t::number_unsigned: + { + write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix); + break; + } + + case value_t::number_float: + { + write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix); + break; + } + + case value_t::string: + { + if (add_prefix) + { + oa->write_character(to_char_type('S')); + } + write_number_with_ubjson_prefix(j.m_value.string->size(), true); + oa->write_characters( + reinterpret_cast(j.m_value.string->c_str()), + j.m_value.string->size()); + break; + } + + case value_t::array: + { + if (add_prefix) + { + oa->write_character(to_char_type('[')); + } + + bool prefix_required = true; + if (use_type && !j.m_value.array->empty()) + { + JSON_ASSERT(use_count); + const CharType first_prefix = ubjson_prefix(j.front()); + const bool same_prefix = std::all_of(j.begin() + 1, j.end(), + [this, first_prefix](const BasicJsonType & v) + { + return ubjson_prefix(v) == first_prefix; + }); + + if (same_prefix) + { + prefix_required = false; + oa->write_character(to_char_type('$')); + oa->write_character(first_prefix); + } + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.array->size(), true); + } + + for (const auto& el : *j.m_value.array) + { + write_ubjson(el, use_count, use_type, prefix_required); + } + + if (!use_count) + { + oa->write_character(to_char_type(']')); + } + + break; + } + + case value_t::binary: + { + if (add_prefix) + { + oa->write_character(to_char_type('[')); + } + + if (use_type && !j.m_value.binary->empty()) + { + JSON_ASSERT(use_count); + oa->write_character(to_char_type('$')); + oa->write_character('U'); + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.binary->size(), true); + } + + if (use_type) + { + oa->write_characters( + reinterpret_cast(j.m_value.binary->data()), + j.m_value.binary->size()); + } + else + { + for (size_t i = 0; i < j.m_value.binary->size(); ++i) + { + oa->write_character(to_char_type('U')); + oa->write_character(j.m_value.binary->data()[i]); + } + } + + if (!use_count) + { + oa->write_character(to_char_type(']')); + } + + break; + } + + case value_t::object: + { + if (add_prefix) + { + oa->write_character(to_char_type('{')); + } + + bool prefix_required = true; + if (use_type && !j.m_value.object->empty()) + { + JSON_ASSERT(use_count); + const CharType first_prefix = ubjson_prefix(j.front()); + const bool same_prefix = std::all_of(j.begin(), j.end(), + [this, first_prefix](const BasicJsonType & v) + { + return ubjson_prefix(v) == first_prefix; + }); + + if (same_prefix) + { + prefix_required = false; + oa->write_character(to_char_type('$')); + oa->write_character(first_prefix); + } + } + + if (use_count) + { + oa->write_character(to_char_type('#')); + write_number_with_ubjson_prefix(j.m_value.object->size(), true); + } + + for (const auto& el : *j.m_value.object) + { + write_number_with_ubjson_prefix(el.first.size(), true); + oa->write_characters( + reinterpret_cast(el.first.c_str()), + el.first.size()); + write_ubjson(el.second, use_count, use_type, prefix_required); + } + + if (!use_count) + { + oa->write_character(to_char_type('}')); + } + + break; + } + + case value_t::discarded: + default: + break; + } + } + + private: + ////////// + // BSON // + ////////// + + /*! + @return The size of a BSON document entry header, including the id marker + and the entry name size (and its null-terminator). + */ + static std::size_t calc_bson_entry_header_size(const string_t& name, const BasicJsonType& j) + { + const auto it = name.find(static_cast(0)); + if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos)) + { + JSON_THROW(out_of_range::create(409, "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")", j)); + static_cast(j); + } + + return /*id*/ 1ul + name.size() + /*zero-terminator*/1u; + } + + /*! + @brief Writes the given @a element_type and @a name to the output adapter + */ + void write_bson_entry_header(const string_t& name, + const std::uint8_t element_type) + { + oa->write_character(to_char_type(element_type)); // boolean + oa->write_characters( + reinterpret_cast(name.c_str()), + name.size() + 1u); + } + + /*! + @brief Writes a BSON element with key @a name and boolean value @a value + */ + void write_bson_boolean(const string_t& name, + const bool value) + { + write_bson_entry_header(name, 0x08); + oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00)); + } + + /*! + @brief Writes a BSON element with key @a name and double value @a value + */ + void write_bson_double(const string_t& name, + const double value) + { + write_bson_entry_header(name, 0x01); + write_number(value); + } + + /*! + @return The size of the BSON-encoded string in @a value + */ + static std::size_t calc_bson_string_size(const string_t& value) + { + return sizeof(std::int32_t) + value.size() + 1ul; + } + + /*! + @brief Writes a BSON element with key @a name and string value @a value + */ + void write_bson_string(const string_t& name, + const string_t& value) + { + write_bson_entry_header(name, 0x02); + + write_number(static_cast(value.size() + 1ul)); + oa->write_characters( + reinterpret_cast(value.c_str()), + value.size() + 1); + } + + /*! + @brief Writes a BSON element with key @a name and null value + */ + void write_bson_null(const string_t& name) + { + write_bson_entry_header(name, 0x0A); + } + + /*! + @return The size of the BSON-encoded integer @a value + */ + static std::size_t calc_bson_integer_size(const std::int64_t value) + { + return (std::numeric_limits::min)() <= value && value <= (std::numeric_limits::max)() + ? sizeof(std::int32_t) + : sizeof(std::int64_t); + } + + /*! + @brief Writes a BSON element with key @a name and integer @a value + */ + void write_bson_integer(const string_t& name, + const std::int64_t value) + { + if ((std::numeric_limits::min)() <= value && value <= (std::numeric_limits::max)()) + { + write_bson_entry_header(name, 0x10); // int32 + write_number(static_cast(value)); + } + else + { + write_bson_entry_header(name, 0x12); // int64 + write_number(static_cast(value)); + } + } + + /*! + @return The size of the BSON-encoded unsigned integer in @a j + */ + static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept + { + return (value <= static_cast((std::numeric_limits::max)())) + ? sizeof(std::int32_t) + : sizeof(std::int64_t); + } + + /*! + @brief Writes a BSON element with key @a name and unsigned @a value + */ + void write_bson_unsigned(const string_t& name, + const BasicJsonType& j) + { + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + write_bson_entry_header(name, 0x10 /* int32 */); + write_number(static_cast(j.m_value.number_unsigned)); + } + else if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + write_bson_entry_header(name, 0x12 /* int64 */); + write_number(static_cast(j.m_value.number_unsigned)); + } + else + { + JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(j.m_value.number_unsigned) + " cannot be represented by BSON as it does not fit int64", j)); + } + } + + /*! + @brief Writes a BSON element with key @a name and object @a value + */ + void write_bson_object_entry(const string_t& name, + const typename BasicJsonType::object_t& value) + { + write_bson_entry_header(name, 0x03); // object + write_bson_object(value); + } + + /*! + @return The size of the BSON-encoded array @a value + */ + static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value) + { + std::size_t array_index = 0ul; + + const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), std::size_t(0), [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el) + { + return result + calc_bson_element_size(std::to_string(array_index++), el); + }); + + return sizeof(std::int32_t) + embedded_document_size + 1ul; + } + + /*! + @return The size of the BSON-encoded binary array @a value + */ + static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t& value) + { + return sizeof(std::int32_t) + value.size() + 1ul; + } + + /*! + @brief Writes a BSON element with key @a name and array @a value + */ + void write_bson_array(const string_t& name, + const typename BasicJsonType::array_t& value) + { + write_bson_entry_header(name, 0x04); // array + write_number(static_cast(calc_bson_array_size(value))); + + std::size_t array_index = 0ul; + + for (const auto& el : value) + { + write_bson_element(std::to_string(array_index++), el); + } + + oa->write_character(to_char_type(0x00)); + } + + /*! + @brief Writes a BSON element with key @a name and binary value @a value + */ + void write_bson_binary(const string_t& name, + const binary_t& value) + { + write_bson_entry_header(name, 0x05); + + write_number(static_cast(value.size())); + write_number(value.has_subtype() ? static_cast(value.subtype()) : std::uint8_t(0x00)); + + oa->write_characters(reinterpret_cast(value.data()), value.size()); + } + + /*! + @brief Calculates the size necessary to serialize the JSON value @a j with its @a name + @return The calculated size for the BSON document entry for @a j with the given @a name. + */ + static std::size_t calc_bson_element_size(const string_t& name, + const BasicJsonType& j) + { + const auto header_size = calc_bson_entry_header_size(name, j); + switch (j.type()) + { + case value_t::object: + return header_size + calc_bson_object_size(*j.m_value.object); + + case value_t::array: + return header_size + calc_bson_array_size(*j.m_value.array); + + case value_t::binary: + return header_size + calc_bson_binary_size(*j.m_value.binary); + + case value_t::boolean: + return header_size + 1ul; + + case value_t::number_float: + return header_size + 8ul; + + case value_t::number_integer: + return header_size + calc_bson_integer_size(j.m_value.number_integer); + + case value_t::number_unsigned: + return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned); + + case value_t::string: + return header_size + calc_bson_string_size(*j.m_value.string); + + case value_t::null: + return header_size + 0ul; + + // LCOV_EXCL_START + case value_t::discarded: + default: + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) + return 0ul; + // LCOV_EXCL_STOP + } + } + + /*! + @brief Serializes the JSON value @a j to BSON and associates it with the + key @a name. + @param name The name to associate with the JSON entity @a j within the + current BSON document + */ + void write_bson_element(const string_t& name, + const BasicJsonType& j) + { + switch (j.type()) + { + case value_t::object: + return write_bson_object_entry(name, *j.m_value.object); + + case value_t::array: + return write_bson_array(name, *j.m_value.array); + + case value_t::binary: + return write_bson_binary(name, *j.m_value.binary); + + case value_t::boolean: + return write_bson_boolean(name, j.m_value.boolean); + + case value_t::number_float: + return write_bson_double(name, j.m_value.number_float); + + case value_t::number_integer: + return write_bson_integer(name, j.m_value.number_integer); + + case value_t::number_unsigned: + return write_bson_unsigned(name, j); + + case value_t::string: + return write_bson_string(name, *j.m_value.string); + + case value_t::null: + return write_bson_null(name); + + // LCOV_EXCL_START + case value_t::discarded: + default: + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) + return; + // LCOV_EXCL_STOP + } + } + + /*! + @brief Calculates the size of the BSON serialization of the given + JSON-object @a j. + @param[in] value JSON value to serialize + @pre value.type() == value_t::object + */ + static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value) + { + std::size_t document_size = std::accumulate(value.begin(), value.end(), std::size_t(0), + [](size_t result, const typename BasicJsonType::object_t::value_type & el) + { + return result += calc_bson_element_size(el.first, el.second); + }); + + return sizeof(std::int32_t) + document_size + 1ul; + } + + /*! + @param[in] value JSON value to serialize + @pre value.type() == value_t::object + */ + void write_bson_object(const typename BasicJsonType::object_t& value) + { + write_number(static_cast(calc_bson_object_size(value))); + + for (const auto& el : value) + { + write_bson_element(el.first, el.second); + } + + oa->write_character(to_char_type(0x00)); + } + + ////////// + // CBOR // + ////////// + + static constexpr CharType get_cbor_float_prefix(float /*unused*/) + { + return to_char_type(0xFA); // Single-Precision Float + } + + static constexpr CharType get_cbor_float_prefix(double /*unused*/) + { + return to_char_type(0xFB); // Double-Precision Float + } + + ///////////// + // MsgPack // + ///////////// + + static constexpr CharType get_msgpack_float_prefix(float /*unused*/) + { + return to_char_type(0xCA); // float 32 + } + + static constexpr CharType get_msgpack_float_prefix(double /*unused*/) + { + return to_char_type(0xCB); // float 64 + } + + //////////// + // UBJSON // + //////////// + + // UBJSON: write number (floating point) + template::value, int>::type = 0> + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if (add_prefix) + { + oa->write_character(get_ubjson_float_prefix(n)); + } + write_number(n); + } + + // UBJSON: write number (unsigned integer) + template::value, int>::type = 0> + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('i')); // int8 + } + write_number(static_cast(n)); + } + else if (n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('U')); // uint8 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('I')); // int16 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('l')); // int32 + } + write_number(static_cast(n)); + } + else if (n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('L')); // int64 + } + write_number(static_cast(n)); + } + else + { + if (add_prefix) + { + oa->write_character(to_char_type('H')); // high-precision number + } + + const auto number = BasicJsonType(n).dump(); + write_number_with_ubjson_prefix(number.size(), true); + for (std::size_t i = 0; i < number.size(); ++i) + { + oa->write_character(to_char_type(static_cast(number[i]))); + } + } + } + + // UBJSON: write number (signed integer) + template < typename NumberType, typename std::enable_if < + std::is_signed::value&& + !std::is_floating_point::value, int >::type = 0 > + void write_number_with_ubjson_prefix(const NumberType n, + const bool add_prefix) + { + if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('i')); // int8 + } + write_number(static_cast(n)); + } + else if (static_cast((std::numeric_limits::min)()) <= n && n <= static_cast((std::numeric_limits::max)())) + { + if (add_prefix) + { + oa->write_character(to_char_type('U')); // uint8 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('I')); // int16 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('l')); // int32 + } + write_number(static_cast(n)); + } + else if ((std::numeric_limits::min)() <= n && n <= (std::numeric_limits::max)()) + { + if (add_prefix) + { + oa->write_character(to_char_type('L')); // int64 + } + write_number(static_cast(n)); + } + // LCOV_EXCL_START + else + { + if (add_prefix) + { + oa->write_character(to_char_type('H')); // high-precision number + } + + const auto number = BasicJsonType(n).dump(); + write_number_with_ubjson_prefix(number.size(), true); + for (std::size_t i = 0; i < number.size(); ++i) + { + oa->write_character(to_char_type(static_cast(number[i]))); + } + } + // LCOV_EXCL_STOP + } + + /*! + @brief determine the type prefix of container values + */ + CharType ubjson_prefix(const BasicJsonType& j) const noexcept + { + switch (j.type()) + { + case value_t::null: + return 'Z'; + + case value_t::boolean: + return j.m_value.boolean ? 'T' : 'F'; + + case value_t::number_integer: + { + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'i'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'U'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'I'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'l'; + } + if ((std::numeric_limits::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits::max)()) + { + return 'L'; + } + // anything else is treated as high-precision number + return 'H'; // LCOV_EXCL_LINE + } + + case value_t::number_unsigned: + { + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'i'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'U'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'I'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'l'; + } + if (j.m_value.number_unsigned <= static_cast((std::numeric_limits::max)())) + { + return 'L'; + } + // anything else is treated as high-precision number + return 'H'; // LCOV_EXCL_LINE + } + + case value_t::number_float: + return get_ubjson_float_prefix(j.m_value.number_float); + + case value_t::string: + return 'S'; + + case value_t::array: // fallthrough + case value_t::binary: + return '['; + + case value_t::object: + return '{'; + + case value_t::discarded: + default: // discarded values + return 'N'; + } + } + + static constexpr CharType get_ubjson_float_prefix(float /*unused*/) + { + return 'd'; // float 32 + } + + static constexpr CharType get_ubjson_float_prefix(double /*unused*/) + { + return 'D'; // float 64 + } + + /////////////////////// + // Utility functions // + /////////////////////// + + /* + @brief write a number to output input + @param[in] n number of type @a NumberType + @tparam NumberType the type of the number + @tparam OutputIsLittleEndian Set to true if output data is + required to be little endian + + @note This function needs to respect the system's endianess, because bytes + in CBOR, MessagePack, and UBJSON are stored in network order (big + endian) and therefore need reordering on little endian systems. + */ + template + void write_number(const NumberType n) + { + // step 1: write number to array of length NumberType + std::array vec{}; + std::memcpy(vec.data(), &n, sizeof(NumberType)); + + // step 2: write array to output (with possible reordering) + if (is_little_endian != OutputIsLittleEndian) + { + // reverse byte order prior to conversion if necessary + std::reverse(vec.begin(), vec.end()); + } + + oa->write_characters(vec.data(), sizeof(NumberType)); + } + + void write_compact_float(const number_float_t n, detail::input_format_t format) + { +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + if (static_cast(n) >= static_cast(std::numeric_limits::lowest()) && + static_cast(n) <= static_cast((std::numeric_limits::max)()) && + static_cast(static_cast(n)) == static_cast(n)) + { + oa->write_character(format == detail::input_format_t::cbor + ? get_cbor_float_prefix(static_cast(n)) + : get_msgpack_float_prefix(static_cast(n))); + write_number(static_cast(n)); + } + else + { + oa->write_character(format == detail::input_format_t::cbor + ? get_cbor_float_prefix(n) + : get_msgpack_float_prefix(n)); + write_number(n); + } +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + } + + public: + // The following to_char_type functions are implement the conversion + // between uint8_t and CharType. In case CharType is not unsigned, + // such a conversion is required to allow values greater than 128. + // See for a discussion. + template < typename C = CharType, + enable_if_t < std::is_signed::value && std::is_signed::value > * = nullptr > + static constexpr CharType to_char_type(std::uint8_t x) noexcept + { + return *reinterpret_cast(&x); + } + + template < typename C = CharType, + enable_if_t < std::is_signed::value && std::is_unsigned::value > * = nullptr > + static CharType to_char_type(std::uint8_t x) noexcept + { + static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t"); + static_assert(std::is_trivial::value, "CharType must be trivial"); + CharType result; + std::memcpy(&result, &x, sizeof(x)); + return result; + } + + template::value>* = nullptr> + static constexpr CharType to_char_type(std::uint8_t x) noexcept + { + return x; + } + + template < typename InputCharType, typename C = CharType, + enable_if_t < + std::is_signed::value && + std::is_signed::value && + std::is_same::type>::value + > * = nullptr > + static constexpr CharType to_char_type(InputCharType x) noexcept + { + return x; + } + + private: + /// whether we can assume little endianess + const bool is_little_endian = little_endianess(); + + /// the output + output_adapter_t oa = nullptr; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // reverse, remove, fill, find, none_of +#include // array +#include // localeconv, lconv +#include // labs, isfinite, isnan, signbit +#include // size_t, ptrdiff_t +#include // uint8_t +#include // snprintf +#include // numeric_limits +#include // string, char_traits +#include // is_same +#include // move + +// #include + + +#include // array +#include // signbit, isfinite +#include // intN_t, uintN_t +#include // memcpy, memmove +#include // numeric_limits +#include // conditional + +// #include + + +namespace nlohmann +{ +namespace detail +{ + +/*! +@brief implements the Grisu2 algorithm for binary to decimal floating-point +conversion. + +This implementation is a slightly modified version of the reference +implementation which may be obtained from +http://florian.loitsch.com/publications (bench.tar.gz). + +The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch. + +For a detailed description of the algorithm see: + +[1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with + Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming + Language Design and Implementation, PLDI 2010 +[2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", + Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language + Design and Implementation, PLDI 1996 +*/ +namespace dtoa_impl +{ + +template +Target reinterpret_bits(const Source source) +{ + static_assert(sizeof(Target) == sizeof(Source), "size mismatch"); + + Target target; + std::memcpy(&target, &source, sizeof(Source)); + return target; +} + +struct diyfp // f * 2^e +{ + static constexpr int kPrecision = 64; // = q + + std::uint64_t f = 0; + int e = 0; + + constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {} + + /*! + @brief returns x - y + @pre x.e == y.e and x.f >= y.f + */ + static diyfp sub(const diyfp& x, const diyfp& y) noexcept + { + JSON_ASSERT(x.e == y.e); + JSON_ASSERT(x.f >= y.f); + + return {x.f - y.f, x.e}; + } + + /*! + @brief returns x * y + @note The result is rounded. (Only the upper q bits are returned.) + */ + static diyfp mul(const diyfp& x, const diyfp& y) noexcept + { + static_assert(kPrecision == 64, "internal error"); + + // Computes: + // f = round((x.f * y.f) / 2^q) + // e = x.e + y.e + q + + // Emulate the 64-bit * 64-bit multiplication: + // + // p = u * v + // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi) + // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi ) + // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 ) + // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 ) + // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3) + // = (p0_lo ) + 2^32 (Q ) + 2^64 (H ) + // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H ) + // + // (Since Q might be larger than 2^32 - 1) + // + // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H) + // + // (Q_hi + H does not overflow a 64-bit int) + // + // = p_lo + 2^64 p_hi + + const std::uint64_t u_lo = x.f & 0xFFFFFFFFu; + const std::uint64_t u_hi = x.f >> 32u; + const std::uint64_t v_lo = y.f & 0xFFFFFFFFu; + const std::uint64_t v_hi = y.f >> 32u; + + const std::uint64_t p0 = u_lo * v_lo; + const std::uint64_t p1 = u_lo * v_hi; + const std::uint64_t p2 = u_hi * v_lo; + const std::uint64_t p3 = u_hi * v_hi; + + const std::uint64_t p0_hi = p0 >> 32u; + const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu; + const std::uint64_t p1_hi = p1 >> 32u; + const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu; + const std::uint64_t p2_hi = p2 >> 32u; + + std::uint64_t Q = p0_hi + p1_lo + p2_lo; + + // The full product might now be computed as + // + // p_hi = p3 + p2_hi + p1_hi + (Q >> 32) + // p_lo = p0_lo + (Q << 32) + // + // But in this particular case here, the full p_lo is not required. + // Effectively we only need to add the highest bit in p_lo to p_hi (and + // Q_hi + 1 does not overflow). + + Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up + + const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u); + + return {h, x.e + y.e + 64}; + } + + /*! + @brief normalize x such that the significand is >= 2^(q-1) + @pre x.f != 0 + */ + static diyfp normalize(diyfp x) noexcept + { + JSON_ASSERT(x.f != 0); + + while ((x.f >> 63u) == 0) + { + x.f <<= 1u; + x.e--; + } + + return x; + } + + /*! + @brief normalize x such that the result has the exponent E + @pre e >= x.e and the upper e - x.e bits of x.f must be zero. + */ + static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept + { + const int delta = x.e - target_exponent; + + JSON_ASSERT(delta >= 0); + JSON_ASSERT(((x.f << delta) >> delta) == x.f); + + return {x.f << delta, target_exponent}; + } +}; + +struct boundaries +{ + diyfp w; + diyfp minus; + diyfp plus; +}; + +/*! +Compute the (normalized) diyfp representing the input number 'value' and its +boundaries. + +@pre value must be finite and positive +*/ +template +boundaries compute_boundaries(FloatType value) +{ + JSON_ASSERT(std::isfinite(value)); + JSON_ASSERT(value > 0); + + // Convert the IEEE representation into a diyfp. + // + // If v is denormal: + // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1)) + // If v is normalized: + // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1)) + + static_assert(std::numeric_limits::is_iec559, + "internal error: dtoa_short requires an IEEE-754 floating-point implementation"); + + constexpr int kPrecision = std::numeric_limits::digits; // = p (includes the hidden bit) + constexpr int kBias = std::numeric_limits::max_exponent - 1 + (kPrecision - 1); + constexpr int kMinExp = 1 - kBias; + constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1) + + using bits_type = typename std::conditional::type; + + const auto bits = static_cast(reinterpret_bits(value)); + const std::uint64_t E = bits >> (kPrecision - 1); + const std::uint64_t F = bits & (kHiddenBit - 1); + + const bool is_denormal = E == 0; + const diyfp v = is_denormal + ? diyfp(F, kMinExp) + : diyfp(F + kHiddenBit, static_cast(E) - kBias); + + // Compute the boundaries m- and m+ of the floating-point value + // v = f * 2^e. + // + // Determine v- and v+, the floating-point predecessor and successor if v, + // respectively. + // + // v- = v - 2^e if f != 2^(p-1) or e == e_min (A) + // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B) + // + // v+ = v + 2^e + // + // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_ + // between m- and m+ round to v, regardless of how the input rounding + // algorithm breaks ties. + // + // ---+-------------+-------------+-------------+-------------+--- (A) + // v- m- v m+ v+ + // + // -----------------+------+------+-------------+-------------+--- (B) + // v- m- v m+ v+ + + const bool lower_boundary_is_closer = F == 0 && E > 1; + const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1); + const diyfp m_minus = lower_boundary_is_closer + ? diyfp(4 * v.f - 1, v.e - 2) // (B) + : diyfp(2 * v.f - 1, v.e - 1); // (A) + + // Determine the normalized w+ = m+. + const diyfp w_plus = diyfp::normalize(m_plus); + + // Determine w- = m- such that e_(w-) = e_(w+). + const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e); + + return {diyfp::normalize(v), w_minus, w_plus}; +} + +// Given normalized diyfp w, Grisu needs to find a (normalized) cached +// power-of-ten c, such that the exponent of the product c * w = f * 2^e lies +// within a certain range [alpha, gamma] (Definition 3.2 from [1]) +// +// alpha <= e = e_c + e_w + q <= gamma +// +// or +// +// f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q +// <= f_c * f_w * 2^gamma +// +// Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies +// +// 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma +// +// or +// +// 2^(q - 2 + alpha) <= c * w < 2^(q + gamma) +// +// The choice of (alpha,gamma) determines the size of the table and the form of +// the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well +// in practice: +// +// The idea is to cut the number c * w = f * 2^e into two parts, which can be +// processed independently: An integral part p1, and a fractional part p2: +// +// f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e +// = (f div 2^-e) + (f mod 2^-e) * 2^e +// = p1 + p2 * 2^e +// +// The conversion of p1 into decimal form requires a series of divisions and +// modulos by (a power of) 10. These operations are faster for 32-bit than for +// 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be +// achieved by choosing +// +// -e >= 32 or e <= -32 := gamma +// +// In order to convert the fractional part +// +// p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ... +// +// into decimal form, the fraction is repeatedly multiplied by 10 and the digits +// d[-i] are extracted in order: +// +// (10 * p2) div 2^-e = d[-1] +// (10 * p2) mod 2^-e = d[-2] / 10^1 + ... +// +// The multiplication by 10 must not overflow. It is sufficient to choose +// +// 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64. +// +// Since p2 = f mod 2^-e < 2^-e, +// +// -e <= 60 or e >= -60 := alpha + +constexpr int kAlpha = -60; +constexpr int kGamma = -32; + +struct cached_power // c = f * 2^e ~= 10^k +{ + std::uint64_t f; + int e; + int k; +}; + +/*! +For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached +power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c +satisfies (Definition 3.2 from [1]) + + alpha <= e_c + e + q <= gamma. +*/ +inline cached_power get_cached_power_for_binary_exponent(int e) +{ + // Now + // + // alpha <= e_c + e + q <= gamma (1) + // ==> f_c * 2^alpha <= c * 2^e * 2^q + // + // and since the c's are normalized, 2^(q-1) <= f_c, + // + // ==> 2^(q - 1 + alpha) <= c * 2^(e + q) + // ==> 2^(alpha - e - 1) <= c + // + // If c were an exact power of ten, i.e. c = 10^k, one may determine k as + // + // k = ceil( log_10( 2^(alpha - e - 1) ) ) + // = ceil( (alpha - e - 1) * log_10(2) ) + // + // From the paper: + // "In theory the result of the procedure could be wrong since c is rounded, + // and the computation itself is approximated [...]. In practice, however, + // this simple function is sufficient." + // + // For IEEE double precision floating-point numbers converted into + // normalized diyfp's w = f * 2^e, with q = 64, + // + // e >= -1022 (min IEEE exponent) + // -52 (p - 1) + // -52 (p - 1, possibly normalize denormal IEEE numbers) + // -11 (normalize the diyfp) + // = -1137 + // + // and + // + // e <= +1023 (max IEEE exponent) + // -52 (p - 1) + // -11 (normalize the diyfp) + // = 960 + // + // This binary exponent range [-1137,960] results in a decimal exponent + // range [-307,324]. One does not need to store a cached power for each + // k in this range. For each such k it suffices to find a cached power + // such that the exponent of the product lies in [alpha,gamma]. + // This implies that the difference of the decimal exponents of adjacent + // table entries must be less than or equal to + // + // floor( (gamma - alpha) * log_10(2) ) = 8. + // + // (A smaller distance gamma-alpha would require a larger table.) + + // NB: + // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34. + + constexpr int kCachedPowersMinDecExp = -300; + constexpr int kCachedPowersDecStep = 8; + + static constexpr std::array kCachedPowers = + { + { + { 0xAB70FE17C79AC6CA, -1060, -300 }, + { 0xFF77B1FCBEBCDC4F, -1034, -292 }, + { 0xBE5691EF416BD60C, -1007, -284 }, + { 0x8DD01FAD907FFC3C, -980, -276 }, + { 0xD3515C2831559A83, -954, -268 }, + { 0x9D71AC8FADA6C9B5, -927, -260 }, + { 0xEA9C227723EE8BCB, -901, -252 }, + { 0xAECC49914078536D, -874, -244 }, + { 0x823C12795DB6CE57, -847, -236 }, + { 0xC21094364DFB5637, -821, -228 }, + { 0x9096EA6F3848984F, -794, -220 }, + { 0xD77485CB25823AC7, -768, -212 }, + { 0xA086CFCD97BF97F4, -741, -204 }, + { 0xEF340A98172AACE5, -715, -196 }, + { 0xB23867FB2A35B28E, -688, -188 }, + { 0x84C8D4DFD2C63F3B, -661, -180 }, + { 0xC5DD44271AD3CDBA, -635, -172 }, + { 0x936B9FCEBB25C996, -608, -164 }, + { 0xDBAC6C247D62A584, -582, -156 }, + { 0xA3AB66580D5FDAF6, -555, -148 }, + { 0xF3E2F893DEC3F126, -529, -140 }, + { 0xB5B5ADA8AAFF80B8, -502, -132 }, + { 0x87625F056C7C4A8B, -475, -124 }, + { 0xC9BCFF6034C13053, -449, -116 }, + { 0x964E858C91BA2655, -422, -108 }, + { 0xDFF9772470297EBD, -396, -100 }, + { 0xA6DFBD9FB8E5B88F, -369, -92 }, + { 0xF8A95FCF88747D94, -343, -84 }, + { 0xB94470938FA89BCF, -316, -76 }, + { 0x8A08F0F8BF0F156B, -289, -68 }, + { 0xCDB02555653131B6, -263, -60 }, + { 0x993FE2C6D07B7FAC, -236, -52 }, + { 0xE45C10C42A2B3B06, -210, -44 }, + { 0xAA242499697392D3, -183, -36 }, + { 0xFD87B5F28300CA0E, -157, -28 }, + { 0xBCE5086492111AEB, -130, -20 }, + { 0x8CBCCC096F5088CC, -103, -12 }, + { 0xD1B71758E219652C, -77, -4 }, + { 0x9C40000000000000, -50, 4 }, + { 0xE8D4A51000000000, -24, 12 }, + { 0xAD78EBC5AC620000, 3, 20 }, + { 0x813F3978F8940984, 30, 28 }, + { 0xC097CE7BC90715B3, 56, 36 }, + { 0x8F7E32CE7BEA5C70, 83, 44 }, + { 0xD5D238A4ABE98068, 109, 52 }, + { 0x9F4F2726179A2245, 136, 60 }, + { 0xED63A231D4C4FB27, 162, 68 }, + { 0xB0DE65388CC8ADA8, 189, 76 }, + { 0x83C7088E1AAB65DB, 216, 84 }, + { 0xC45D1DF942711D9A, 242, 92 }, + { 0x924D692CA61BE758, 269, 100 }, + { 0xDA01EE641A708DEA, 295, 108 }, + { 0xA26DA3999AEF774A, 322, 116 }, + { 0xF209787BB47D6B85, 348, 124 }, + { 0xB454E4A179DD1877, 375, 132 }, + { 0x865B86925B9BC5C2, 402, 140 }, + { 0xC83553C5C8965D3D, 428, 148 }, + { 0x952AB45CFA97A0B3, 455, 156 }, + { 0xDE469FBD99A05FE3, 481, 164 }, + { 0xA59BC234DB398C25, 508, 172 }, + { 0xF6C69A72A3989F5C, 534, 180 }, + { 0xB7DCBF5354E9BECE, 561, 188 }, + { 0x88FCF317F22241E2, 588, 196 }, + { 0xCC20CE9BD35C78A5, 614, 204 }, + { 0x98165AF37B2153DF, 641, 212 }, + { 0xE2A0B5DC971F303A, 667, 220 }, + { 0xA8D9D1535CE3B396, 694, 228 }, + { 0xFB9B7CD9A4A7443C, 720, 236 }, + { 0xBB764C4CA7A44410, 747, 244 }, + { 0x8BAB8EEFB6409C1A, 774, 252 }, + { 0xD01FEF10A657842C, 800, 260 }, + { 0x9B10A4E5E9913129, 827, 268 }, + { 0xE7109BFBA19C0C9D, 853, 276 }, + { 0xAC2820D9623BF429, 880, 284 }, + { 0x80444B5E7AA7CF85, 907, 292 }, + { 0xBF21E44003ACDD2D, 933, 300 }, + { 0x8E679C2F5E44FF8F, 960, 308 }, + { 0xD433179D9C8CB841, 986, 316 }, + { 0x9E19DB92B4E31BA9, 1013, 324 }, + } + }; + + // This computation gives exactly the same results for k as + // k = ceil((kAlpha - e - 1) * 0.30102999566398114) + // for |e| <= 1500, but doesn't require floating-point operations. + // NB: log_10(2) ~= 78913 / 2^18 + JSON_ASSERT(e >= -1500); + JSON_ASSERT(e <= 1500); + const int f = kAlpha - e - 1; + const int k = (f * 78913) / (1 << 18) + static_cast(f > 0); + + const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep; + JSON_ASSERT(index >= 0); + JSON_ASSERT(static_cast(index) < kCachedPowers.size()); + + const cached_power cached = kCachedPowers[static_cast(index)]; + JSON_ASSERT(kAlpha <= cached.e + e + 64); + JSON_ASSERT(kGamma >= cached.e + e + 64); + + return cached; +} + +/*! +For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. +For n == 0, returns 1 and sets pow10 := 1. +*/ +inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10) +{ + // LCOV_EXCL_START + if (n >= 1000000000) + { + pow10 = 1000000000; + return 10; + } + // LCOV_EXCL_STOP + if (n >= 100000000) + { + pow10 = 100000000; + return 9; + } + if (n >= 10000000) + { + pow10 = 10000000; + return 8; + } + if (n >= 1000000) + { + pow10 = 1000000; + return 7; + } + if (n >= 100000) + { + pow10 = 100000; + return 6; + } + if (n >= 10000) + { + pow10 = 10000; + return 5; + } + if (n >= 1000) + { + pow10 = 1000; + return 4; + } + if (n >= 100) + { + pow10 = 100; + return 3; + } + if (n >= 10) + { + pow10 = 10; + return 2; + } + + pow10 = 1; + return 1; +} + +inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta, + std::uint64_t rest, std::uint64_t ten_k) +{ + JSON_ASSERT(len >= 1); + JSON_ASSERT(dist <= delta); + JSON_ASSERT(rest <= delta); + JSON_ASSERT(ten_k > 0); + + // <--------------------------- delta ----> + // <---- dist ---------> + // --------------[------------------+-------------------]-------------- + // M- w M+ + // + // ten_k + // <------> + // <---- rest ----> + // --------------[------------------+----+--------------]-------------- + // w V + // = buf * 10^k + // + // ten_k represents a unit-in-the-last-place in the decimal representation + // stored in buf. + // Decrement buf by ten_k while this takes buf closer to w. + + // The tests are written in this order to avoid overflow in unsigned + // integer arithmetic. + + while (rest < dist + && delta - rest >= ten_k + && (rest + ten_k < dist || dist - rest > rest + ten_k - dist)) + { + JSON_ASSERT(buf[len - 1] != '0'); + buf[len - 1]--; + rest += ten_k; + } +} + +/*! +Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. +M- and M+ must be normalized and share the same exponent -60 <= e <= -32. +*/ +inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent, + diyfp M_minus, diyfp w, diyfp M_plus) +{ + static_assert(kAlpha >= -60, "internal error"); + static_assert(kGamma <= -32, "internal error"); + + // Generates the digits (and the exponent) of a decimal floating-point + // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's + // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma. + // + // <--------------------------- delta ----> + // <---- dist ---------> + // --------------[------------------+-------------------]-------------- + // M- w M+ + // + // Grisu2 generates the digits of M+ from left to right and stops as soon as + // V is in [M-,M+]. + + JSON_ASSERT(M_plus.e >= kAlpha); + JSON_ASSERT(M_plus.e <= kGamma); + + std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e) + std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e) + + // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0): + // + // M+ = f * 2^e + // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e + // = ((p1 ) * 2^-e + (p2 )) * 2^e + // = p1 + p2 * 2^e + + const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e); + + auto p1 = static_cast(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.) + std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e + + // 1) + // + // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0] + + JSON_ASSERT(p1 > 0); + + std::uint32_t pow10{}; + const int k = find_largest_pow10(p1, pow10); + + // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1) + // + // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1)) + // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1)) + // + // M+ = p1 + p2 * 2^e + // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e + // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e + // = d[k-1] * 10^(k-1) + ( rest) * 2^e + // + // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0) + // + // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0] + // + // but stop as soon as + // + // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e + + int n = k; + while (n > 0) + { + // Invariants: + // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k) + // pow10 = 10^(n-1) <= p1 < 10^n + // + const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1) + const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1) + // + // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e + // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e) + // + JSON_ASSERT(d <= 9); + buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d + // + // M+ = buffer * 10^(n-1) + (r + p2 * 2^e) + // + p1 = r; + n--; + // + // M+ = buffer * 10^n + (p1 + p2 * 2^e) + // pow10 = 10^n + // + + // Now check if enough digits have been generated. + // Compute + // + // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e + // + // Note: + // Since rest and delta share the same exponent e, it suffices to + // compare the significands. + const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2; + if (rest <= delta) + { + // V = buffer * 10^n, with M- <= V <= M+. + + decimal_exponent += n; + + // We may now just stop. But instead look if the buffer could be + // decremented to bring V closer to w. + // + // pow10 = 10^n is now 1 ulp in the decimal representation V. + // The rounding procedure works with diyfp's with an implicit + // exponent of e. + // + // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e + // + const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e; + grisu2_round(buffer, length, dist, delta, rest, ten_n); + + return; + } + + pow10 /= 10; + // + // pow10 = 10^(n-1) <= p1 < 10^n + // Invariants restored. + } + + // 2) + // + // The digits of the integral part have been generated: + // + // M+ = d[k-1]...d[1]d[0] + p2 * 2^e + // = buffer + p2 * 2^e + // + // Now generate the digits of the fractional part p2 * 2^e. + // + // Note: + // No decimal point is generated: the exponent is adjusted instead. + // + // p2 actually represents the fraction + // + // p2 * 2^e + // = p2 / 2^-e + // = d[-1] / 10^1 + d[-2] / 10^2 + ... + // + // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...) + // + // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m + // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...) + // + // using + // + // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e) + // = ( d) * 2^-e + ( r) + // + // or + // 10^m * p2 * 2^e = d + r * 2^e + // + // i.e. + // + // M+ = buffer + p2 * 2^e + // = buffer + 10^-m * (d + r * 2^e) + // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e + // + // and stop as soon as 10^-m * r * 2^e <= delta * 2^e + + JSON_ASSERT(p2 > delta); + + int m = 0; + for (;;) + { + // Invariant: + // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e + // = buffer * 10^-m + 10^-m * (p2 ) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e + // + JSON_ASSERT(p2 <= (std::numeric_limits::max)() / 10); + p2 *= 10; + const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e + const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e + // + // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e + // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e)) + // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e + // + JSON_ASSERT(d <= 9); + buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d + // + // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e + // + p2 = r; + m++; + // + // M+ = buffer * 10^-m + 10^-m * p2 * 2^e + // Invariant restored. + + // Check if enough digits have been generated. + // + // 10^-m * p2 * 2^e <= delta * 2^e + // p2 * 2^e <= 10^m * delta * 2^e + // p2 <= 10^m * delta + delta *= 10; + dist *= 10; + if (p2 <= delta) + { + break; + } + } + + // V = buffer * 10^-m, with M- <= V <= M+. + + decimal_exponent -= m; + + // 1 ulp in the decimal representation is now 10^-m. + // Since delta and dist are now scaled by 10^m, we need to do the + // same with ulp in order to keep the units in sync. + // + // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e + // + const std::uint64_t ten_m = one.f; + grisu2_round(buffer, length, dist, delta, p2, ten_m); + + // By construction this algorithm generates the shortest possible decimal + // number (Loitsch, Theorem 6.2) which rounds back to w. + // For an input number of precision p, at least + // + // N = 1 + ceil(p * log_10(2)) + // + // decimal digits are sufficient to identify all binary floating-point + // numbers (Matula, "In-and-Out conversions"). + // This implies that the algorithm does not produce more than N decimal + // digits. + // + // N = 17 for p = 53 (IEEE double precision) + // N = 9 for p = 24 (IEEE single precision) +} + +/*! +v = buf * 10^decimal_exponent +len is the length of the buffer (number of decimal digits) +The buffer must be large enough, i.e. >= max_digits10. +*/ +JSON_HEDLEY_NON_NULL(1) +inline void grisu2(char* buf, int& len, int& decimal_exponent, + diyfp m_minus, diyfp v, diyfp m_plus) +{ + JSON_ASSERT(m_plus.e == m_minus.e); + JSON_ASSERT(m_plus.e == v.e); + + // --------(-----------------------+-----------------------)-------- (A) + // m- v m+ + // + // --------------------(-----------+-----------------------)-------- (B) + // m- v m+ + // + // First scale v (and m- and m+) such that the exponent is in the range + // [alpha, gamma]. + + const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e); + + const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k + + // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma] + const diyfp w = diyfp::mul(v, c_minus_k); + const diyfp w_minus = diyfp::mul(m_minus, c_minus_k); + const diyfp w_plus = diyfp::mul(m_plus, c_minus_k); + + // ----(---+---)---------------(---+---)---------------(---+---)---- + // w- w w+ + // = c*m- = c*v = c*m+ + // + // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and + // w+ are now off by a small amount. + // In fact: + // + // w - v * 10^k < 1 ulp + // + // To account for this inaccuracy, add resp. subtract 1 ulp. + // + // --------+---[---------------(---+---)---------------]---+-------- + // w- M- w M+ w+ + // + // Now any number in [M-, M+] (bounds included) will round to w when input, + // regardless of how the input rounding algorithm breaks ties. + // + // And digit_gen generates the shortest possible such number in [M-, M+]. + // Note that this does not mean that Grisu2 always generates the shortest + // possible number in the interval (m-, m+). + const diyfp M_minus(w_minus.f + 1, w_minus.e); + const diyfp M_plus (w_plus.f - 1, w_plus.e ); + + decimal_exponent = -cached.k; // = -(-k) = k + + grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus); +} + +/*! +v = buf * 10^decimal_exponent +len is the length of the buffer (number of decimal digits) +The buffer must be large enough, i.e. >= max_digits10. +*/ +template +JSON_HEDLEY_NON_NULL(1) +void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value) +{ + static_assert(diyfp::kPrecision >= std::numeric_limits::digits + 3, + "internal error: not enough precision"); + + JSON_ASSERT(std::isfinite(value)); + JSON_ASSERT(value > 0); + + // If the neighbors (and boundaries) of 'value' are always computed for double-precision + // numbers, all float's can be recovered using strtod (and strtof). However, the resulting + // decimal representations are not exactly "short". + // + // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars) + // says "value is converted to a string as if by std::sprintf in the default ("C") locale" + // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars' + // does. + // On the other hand, the documentation for 'std::to_chars' requires that "parsing the + // representation using the corresponding std::from_chars function recovers value exactly". That + // indicates that single precision floating-point numbers should be recovered using + // 'std::strtof'. + // + // NB: If the neighbors are computed for single-precision numbers, there is a single float + // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision + // value is off by 1 ulp. +#if 0 + const boundaries w = compute_boundaries(static_cast(value)); +#else + const boundaries w = compute_boundaries(value); +#endif + + grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus); +} + +/*! +@brief appends a decimal representation of e to buf +@return a pointer to the element following the exponent. +@pre -1000 < e < 1000 +*/ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inline char* append_exponent(char* buf, int e) +{ + JSON_ASSERT(e > -1000); + JSON_ASSERT(e < 1000); + + if (e < 0) + { + e = -e; + *buf++ = '-'; + } + else + { + *buf++ = '+'; + } + + auto k = static_cast(e); + if (k < 10) + { + // Always print at least two digits in the exponent. + // This is for compatibility with printf("%g"). + *buf++ = '0'; + *buf++ = static_cast('0' + k); + } + else if (k < 100) + { + *buf++ = static_cast('0' + k / 10); + k %= 10; + *buf++ = static_cast('0' + k); + } + else + { + *buf++ = static_cast('0' + k / 100); + k %= 100; + *buf++ = static_cast('0' + k / 10); + k %= 10; + *buf++ = static_cast('0' + k); + } + + return buf; +} + +/*! +@brief prettify v = buf * 10^decimal_exponent + +If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point +notation. Otherwise it will be printed in exponential notation. + +@pre min_exp < 0 +@pre max_exp > 0 +*/ +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inline char* format_buffer(char* buf, int len, int decimal_exponent, + int min_exp, int max_exp) +{ + JSON_ASSERT(min_exp < 0); + JSON_ASSERT(max_exp > 0); + + const int k = len; + const int n = len + decimal_exponent; + + // v = buf * 10^(n-k) + // k is the length of the buffer (number of decimal digits) + // n is the position of the decimal point relative to the start of the buffer. + + if (k <= n && n <= max_exp) + { + // digits[000] + // len <= max_exp + 2 + + std::memset(buf + k, '0', static_cast(n) - static_cast(k)); + // Make it look like a floating-point number (#362, #378) + buf[n + 0] = '.'; + buf[n + 1] = '0'; + return buf + (static_cast(n) + 2); + } + + if (0 < n && n <= max_exp) + { + // dig.its + // len <= max_digits10 + 1 + + JSON_ASSERT(k > n); + + std::memmove(buf + (static_cast(n) + 1), buf + n, static_cast(k) - static_cast(n)); + buf[n] = '.'; + return buf + (static_cast(k) + 1U); + } + + if (min_exp < n && n <= 0) + { + // 0.[000]digits + // len <= 2 + (-min_exp - 1) + max_digits10 + + std::memmove(buf + (2 + static_cast(-n)), buf, static_cast(k)); + buf[0] = '0'; + buf[1] = '.'; + std::memset(buf + 2, '0', static_cast(-n)); + return buf + (2U + static_cast(-n) + static_cast(k)); + } + + if (k == 1) + { + // dE+123 + // len <= 1 + 5 + + buf += 1; + } + else + { + // d.igitsE+123 + // len <= max_digits10 + 1 + 5 + + std::memmove(buf + 2, buf + 1, static_cast(k) - 1); + buf[1] = '.'; + buf += 1 + static_cast(k); + } + + *buf++ = 'e'; + return append_exponent(buf, n - 1); +} + +} // namespace dtoa_impl + +/*! +@brief generates a decimal representation of the floating-point number value in [first, last). + +The format of the resulting decimal representation is similar to printf's %g +format. Returns an iterator pointing past-the-end of the decimal representation. + +@note The input number must be finite, i.e. NaN's and Inf's are not supported. +@note The buffer must be large enough. +@note The result is NOT null-terminated. +*/ +template +JSON_HEDLEY_NON_NULL(1, 2) +JSON_HEDLEY_RETURNS_NON_NULL +char* to_chars(char* first, const char* last, FloatType value) +{ + static_cast(last); // maybe unused - fix warning + JSON_ASSERT(std::isfinite(value)); + + // Use signbit(value) instead of (value < 0) since signbit works for -0. + if (std::signbit(value)) + { + value = -value; + *first++ = '-'; + } + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + if (value == 0) // +-0 + { + *first++ = '0'; + // Make it look like a floating-point number (#362, #378) + *first++ = '.'; + *first++ = '0'; + return first; + } +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + + JSON_ASSERT(last - first >= std::numeric_limits::max_digits10); + + // Compute v = buffer * 10^decimal_exponent. + // The decimal digits are stored in the buffer, which needs to be interpreted + // as an unsigned decimal integer. + // len is the length of the buffer, i.e. the number of decimal digits. + int len = 0; + int decimal_exponent = 0; + dtoa_impl::grisu2(first, len, decimal_exponent, value); + + JSON_ASSERT(len <= std::numeric_limits::max_digits10); + + // Format the buffer like printf("%.*g", prec, value) + constexpr int kMinExp = -4; + // Use digits10 here to increase compatibility with version 2. + constexpr int kMaxExp = std::numeric_limits::digits10; + + JSON_ASSERT(last - first >= kMaxExp + 2); + JSON_ASSERT(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits::max_digits10); + JSON_ASSERT(last - first >= std::numeric_limits::max_digits10 + 6); + + return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp); +} + +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + +// #include + +// #include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +/////////////////// +// serialization // +/////////////////// + +/// how to treat decoding errors +enum class error_handler_t +{ + strict, ///< throw a type_error exception in case of invalid UTF-8 + replace, ///< replace invalid UTF-8 sequences with U+FFFD + ignore ///< ignore invalid UTF-8 sequences +}; + +template +class serializer +{ + using string_t = typename BasicJsonType::string_t; + using number_float_t = typename BasicJsonType::number_float_t; + using number_integer_t = typename BasicJsonType::number_integer_t; + using number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using binary_char_t = typename BasicJsonType::binary_t::value_type; + static constexpr std::uint8_t UTF8_ACCEPT = 0; + static constexpr std::uint8_t UTF8_REJECT = 1; + + public: + /*! + @param[in] s output stream to serialize to + @param[in] ichar indentation character to use + @param[in] error_handler_ how to react on decoding errors + */ + serializer(output_adapter_t s, const char ichar, + error_handler_t error_handler_ = error_handler_t::strict) + : o(std::move(s)) + , loc(std::localeconv()) + , thousands_sep(loc->thousands_sep == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->thousands_sep))) + , decimal_point(loc->decimal_point == nullptr ? '\0' : std::char_traits::to_char_type(* (loc->decimal_point))) + , indent_char(ichar) + , indent_string(512, indent_char) + , error_handler(error_handler_) + {} + + // delete because of pointer members + serializer(const serializer&) = delete; + serializer& operator=(const serializer&) = delete; + serializer(serializer&&) = delete; + serializer& operator=(serializer&&) = delete; + ~serializer() = default; + + /*! + @brief internal implementation of the serialization function + + This function is called by the public member function dump and organizes + the serialization internally. The indentation level is propagated as + additional parameter. In case of arrays and objects, the function is + called recursively. + + - strings and object keys are escaped using `escape_string()` + - integer numbers are converted implicitly via `operator<<` + - floating-point numbers are converted to a string using `"%g"` format + - binary values are serialized as objects containing the subtype and the + byte array + + @param[in] val value to serialize + @param[in] pretty_print whether the output shall be pretty-printed + @param[in] ensure_ascii If @a ensure_ascii is true, all non-ASCII characters + in the output are escaped with `\uXXXX` sequences, and the result consists + of ASCII characters only. + @param[in] indent_step the indent level + @param[in] current_indent the current indent level (only used internally) + */ + void dump(const BasicJsonType& val, + const bool pretty_print, + const bool ensure_ascii, + const unsigned int indent_step, + const unsigned int current_indent = 0) + { + switch (val.m_type) + { + case value_t::object: + { + if (val.m_value.object->empty()) + { + o->write_characters("{}", 2); + return; + } + + if (pretty_print) + { + o->write_characters("{\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + // first n-1 elements + auto i = val.m_value.object->cbegin(); + for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i) + { + o->write_characters(indent_string.c_str(), new_indent); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\": ", 3); + dump(i->second, true, ensure_ascii, indent_step, new_indent); + o->write_characters(",\n", 2); + } + + // last element + JSON_ASSERT(i != val.m_value.object->cend()); + JSON_ASSERT(std::next(i) == val.m_value.object->cend()); + o->write_characters(indent_string.c_str(), new_indent); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\": ", 3); + dump(i->second, true, ensure_ascii, indent_step, new_indent); + + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character('}'); + } + else + { + o->write_character('{'); + + // first n-1 elements + auto i = val.m_value.object->cbegin(); + for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i) + { + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\":", 2); + dump(i->second, false, ensure_ascii, indent_step, current_indent); + o->write_character(','); + } + + // last element + JSON_ASSERT(i != val.m_value.object->cend()); + JSON_ASSERT(std::next(i) == val.m_value.object->cend()); + o->write_character('\"'); + dump_escaped(i->first, ensure_ascii); + o->write_characters("\":", 2); + dump(i->second, false, ensure_ascii, indent_step, current_indent); + + o->write_character('}'); + } + + return; + } + + case value_t::array: + { + if (val.m_value.array->empty()) + { + o->write_characters("[]", 2); + return; + } + + if (pretty_print) + { + o->write_characters("[\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + // first n-1 elements + for (auto i = val.m_value.array->cbegin(); + i != val.m_value.array->cend() - 1; ++i) + { + o->write_characters(indent_string.c_str(), new_indent); + dump(*i, true, ensure_ascii, indent_step, new_indent); + o->write_characters(",\n", 2); + } + + // last element + JSON_ASSERT(!val.m_value.array->empty()); + o->write_characters(indent_string.c_str(), new_indent); + dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent); + + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character(']'); + } + else + { + o->write_character('['); + + // first n-1 elements + for (auto i = val.m_value.array->cbegin(); + i != val.m_value.array->cend() - 1; ++i) + { + dump(*i, false, ensure_ascii, indent_step, current_indent); + o->write_character(','); + } + + // last element + JSON_ASSERT(!val.m_value.array->empty()); + dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent); + + o->write_character(']'); + } + + return; + } + + case value_t::string: + { + o->write_character('\"'); + dump_escaped(*val.m_value.string, ensure_ascii); + o->write_character('\"'); + return; + } + + case value_t::binary: + { + if (pretty_print) + { + o->write_characters("{\n", 2); + + // variable to hold indentation for recursive calls + const auto new_indent = current_indent + indent_step; + if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent)) + { + indent_string.resize(indent_string.size() * 2, ' '); + } + + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"bytes\": [", 10); + + if (!val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_characters(", ", 2); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\n", 3); + o->write_characters(indent_string.c_str(), new_indent); + + o->write_characters("\"subtype\": ", 11); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + } + else + { + o->write_characters("null", 4); + } + o->write_character('\n'); + o->write_characters(indent_string.c_str(), current_indent); + o->write_character('}'); + } + else + { + o->write_characters("{\"bytes\":[", 10); + + if (!val.m_value.binary->empty()) + { + for (auto i = val.m_value.binary->cbegin(); + i != val.m_value.binary->cend() - 1; ++i) + { + dump_integer(*i); + o->write_character(','); + } + dump_integer(val.m_value.binary->back()); + } + + o->write_characters("],\"subtype\":", 12); + if (val.m_value.binary->has_subtype()) + { + dump_integer(val.m_value.binary->subtype()); + o->write_character('}'); + } + else + { + o->write_characters("null}", 5); + } + } + return; + } + + case value_t::boolean: + { + if (val.m_value.boolean) + { + o->write_characters("true", 4); + } + else + { + o->write_characters("false", 5); + } + return; + } + + case value_t::number_integer: + { + dump_integer(val.m_value.number_integer); + return; + } + + case value_t::number_unsigned: + { + dump_integer(val.m_value.number_unsigned); + return; + } + + case value_t::number_float: + { + dump_float(val.m_value.number_float); + return; + } + + case value_t::discarded: + { + o->write_characters("", 11); + return; + } + + case value_t::null: + { + o->write_characters("null", 4); + return; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + } + + JSON_PRIVATE_UNLESS_TESTED: + /*! + @brief dump escaped string + + Escape a string by replacing certain special characters by a sequence of an + escape character (backslash) and another character and other control + characters by a sequence of "\u" followed by a four-digit hex + representation. The escaped string is written to output stream @a o. + + @param[in] s the string to escape + @param[in] ensure_ascii whether to escape non-ASCII characters with + \uXXXX sequences + + @complexity Linear in the length of string @a s. + */ + void dump_escaped(const string_t& s, const bool ensure_ascii) + { + std::uint32_t codepoint{}; + std::uint8_t state = UTF8_ACCEPT; + std::size_t bytes = 0; // number of bytes written to string_buffer + + // number of bytes written at the point of the last valid byte + std::size_t bytes_after_last_accept = 0; + std::size_t undumped_chars = 0; + + for (std::size_t i = 0; i < s.size(); ++i) + { + const auto byte = static_cast(s[i]); + + switch (decode(state, codepoint, byte)) + { + case UTF8_ACCEPT: // decode found a new code point + { + switch (codepoint) + { + case 0x08: // backspace + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'b'; + break; + } + + case 0x09: // horizontal tab + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 't'; + break; + } + + case 0x0A: // newline + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'n'; + break; + } + + case 0x0C: // formfeed + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'f'; + break; + } + + case 0x0D: // carriage return + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'r'; + break; + } + + case 0x22: // quotation mark + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = '\"'; + break; + } + + case 0x5C: // reverse solidus + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = '\\'; + break; + } + + default: + { + // escape control characters (0x00..0x1F) or, if + // ensure_ascii parameter is used, non-ASCII characters + if ((codepoint <= 0x1F) || (ensure_ascii && (codepoint >= 0x7F))) + { + if (codepoint <= 0xFFFF) + { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x", + static_cast(codepoint)); + bytes += 6; + } + else + { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x", + static_cast(0xD7C0u + (codepoint >> 10u)), + static_cast(0xDC00u + (codepoint & 0x3FFu))); + bytes += 12; + } + } + else + { + // copy byte to buffer (all previous bytes + // been copied have in default case above) + string_buffer[bytes++] = s[i]; + } + break; + } + } + + // write buffer and reset index; there must be 13 bytes + // left, as this is the maximal number of bytes to be + // written ("\uxxxx\uxxxx\0") for one code point + if (string_buffer.size() - bytes < 13) + { + o->write_characters(string_buffer.data(), bytes); + bytes = 0; + } + + // remember the byte position of this accept + bytes_after_last_accept = bytes; + undumped_chars = 0; + break; + } + + case UTF8_REJECT: // decode found invalid UTF-8 byte + { + switch (error_handler) + { + case error_handler_t::strict: + { + std::string sn(9, '\0'); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + (std::snprintf)(&sn[0], sn.size(), "%.2X", byte); + JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn, BasicJsonType())); + } + + case error_handler_t::ignore: + case error_handler_t::replace: + { + // in case we saw this character the first time, we + // would like to read it again, because the byte + // may be OK for itself, but just not OK for the + // previous sequence + if (undumped_chars > 0) + { + --i; + } + + // reset length buffer to the last accepted index; + // thus removing/ignoring the invalid characters + bytes = bytes_after_last_accept; + + if (error_handler == error_handler_t::replace) + { + // add a replacement character + if (ensure_ascii) + { + string_buffer[bytes++] = '\\'; + string_buffer[bytes++] = 'u'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'f'; + string_buffer[bytes++] = 'd'; + } + else + { + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xEF'); + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xBF'); + string_buffer[bytes++] = detail::binary_writer::to_char_type('\xBD'); + } + + // write buffer and reset index; there must be 13 bytes + // left, as this is the maximal number of bytes to be + // written ("\uxxxx\uxxxx\0") for one code point + if (string_buffer.size() - bytes < 13) + { + o->write_characters(string_buffer.data(), bytes); + bytes = 0; + } + + bytes_after_last_accept = bytes; + } + + undumped_chars = 0; + + // continue processing the string + state = UTF8_ACCEPT; + break; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + break; + } + + default: // decode found yet incomplete multi-byte code point + { + if (!ensure_ascii) + { + // code point will not be escaped - copy byte to buffer + string_buffer[bytes++] = s[i]; + } + ++undumped_chars; + break; + } + } + } + + // we finished processing the string + if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT)) + { + // write buffer + if (bytes > 0) + { + o->write_characters(string_buffer.data(), bytes); + } + } + else + { + // we finish reading, but do not accept: string was incomplete + switch (error_handler) + { + case error_handler_t::strict: + { + std::string sn(9, '\0'); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast(s.back())); + JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn, BasicJsonType())); + } + + case error_handler_t::ignore: + { + // write all accepted bytes + o->write_characters(string_buffer.data(), bytes_after_last_accept); + break; + } + + case error_handler_t::replace: + { + // write all accepted bytes + o->write_characters(string_buffer.data(), bytes_after_last_accept); + // add a replacement character + if (ensure_ascii) + { + o->write_characters("\\ufffd", 6); + } + else + { + o->write_characters("\xEF\xBF\xBD", 3); + } + break; + } + + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + } + } + + private: + /*! + @brief count digits + + Count the number of decimal (base 10) digits for an input unsigned integer. + + @param[in] x unsigned integer number to count its digits + @return number of decimal digits + */ + inline unsigned int count_digits(number_unsigned_t x) noexcept + { + unsigned int n_digits = 1; + for (;;) + { + if (x < 10) + { + return n_digits; + } + if (x < 100) + { + return n_digits + 1; + } + if (x < 1000) + { + return n_digits + 2; + } + if (x < 10000) + { + return n_digits + 3; + } + x = x / 10000u; + n_digits += 4; + } + } + + /*! + @brief dump an integer + + Dump a given integer to output stream @a o. Works internally with + @a number_buffer. + + @param[in] x integer number (signed or unsigned) to dump + @tparam NumberType either @a number_integer_t or @a number_unsigned_t + */ + template < typename NumberType, detail::enable_if_t < + std::is_integral::value || + std::is_same::value || + std::is_same::value || + std::is_same::value, + int > = 0 > + void dump_integer(NumberType x) + { + static constexpr std::array, 100> digits_to_99 + { + { + {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}}, + {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}}, + {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}}, + {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}}, + {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}}, + {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}}, + {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}}, + {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}}, + {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}}, + {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}}, + } + }; + + // special case for "0" + if (x == 0) + { + o->write_character('0'); + return; + } + + // use a pointer to fill the buffer + auto buffer_ptr = number_buffer.begin(); // NOLINT(llvm-qualified-auto,readability-qualified-auto,cppcoreguidelines-pro-type-vararg,hicpp-vararg) + + const bool is_negative = std::is_signed::value && !(x >= 0); // see issue #755 + number_unsigned_t abs_value; + + unsigned int n_chars{}; + + if (is_negative) + { + *buffer_ptr = '-'; + abs_value = remove_sign(static_cast(x)); + + // account one more byte for the minus sign + n_chars = 1 + count_digits(abs_value); + } + else + { + abs_value = static_cast(x); + n_chars = count_digits(abs_value); + } + + // spare 1 byte for '\0' + JSON_ASSERT(n_chars < number_buffer.size() - 1); + + // jump to the end to generate the string from backward + // so we later avoid reversing the result + buffer_ptr += n_chars; + + // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu + // See: https://www.youtube.com/watch?v=o4-CwDo2zpg + while (abs_value >= 100) + { + const auto digits_index = static_cast((abs_value % 100)); + abs_value /= 100; + *(--buffer_ptr) = digits_to_99[digits_index][1]; + *(--buffer_ptr) = digits_to_99[digits_index][0]; + } + + if (abs_value >= 10) + { + const auto digits_index = static_cast(abs_value); + *(--buffer_ptr) = digits_to_99[digits_index][1]; + *(--buffer_ptr) = digits_to_99[digits_index][0]; + } + else + { + *(--buffer_ptr) = static_cast('0' + abs_value); + } + + o->write_characters(number_buffer.data(), n_chars); + } + + /*! + @brief dump a floating-point number + + Dump a given floating-point number to output stream @a o. Works internally + with @a number_buffer. + + @param[in] x floating-point number to dump + */ + void dump_float(number_float_t x) + { + // NaN / inf + if (!std::isfinite(x)) + { + o->write_characters("null", 4); + return; + } + + // If number_float_t is an IEEE-754 single or double precision number, + // use the Grisu2 algorithm to produce short numbers which are + // guaranteed to round-trip, using strtof and strtod, resp. + // + // NB: The test below works if == . + static constexpr bool is_ieee_single_or_double + = (std::numeric_limits::is_iec559 && std::numeric_limits::digits == 24 && std::numeric_limits::max_exponent == 128) || + (std::numeric_limits::is_iec559 && std::numeric_limits::digits == 53 && std::numeric_limits::max_exponent == 1024); + + dump_float(x, std::integral_constant()); + } + + void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/) + { + auto* begin = number_buffer.data(); + auto* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x); + + o->write_characters(begin, static_cast(end - begin)); + } + + void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/) + { + // get number of digits for a float -> text -> float round-trip + static constexpr auto d = std::numeric_limits::max_digits10; + + // the actual conversion + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) + std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x); + + // negative value indicates an error + JSON_ASSERT(len > 0); + // check if buffer was large enough + JSON_ASSERT(static_cast(len) < number_buffer.size()); + + // erase thousands separator + if (thousands_sep != '\0') + { + // NOLINTNEXTLINE(readability-qualified-auto,llvm-qualified-auto): std::remove returns an iterator, see https://github.com/nlohmann/json/issues/3081 + const auto end = std::remove(number_buffer.begin(), number_buffer.begin() + len, thousands_sep); + std::fill(end, number_buffer.end(), '\0'); + JSON_ASSERT((end - number_buffer.begin()) <= len); + len = (end - number_buffer.begin()); + } + + // convert decimal point to '.' + if (decimal_point != '\0' && decimal_point != '.') + { + // NOLINTNEXTLINE(readability-qualified-auto,llvm-qualified-auto): std::find returns an iterator, see https://github.com/nlohmann/json/issues/3081 + const auto dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point); + if (dec_pos != number_buffer.end()) + { + *dec_pos = '.'; + } + } + + o->write_characters(number_buffer.data(), static_cast(len)); + + // determine if need to append ".0" + const bool value_is_int_like = + std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1, + [](char c) + { + return c == '.' || c == 'e'; + }); + + if (value_is_int_like) + { + o->write_characters(".0", 2); + } + } + + /*! + @brief check whether a string is UTF-8 encoded + + The function checks each byte of a string whether it is UTF-8 encoded. The + result of the check is stored in the @a state parameter. The function must + be called initially with state 0 (accept). State 1 means the string must + be rejected, because the current byte is not allowed. If the string is + completely processed, but the state is non-zero, the string ended + prematurely; that is, the last byte indicated more bytes should have + followed. + + @param[in,out] state the state of the decoding + @param[in,out] codep codepoint (valid only if resulting state is UTF8_ACCEPT) + @param[in] byte next byte to decode + @return new state + + @note The function has been edited: a std::array is used. + + @copyright Copyright (c) 2008-2009 Bjoern Hoehrmann + @sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ + */ + static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept + { + static const std::array utf8d = + { + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF + 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF + 0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF + 0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF + 0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2 + 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4 + 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6 + 1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8 + } + }; + + JSON_ASSERT(byte < utf8d.size()); + const std::uint8_t type = utf8d[byte]; + + codep = (state != UTF8_ACCEPT) + ? (byte & 0x3fu) | (codep << 6u) + : (0xFFu >> type) & (byte); + + std::size_t index = 256u + static_cast(state) * 16u + static_cast(type); + JSON_ASSERT(index < 400); + state = utf8d[index]; + return state; + } + + /* + * Overload to make the compiler happy while it is instantiating + * dump_integer for number_unsigned_t. + * Must never be called. + */ + number_unsigned_t remove_sign(number_unsigned_t x) + { + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + return x; // LCOV_EXCL_LINE + } + + /* + * Helper function for dump_integer + * + * This function takes a negative signed integer and returns its absolute + * value as unsigned integer. The plus/minus shuffling is necessary as we can + * not directly remove the sign of an arbitrary signed integer as the + * absolute values of INT_MIN and INT_MAX are usually not the same. See + * #1708 for details. + */ + inline number_unsigned_t remove_sign(number_integer_t x) noexcept + { + JSON_ASSERT(x < 0 && x < (std::numeric_limits::max)()); // NOLINT(misc-redundant-expression) + return static_cast(-(x + 1)) + 1; + } + + private: + /// the output of the serializer + output_adapter_t o = nullptr; + + /// a (hopefully) large enough character buffer + std::array number_buffer{{}}; + + /// the locale + const std::lconv* loc = nullptr; + /// the locale's thousand separator character + const char thousands_sep = '\0'; + /// the locale's decimal point character + const char decimal_point = '\0'; + + /// string buffer + std::array string_buffer{{}}; + + /// the indentation character + const char indent_char; + /// the indentation string + string_t indent_string; + + /// error_handler how to react on decoding errors + const error_handler_t error_handler; +}; +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + +// #include + + +#include // less +#include // initializer_list +#include // input_iterator_tag, iterator_traits +#include // allocator +#include // for out_of_range +#include // enable_if, is_convertible +#include // pair +#include // vector + +// #include + + +namespace nlohmann +{ + +/// ordered_map: a minimal map-like container that preserves insertion order +/// for use within nlohmann::basic_json +template , + class Allocator = std::allocator>> + struct ordered_map : std::vector, Allocator> +{ + using key_type = Key; + using mapped_type = T; + using Container = std::vector, Allocator>; + using typename Container::iterator; + using typename Container::const_iterator; + using typename Container::size_type; + using typename Container::value_type; + + // Explicit constructors instead of `using Container::Container` + // otherwise older compilers choke on it (GCC <= 5.5, xcode <= 9.4) + ordered_map(const Allocator& alloc = Allocator()) : Container{alloc} {} + template + ordered_map(It first, It last, const Allocator& alloc = Allocator()) + : Container{first, last, alloc} {} + ordered_map(std::initializer_list init, const Allocator& alloc = Allocator() ) + : Container{init, alloc} {} + + std::pair emplace(const key_type& key, T&& t) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return {it, false}; + } + } + Container::emplace_back(key, t); + return {--this->end(), true}; + } + + T& operator[](const Key& key) + { + return emplace(key, T{}).first->second; + } + + const T& operator[](const Key& key) const + { + return at(key); + } + + T& at(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it->second; + } + } + + JSON_THROW(std::out_of_range("key not found")); + } + + const T& at(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it->second; + } + } + + JSON_THROW(std::out_of_range("key not found")); + } + + size_type erase(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + // Since we cannot move const Keys, re-construct them in place + for (auto next = it; ++next != this->end(); ++it) + { + it->~value_type(); // Destroy but keep allocation + new (&*it) value_type{std::move(*next)}; + } + Container::pop_back(); + return 1; + } + } + return 0; + } + + iterator erase(iterator pos) + { + auto it = pos; + + // Since we cannot move const Keys, re-construct them in place + for (auto next = it; ++next != this->end(); ++it) + { + it->~value_type(); // Destroy but keep allocation + new (&*it) value_type{std::move(*next)}; + } + Container::pop_back(); + return pos; + } + + size_type count(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return 1; + } + } + return 0; + } + + iterator find(const Key& key) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it; + } + } + return Container::end(); + } + + const_iterator find(const Key& key) const + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == key) + { + return it; + } + } + return Container::end(); + } + + std::pair insert( value_type&& value ) + { + return emplace(value.first, std::move(value.second)); + } + + std::pair insert( const value_type& value ) + { + for (auto it = this->begin(); it != this->end(); ++it) + { + if (it->first == value.first) + { + return {it, false}; + } + } + Container::push_back(value); + return {--this->end(), true}; + } + + template + using require_input_iter = typename std::enable_if::iterator_category, + std::input_iterator_tag>::value>::type; + + template> + void insert(InputIt first, InputIt last) + { + for (auto it = first; it != last; ++it) + { + insert(*it); + } + } +}; + +} // namespace nlohmann + + +#if defined(JSON_HAS_CPP_17) + #include +#endif + +/*! +@brief namespace for Niels Lohmann +@see https://github.com/nlohmann +@since version 1.0.0 +*/ +namespace nlohmann +{ + +/*! +@brief a class to store JSON values + +@tparam ObjectType type for JSON objects (`std::map` by default; will be used +in @ref object_t) +@tparam ArrayType type for JSON arrays (`std::vector` by default; will be used +in @ref array_t) +@tparam StringType type for JSON strings and object keys (`std::string` by +default; will be used in @ref string_t) +@tparam BooleanType type for JSON booleans (`bool` by default; will be used +in @ref boolean_t) +@tparam NumberIntegerType type for JSON integer numbers (`int64_t` by +default; will be used in @ref number_integer_t) +@tparam NumberUnsignedType type for JSON unsigned integer numbers (@c +`uint64_t` by default; will be used in @ref number_unsigned_t) +@tparam NumberFloatType type for JSON floating-point numbers (`double` by +default; will be used in @ref number_float_t) +@tparam BinaryType type for packed binary data for compatibility with binary +serialization formats (`std::vector` by default; will be used in +@ref binary_t) +@tparam AllocatorType type of the allocator to use (`std::allocator` by +default) +@tparam JSONSerializer the serializer to resolve internal calls to `to_json()` +and `from_json()` (@ref adl_serializer by default) + +@requirement The class satisfies the following concept requirements: +- Basic + - [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible): + JSON values can be default constructed. The result will be a JSON null + value. + - [MoveConstructible](https://en.cppreference.com/w/cpp/named_req/MoveConstructible): + A JSON value can be constructed from an rvalue argument. + - [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible): + A JSON value can be copy-constructed from an lvalue expression. + - [MoveAssignable](https://en.cppreference.com/w/cpp/named_req/MoveAssignable): + A JSON value van be assigned from an rvalue argument. + - [CopyAssignable](https://en.cppreference.com/w/cpp/named_req/CopyAssignable): + A JSON value can be copy-assigned from an lvalue expression. + - [Destructible](https://en.cppreference.com/w/cpp/named_req/Destructible): + JSON values can be destructed. +- Layout + - [StandardLayoutType](https://en.cppreference.com/w/cpp/named_req/StandardLayoutType): + JSON values have + [standard layout](https://en.cppreference.com/w/cpp/language/data_members#Standard_layout): + All non-static data members are private and standard layout types, the + class has no virtual functions or (virtual) base classes. +- Library-wide + - [EqualityComparable](https://en.cppreference.com/w/cpp/named_req/EqualityComparable): + JSON values can be compared with `==`, see @ref + operator==(const_reference,const_reference). + - [LessThanComparable](https://en.cppreference.com/w/cpp/named_req/LessThanComparable): + JSON values can be compared with `<`, see @ref + operator<(const_reference,const_reference). + - [Swappable](https://en.cppreference.com/w/cpp/named_req/Swappable): + Any JSON lvalue or rvalue of can be swapped with any lvalue or rvalue of + other compatible types, using unqualified function call @ref swap(). + - [NullablePointer](https://en.cppreference.com/w/cpp/named_req/NullablePointer): + JSON values can be compared against `std::nullptr_t` objects which are used + to model the `null` value. +- Container + - [Container](https://en.cppreference.com/w/cpp/named_req/Container): + JSON values can be used like STL containers and provide iterator access. + - [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer); + JSON values can be used like STL containers and provide reverse iterator + access. + +@invariant The member variables @a m_value and @a m_type have the following +relationship: +- If `m_type == value_t::object`, then `m_value.object != nullptr`. +- If `m_type == value_t::array`, then `m_value.array != nullptr`. +- If `m_type == value_t::string`, then `m_value.string != nullptr`. +The invariants are checked by member function assert_invariant(). + +@internal +@note ObjectType trick from https://stackoverflow.com/a/9860911 +@endinternal + +@see [RFC 8259: The JavaScript Object Notation (JSON) Data Interchange +Format](https://tools.ietf.org/html/rfc8259) + +@since version 1.0.0 + +@nosubgrouping +*/ +NLOHMANN_BASIC_JSON_TPL_DECLARATION +class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions) +{ + private: + template friend struct detail::external_constructor; + friend ::nlohmann::json_pointer; + + template + friend class ::nlohmann::detail::parser; + friend ::nlohmann::detail::serializer; + template + friend class ::nlohmann::detail::iter_impl; + template + friend class ::nlohmann::detail::binary_writer; + template + friend class ::nlohmann::detail::binary_reader; + template + friend class ::nlohmann::detail::json_sax_dom_parser; + template + friend class ::nlohmann::detail::json_sax_dom_callback_parser; + friend class ::nlohmann::detail::exception; + + /// workaround type for MSVC + using basic_json_t = NLOHMANN_BASIC_JSON_TPL; + + JSON_PRIVATE_UNLESS_TESTED: + // convenience aliases for types residing in namespace detail; + using lexer = ::nlohmann::detail::lexer_base; + + template + static ::nlohmann::detail::parser parser( + InputAdapterType adapter, + detail::parser_callback_tcb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false + ) + { + return ::nlohmann::detail::parser(std::move(adapter), + std::move(cb), allow_exceptions, ignore_comments); + } + + private: + using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t; + template + using internal_iterator = ::nlohmann::detail::internal_iterator; + template + using iter_impl = ::nlohmann::detail::iter_impl; + template + using iteration_proxy = ::nlohmann::detail::iteration_proxy; + template using json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator; + + template + using output_adapter_t = ::nlohmann::detail::output_adapter_t; + + template + using binary_reader = ::nlohmann::detail::binary_reader; + template using binary_writer = ::nlohmann::detail::binary_writer; + + JSON_PRIVATE_UNLESS_TESTED: + using serializer = ::nlohmann::detail::serializer; + + public: + using value_t = detail::value_t; + /// JSON Pointer, see @ref nlohmann::json_pointer + using json_pointer = ::nlohmann::json_pointer; + template + using json_serializer = JSONSerializer; + /// how to treat decoding errors + using error_handler_t = detail::error_handler_t; + /// how to treat CBOR tags + using cbor_tag_handler_t = detail::cbor_tag_handler_t; + /// helper type for initializer lists of basic_json values + using initializer_list_t = std::initializer_list>; + + using input_format_t = detail::input_format_t; + /// SAX interface type, see @ref nlohmann::json_sax + using json_sax_t = json_sax; + + //////////////// + // exceptions // + //////////////// + + /// @name exceptions + /// Classes to implement user-defined exceptions. + /// @{ + + /// @copydoc detail::exception + using exception = detail::exception; + /// @copydoc detail::parse_error + using parse_error = detail::parse_error; + /// @copydoc detail::invalid_iterator + using invalid_iterator = detail::invalid_iterator; + /// @copydoc detail::type_error + using type_error = detail::type_error; + /// @copydoc detail::out_of_range + using out_of_range = detail::out_of_range; + /// @copydoc detail::other_error + using other_error = detail::other_error; + + /// @} + + + ///////////////////// + // container types // + ///////////////////// + + /// @name container types + /// The canonic container types to use @ref basic_json like any other STL + /// container. + /// @{ + + /// the type of elements in a basic_json container + using value_type = basic_json; + + /// the type of an element reference + using reference = value_type&; + /// the type of an element const reference + using const_reference = const value_type&; + + /// a type to represent differences between iterators + using difference_type = std::ptrdiff_t; + /// a type to represent container sizes + using size_type = std::size_t; + + /// the allocator type + using allocator_type = AllocatorType; + + /// the type of an element pointer + using pointer = typename std::allocator_traits::pointer; + /// the type of an element const pointer + using const_pointer = typename std::allocator_traits::const_pointer; + + /// an iterator for a basic_json container + using iterator = iter_impl; + /// a const iterator for a basic_json container + using const_iterator = iter_impl; + /// a reverse iterator for a basic_json container + using reverse_iterator = json_reverse_iterator; + /// a const reverse iterator for a basic_json container + using const_reverse_iterator = json_reverse_iterator; + + /// @} + + + /*! + @brief returns the allocator associated with the container + */ + static allocator_type get_allocator() + { + return allocator_type(); + } + + /*! + @brief returns version information on the library + + This function returns a JSON object with information about the library, + including the version number and information on the platform and compiler. + + @return JSON object holding version information + key | description + ----------- | --------------- + `compiler` | Information on the used compiler. It is an object with the following keys: `c++` (the used C++ standard), `family` (the compiler family; possible values are `clang`, `icc`, `gcc`, `ilecpp`, `msvc`, `pgcpp`, `sunpro`, and `unknown`), and `version` (the compiler version). + `copyright` | The copyright line for the library as string. + `name` | The name of the library as string. + `platform` | The used platform as string. Possible values are `win32`, `linux`, `apple`, `unix`, and `unknown`. + `url` | The URL of the project as string. + `version` | The version of the library. It is an object with the following keys: `major`, `minor`, and `patch` as defined by [Semantic Versioning](http://semver.org), and `string` (the version string). + + @liveexample{The following code shows an example output of the `meta()` + function.,meta} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @complexity Constant. + + @since 2.1.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json meta() + { + basic_json result; + + result["copyright"] = "(C) 2013-2021 Niels Lohmann"; + result["name"] = "JSON for Modern C++"; + result["url"] = "https://github.com/nlohmann/json"; + result["version"]["string"] = + std::to_string(NLOHMANN_JSON_VERSION_MAJOR) + "." + + std::to_string(NLOHMANN_JSON_VERSION_MINOR) + "." + + std::to_string(NLOHMANN_JSON_VERSION_PATCH); + result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR; + result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR; + result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH; + +#ifdef _WIN32 + result["platform"] = "win32"; +#elif defined __linux__ + result["platform"] = "linux"; +#elif defined __APPLE__ + result["platform"] = "apple"; +#elif defined __unix__ + result["platform"] = "unix"; +#else + result["platform"] = "unknown"; +#endif + +#if defined(__ICC) || defined(__INTEL_COMPILER) + result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}}; +#elif defined(__clang__) + result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}}; +#elif defined(__GNUC__) || defined(__GNUG__) + result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}}; +#elif defined(__HP_cc) || defined(__HP_aCC) + result["compiler"] = "hp" +#elif defined(__IBMCPP__) + result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}}; +#elif defined(_MSC_VER) + result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}}; +#elif defined(__PGI) + result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}}; +#elif defined(__SUNPRO_CC) + result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}}; +#else + result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}}; +#endif + +#ifdef __cplusplus + result["compiler"]["c++"] = std::to_string(__cplusplus); +#else + result["compiler"]["c++"] = "unknown"; +#endif + return result; + } + + + /////////////////////////// + // JSON value data types // + /////////////////////////// + + /// @name JSON value data types + /// The data types to store a JSON value. These types are derived from + /// the template arguments passed to class @ref basic_json. + /// @{ + +#if defined(JSON_HAS_CPP_14) + // Use transparent comparator if possible, combined with perfect forwarding + // on find() and count() calls prevents unnecessary string construction. + using object_comparator_t = std::less<>; +#else + using object_comparator_t = std::less; +#endif + + /*! + @brief a type for an object + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes JSON objects as follows: + > An object is an unordered collection of zero or more name/value pairs, + > where a name is a string and a value is a string, number, boolean, null, + > object, or array. + + To store objects in C++, a type is defined by the template parameters + described below. + + @tparam ObjectType the container to store objects (e.g., `std::map` or + `std::unordered_map`) + @tparam StringType the type of the keys or names (e.g., `std::string`). + The comparison function `std::less` is used to order elements + inside the container. + @tparam AllocatorType the allocator to use for objects (e.g., + `std::allocator`) + + #### Default type + + With the default values for @a ObjectType (`std::map`), @a StringType + (`std::string`), and @a AllocatorType (`std::allocator`), the default + value for @a object_t is: + + @code {.cpp} + std::map< + std::string, // key_type + basic_json, // value_type + std::less, // key_compare + std::allocator> // allocator_type + > + @endcode + + #### Behavior + + The choice of @a object_t influences the behavior of the JSON class. With + the default type, objects have the following behavior: + + - When all names are unique, objects will be interoperable in the sense + that all software implementations receiving that object will agree on + the name-value mappings. + - When the names within an object are not unique, it is unspecified which + one of the values for a given key will be chosen. For instance, + `{"key": 2, "key": 1}` could be equal to either `{"key": 1}` or + `{"key": 2}`. + - Internally, name/value pairs are stored in lexicographical order of the + names. Objects will also be serialized (see @ref dump) in this order. + For instance, `{"b": 1, "a": 2}` and `{"a": 2, "b": 1}` will be stored + and serialized as `{"a": 2, "b": 1}`. + - When comparing objects, the order of the name/value pairs is irrelevant. + This makes objects interoperable in the sense that they will not be + affected by these differences. For instance, `{"b": 1, "a": 2}` and + `{"a": 2, "b": 1}` will be treated as equal. + + #### Limits + + [RFC 8259](https://tools.ietf.org/html/rfc8259) specifies: + > An implementation may set limits on the maximum depth of nesting. + + In this class, the object's limit of nesting is not explicitly constrained. + However, a maximum depth of nesting may be introduced by the compiler or + runtime environment. A theoretical limit can be queried by calling the + @ref max_size function of a JSON object. + + #### Storage + + Objects are stored as pointers in a @ref basic_json type. That is, for any + access to object values, a pointer of type `object_t*` must be + dereferenced. + + @sa see @ref array_t -- type for an array value + + @since version 1.0.0 + + @note The order name/value pairs are added to the object is *not* + preserved by the library. Therefore, iterating an object may return + name/value pairs in a different order than they were originally stored. In + fact, keys will be traversed in alphabetical order as `std::map` with + `std::less` is used by default. Please note this behavior conforms to [RFC + 8259](https://tools.ietf.org/html/rfc8259), because any order implements the + specified "unordered" nature of JSON objects. + */ + using object_t = ObjectType>>; + + /*! + @brief a type for an array + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes JSON arrays as follows: + > An array is an ordered sequence of zero or more values. + + To store objects in C++, a type is defined by the template parameters + explained below. + + @tparam ArrayType container type to store arrays (e.g., `std::vector` or + `std::list`) + @tparam AllocatorType allocator to use for arrays (e.g., `std::allocator`) + + #### Default type + + With the default values for @a ArrayType (`std::vector`) and @a + AllocatorType (`std::allocator`), the default value for @a array_t is: + + @code {.cpp} + std::vector< + basic_json, // value_type + std::allocator // allocator_type + > + @endcode + + #### Limits + + [RFC 8259](https://tools.ietf.org/html/rfc8259) specifies: + > An implementation may set limits on the maximum depth of nesting. + + In this class, the array's limit of nesting is not explicitly constrained. + However, a maximum depth of nesting may be introduced by the compiler or + runtime environment. A theoretical limit can be queried by calling the + @ref max_size function of a JSON array. + + #### Storage + + Arrays are stored as pointers in a @ref basic_json type. That is, for any + access to array values, a pointer of type `array_t*` must be dereferenced. + + @sa see @ref object_t -- type for an object value + + @since version 1.0.0 + */ + using array_t = ArrayType>; + + /*! + @brief a type for a string + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes JSON strings as follows: + > A string is a sequence of zero or more Unicode characters. + + To store objects in C++, a type is defined by the template parameter + described below. Unicode values are split by the JSON class into + byte-sized characters during deserialization. + + @tparam StringType the container to store strings (e.g., `std::string`). + Note this container is used for keys/names in objects, see @ref object_t. + + #### Default type + + With the default values for @a StringType (`std::string`), the default + value for @a string_t is: + + @code {.cpp} + std::string + @endcode + + #### Encoding + + Strings are stored in UTF-8 encoding. Therefore, functions like + `std::string::size()` or `std::string::length()` return the number of + bytes in the string rather than the number of characters or glyphs. + + #### String comparison + + [RFC 8259](https://tools.ietf.org/html/rfc8259) states: + > Software implementations are typically required to test names of object + > members for equality. Implementations that transform the textual + > representation into sequences of Unicode code units and then perform the + > comparison numerically, code unit by code unit, are interoperable in the + > sense that implementations will agree in all cases on equality or + > inequality of two strings. For example, implementations that compare + > strings with escaped characters unconverted may incorrectly find that + > `"a\\b"` and `"a\u005Cb"` are not equal. + + This implementation is interoperable as it does compare strings code unit + by code unit. + + #### Storage + + String values are stored as pointers in a @ref basic_json type. That is, + for any access to string values, a pointer of type `string_t*` must be + dereferenced. + + @since version 1.0.0 + */ + using string_t = StringType; + + /*! + @brief a type for a boolean + + [RFC 8259](https://tools.ietf.org/html/rfc8259) implicitly describes a boolean as a + type which differentiates the two literals `true` and `false`. + + To store objects in C++, a type is defined by the template parameter @a + BooleanType which chooses the type to use. + + #### Default type + + With the default values for @a BooleanType (`bool`), the default value for + @a boolean_t is: + + @code {.cpp} + bool + @endcode + + #### Storage + + Boolean values are stored directly inside a @ref basic_json type. + + @since version 1.0.0 + */ + using boolean_t = BooleanType; + + /*! + @brief a type for a number (integer) + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store integer numbers in C++, a type is defined by the template + parameter @a NumberIntegerType which chooses the type to use. + + #### Default type + + With the default values for @a NumberIntegerType (`int64_t`), the default + value for @a number_integer_t is: + + @code {.cpp} + int64_t + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in integer literals lead to an interpretation as octal + number. Internally, the value will be stored as decimal number. For + instance, the C++ integer literal `010` will be serialized to `8`. + During deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 8259](https://tools.ietf.org/html/rfc8259) specifies: + > An implementation may set limits on the range and precision of numbers. + + When the default type is used, the maximal integer number that can be + stored is `9223372036854775807` (INT64_MAX) and the minimal integer number + that can be stored is `-9223372036854775808` (INT64_MIN). Integer numbers + that are out of range will yield over/underflow when used in a + constructor. During deserialization, too large or small integer numbers + will be automatically be stored as @ref number_unsigned_t or @ref + number_float_t. + + [RFC 8259](https://tools.ietf.org/html/rfc8259) further states: + > Note that when such software is used, numbers that are integers and are + > in the range \f$[-2^{53}+1, 2^{53}-1]\f$ are interoperable in the sense + > that implementations will agree exactly on their numeric values. + + As this range is a subrange of the exactly supported range [INT64_MIN, + INT64_MAX], this class's integer type is interoperable. + + #### Storage + + Integer number values are stored directly inside a @ref basic_json type. + + @sa see @ref number_float_t -- type for number values (floating-point) + + @sa see @ref number_unsigned_t -- type for number values (unsigned integer) + + @since version 1.0.0 + */ + using number_integer_t = NumberIntegerType; + + /*! + @brief a type for a number (unsigned) + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store unsigned integer numbers in C++, a type is defined by the + template parameter @a NumberUnsignedType which chooses the type to use. + + #### Default type + + With the default values for @a NumberUnsignedType (`uint64_t`), the + default value for @a number_unsigned_t is: + + @code {.cpp} + uint64_t + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in integer literals lead to an interpretation as octal + number. Internally, the value will be stored as decimal number. For + instance, the C++ integer literal `010` will be serialized to `8`. + During deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 8259](https://tools.ietf.org/html/rfc8259) specifies: + > An implementation may set limits on the range and precision of numbers. + + When the default type is used, the maximal integer number that can be + stored is `18446744073709551615` (UINT64_MAX) and the minimal integer + number that can be stored is `0`. Integer numbers that are out of range + will yield over/underflow when used in a constructor. During + deserialization, too large or small integer numbers will be automatically + be stored as @ref number_integer_t or @ref number_float_t. + + [RFC 8259](https://tools.ietf.org/html/rfc8259) further states: + > Note that when such software is used, numbers that are integers and are + > in the range \f$[-2^{53}+1, 2^{53}-1]\f$ are interoperable in the sense + > that implementations will agree exactly on their numeric values. + + As this range is a subrange (when considered in conjunction with the + number_integer_t type) of the exactly supported range [0, UINT64_MAX], + this class's integer type is interoperable. + + #### Storage + + Integer number values are stored directly inside a @ref basic_json type. + + @sa see @ref number_float_t -- type for number values (floating-point) + @sa see @ref number_integer_t -- type for number values (integer) + + @since version 2.0.0 + */ + using number_unsigned_t = NumberUnsignedType; + + /*! + @brief a type for a number (floating-point) + + [RFC 8259](https://tools.ietf.org/html/rfc8259) describes numbers as follows: + > The representation of numbers is similar to that used in most + > programming languages. A number is represented in base 10 using decimal + > digits. It contains an integer component that may be prefixed with an + > optional minus sign, which may be followed by a fraction part and/or an + > exponent part. Leading zeros are not allowed. (...) Numeric values that + > cannot be represented in the grammar below (such as Infinity and NaN) + > are not permitted. + + This description includes both integer and floating-point numbers. + However, C++ allows more precise storage if it is known whether the number + is a signed integer, an unsigned integer or a floating-point number. + Therefore, three different types, @ref number_integer_t, @ref + number_unsigned_t and @ref number_float_t are used. + + To store floating-point numbers in C++, a type is defined by the template + parameter @a NumberFloatType which chooses the type to use. + + #### Default type + + With the default values for @a NumberFloatType (`double`), the default + value for @a number_float_t is: + + @code {.cpp} + double + @endcode + + #### Default behavior + + - The restrictions about leading zeros is not enforced in C++. Instead, + leading zeros in floating-point literals will be ignored. Internally, + the value will be stored as decimal number. For instance, the C++ + floating-point literal `01.2` will be serialized to `1.2`. During + deserialization, leading zeros yield an error. + - Not-a-number (NaN) values will be serialized to `null`. + + #### Limits + + [RFC 8259](https://tools.ietf.org/html/rfc8259) states: + > This specification allows implementations to set limits on the range and + > precision of numbers accepted. Since software that implements IEEE + > 754-2008 binary64 (double precision) numbers is generally available and + > widely used, good interoperability can be achieved by implementations + > that expect no more precision or range than these provide, in the sense + > that implementations will approximate JSON numbers within the expected + > precision. + + This implementation does exactly follow this approach, as it uses double + precision floating-point numbers. Note values smaller than + `-1.79769313486232e+308` and values greater than `1.79769313486232e+308` + will be stored as NaN internally and be serialized to `null`. + + #### Storage + + Floating-point number values are stored directly inside a @ref basic_json + type. + + @sa see @ref number_integer_t -- type for number values (integer) + + @sa see @ref number_unsigned_t -- type for number values (unsigned integer) + + @since version 1.0.0 + */ + using number_float_t = NumberFloatType; + + /*! + @brief a type for a packed binary type + + This type is a type designed to carry binary data that appears in various + serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and + BSON's generic binary subtype. This type is NOT a part of standard JSON and + exists solely for compatibility with these binary types. As such, it is + simply defined as an ordered sequence of zero or more byte values. + + Additionally, as an implementation detail, the subtype of the binary data is + carried around as a `std::uint8_t`, which is compatible with both of the + binary data formats that use binary subtyping, (though the specific + numbering is incompatible with each other, and it is up to the user to + translate between them). + + [CBOR's RFC 7049](https://tools.ietf.org/html/rfc7049) describes this type + as: + > Major type 2: a byte string. The string's length in bytes is represented + > following the rules for positive integers (major type 0). + + [MessagePack's documentation on the bin type + family](https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family) + describes this type as: + > Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes + > in addition to the size of the byte array. + + [BSON's specifications](http://bsonspec.org/spec.html) describe several + binary types; however, this type is intended to represent the generic binary + type which has the description: + > Generic binary subtype - This is the most commonly used binary subtype and + > should be the 'default' for drivers and tools. + + None of these impose any limitations on the internal representation other + than the basic unit of storage be some type of array whose parts are + decomposable into bytes. + + The default representation of this binary format is a + `std::vector`, which is a very common way to represent a byte + array in modern C++. + + #### Default type + + The default values for @a BinaryType is `std::vector` + + #### Storage + + Binary Arrays are stored as pointers in a @ref basic_json type. That is, + for any access to array values, a pointer of the type `binary_t*` must be + dereferenced. + + #### Notes on subtypes + + - CBOR + - Binary values are represented as byte strings. Subtypes are serialized + as tagged values. + - MessagePack + - If a subtype is given and the binary array contains exactly 1, 2, 4, 8, + or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) + is used. For other sizes, the ext family (ext8, ext16, ext32) is used. + The subtype is then added as singed 8-bit integer. + - If no subtype is given, the bin family (bin8, bin16, bin32) is used. + - BSON + - If a subtype is given, it is used and added as unsigned 8-bit integer. + - If no subtype is given, the generic binary subtype 0x00 is used. + + @sa see @ref binary -- create a binary array + + @since version 3.8.0 + */ + using binary_t = nlohmann::byte_container_with_subtype; + /// @} + + private: + + /// helper for exception-safe object creation + template + JSON_HEDLEY_RETURNS_NON_NULL + static T* create(Args&& ... args) + { + AllocatorType alloc; + using AllocatorTraits = std::allocator_traits>; + + auto deleter = [&](T * obj) + { + AllocatorTraits::deallocate(alloc, obj, 1); + }; + std::unique_ptr obj(AllocatorTraits::allocate(alloc, 1), deleter); + AllocatorTraits::construct(alloc, obj.get(), std::forward(args)...); + JSON_ASSERT(obj != nullptr); + return obj.release(); + } + + //////////////////////// + // JSON value storage // + //////////////////////// + + JSON_PRIVATE_UNLESS_TESTED: + /*! + @brief a JSON value + + The actual storage for a JSON value of the @ref basic_json class. This + union combines the different storage types for the JSON value types + defined in @ref value_t. + + JSON type | value_t type | used type + --------- | --------------- | ------------------------ + object | object | pointer to @ref object_t + array | array | pointer to @ref array_t + string | string | pointer to @ref string_t + boolean | boolean | @ref boolean_t + number | number_integer | @ref number_integer_t + number | number_unsigned | @ref number_unsigned_t + number | number_float | @ref number_float_t + binary | binary | pointer to @ref binary_t + null | null | *no value is stored* + + @note Variable-length types (objects, arrays, and strings) are stored as + pointers. The size of the union should not exceed 64 bits if the default + value types are used. + + @since version 1.0.0 + */ + union json_value + { + /// object (stored with pointer to save storage) + object_t* object; + /// array (stored with pointer to save storage) + array_t* array; + /// string (stored with pointer to save storage) + string_t* string; + /// binary (stored with pointer to save storage) + binary_t* binary; + /// boolean + boolean_t boolean; + /// number (integer) + number_integer_t number_integer; + /// number (unsigned integer) + number_unsigned_t number_unsigned; + /// number (floating-point) + number_float_t number_float; + + /// default constructor (for null values) + json_value() = default; + /// constructor for booleans + json_value(boolean_t v) noexcept : boolean(v) {} + /// constructor for numbers (integer) + json_value(number_integer_t v) noexcept : number_integer(v) {} + /// constructor for numbers (unsigned) + json_value(number_unsigned_t v) noexcept : number_unsigned(v) {} + /// constructor for numbers (floating-point) + json_value(number_float_t v) noexcept : number_float(v) {} + /// constructor for empty values of a given type + json_value(value_t t) + { + switch (t) + { + case value_t::object: + { + object = create(); + break; + } + + case value_t::array: + { + array = create(); + break; + } + + case value_t::string: + { + string = create(""); + break; + } + + case value_t::binary: + { + binary = create(); + break; + } + + case value_t::boolean: + { + boolean = boolean_t(false); + break; + } + + case value_t::number_integer: + { + number_integer = number_integer_t(0); + break; + } + + case value_t::number_unsigned: + { + number_unsigned = number_unsigned_t(0); + break; + } + + case value_t::number_float: + { + number_float = number_float_t(0.0); + break; + } + + case value_t::null: + { + object = nullptr; // silence warning, see #821 + break; + } + + case value_t::discarded: + default: + { + object = nullptr; // silence warning, see #821 + if (JSON_HEDLEY_UNLIKELY(t == value_t::null)) + { + JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.10.4", basic_json())); // LCOV_EXCL_LINE + } + break; + } + } + } + + /// constructor for strings + json_value(const string_t& value) + { + string = create(value); + } + + /// constructor for rvalue strings + json_value(string_t&& value) + { + string = create(std::move(value)); + } + + /// constructor for objects + json_value(const object_t& value) + { + object = create(value); + } + + /// constructor for rvalue objects + json_value(object_t&& value) + { + object = create(std::move(value)); + } + + /// constructor for arrays + json_value(const array_t& value) + { + array = create(value); + } + + /// constructor for rvalue arrays + json_value(array_t&& value) + { + array = create(std::move(value)); + } + + /// constructor for binary arrays + json_value(const typename binary_t::container_type& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays + json_value(typename binary_t::container_type&& value) + { + binary = create(std::move(value)); + } + + /// constructor for binary arrays (internal type) + json_value(const binary_t& value) + { + binary = create(value); + } + + /// constructor for rvalue binary arrays (internal type) + json_value(binary_t&& value) + { + binary = create(std::move(value)); + } + + void destroy(value_t t) + { + if (t == value_t::array || t == value_t::object) + { + // flatten the current json_value to a heap-allocated stack + std::vector stack; + + // move the top-level items to stack + if (t == value_t::array) + { + stack.reserve(array->size()); + std::move(array->begin(), array->end(), std::back_inserter(stack)); + } + else + { + stack.reserve(object->size()); + for (auto&& it : *object) + { + stack.push_back(std::move(it.second)); + } + } + + while (!stack.empty()) + { + // move the last item to local variable to be processed + basic_json current_item(std::move(stack.back())); + stack.pop_back(); + + // if current_item is array/object, move + // its children to the stack to be processed later + if (current_item.is_array()) + { + std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(), std::back_inserter(stack)); + + current_item.m_value.array->clear(); + } + else if (current_item.is_object()) + { + for (auto&& it : *current_item.m_value.object) + { + stack.push_back(std::move(it.second)); + } + + current_item.m_value.object->clear(); + } + + // it's now safe that current_item get destructed + // since it doesn't have any children + } + } + + switch (t) + { + case value_t::object: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, object); + std::allocator_traits::deallocate(alloc, object, 1); + break; + } + + case value_t::array: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, array); + std::allocator_traits::deallocate(alloc, array, 1); + break; + } + + case value_t::string: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, string); + std::allocator_traits::deallocate(alloc, string, 1); + break; + } + + case value_t::binary: + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, binary); + std::allocator_traits::deallocate(alloc, binary, 1); + break; + } + + case value_t::null: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::discarded: + default: + { + break; + } + } + } + }; + + private: + /*! + @brief checks the class invariants + + This function asserts the class invariants. It needs to be called at the + end of every constructor to make sure that created objects respect the + invariant. Furthermore, it has to be called each time the type of a JSON + value is changed, because the invariant expresses a relationship between + @a m_type and @a m_value. + + Furthermore, the parent relation is checked for arrays and objects: If + @a check_parents true and the value is an array or object, then the + container's elements must have the current value as parent. + + @param[in] check_parents whether the parent relation should be checked. + The value is true by default and should only be set to false + during destruction of objects when the invariant does not + need to hold. + */ + void assert_invariant(bool check_parents = true) const noexcept + { + JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr); + JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr); + JSON_ASSERT(m_type != value_t::string || m_value.string != nullptr); + JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr); + +#if JSON_DIAGNOSTICS + JSON_TRY + { + // cppcheck-suppress assertWithSideEffect + JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j) + { + return j.m_parent == this; + })); + } + JSON_CATCH(...) {} // LCOV_EXCL_LINE +#endif + static_cast(check_parents); + } + + void set_parents() + { +#if JSON_DIAGNOSTICS + switch (m_type) + { + case value_t::array: + { + for (auto& element : *m_value.array) + { + element.m_parent = this; + } + break; + } + + case value_t::object: + { + for (auto& element : *m_value.object) + { + element.second.m_parent = this; + } + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + break; + } +#endif + } + + iterator set_parents(iterator it, typename iterator::difference_type count) + { +#if JSON_DIAGNOSTICS + for (typename iterator::difference_type i = 0; i < count; ++i) + { + (it + i)->m_parent = this; + } +#else + static_cast(count); +#endif + return it; + } + + reference set_parent(reference j, std::size_t old_capacity = std::size_t(-1)) + { +#if JSON_DIAGNOSTICS + if (old_capacity != std::size_t(-1)) + { + // see https://github.com/nlohmann/json/issues/2838 + JSON_ASSERT(type() == value_t::array); + if (JSON_HEDLEY_UNLIKELY(m_value.array->capacity() != old_capacity)) + { + // capacity has changed: update all parents + set_parents(); + return j; + } + } + + // ordered_json uses a vector internally, so pointers could have + // been invalidated; see https://github.com/nlohmann/json/issues/2962 +#ifdef JSON_HEDLEY_MSVC_VERSION +#pragma warning(push ) +#pragma warning(disable : 4127) // ignore warning to replace if with if constexpr +#endif + if (detail::is_ordered_map::value) + { + set_parents(); + return j; + } +#ifdef JSON_HEDLEY_MSVC_VERSION +#pragma warning( pop ) +#endif + + j.m_parent = this; +#else + static_cast(j); + static_cast(old_capacity); +#endif + return j; + } + + public: + ////////////////////////// + // JSON parser callback // + ////////////////////////// + + /*! + @brief parser event types + + The parser callback distinguishes the following events: + - `object_start`: the parser read `{` and started to process a JSON object + - `key`: the parser read a key of a value in an object + - `object_end`: the parser read `}` and finished processing a JSON object + - `array_start`: the parser read `[` and started to process a JSON array + - `array_end`: the parser read `]` and finished processing a JSON array + - `value`: the parser finished reading a JSON value + + @image html callback_events.png "Example when certain parse events are triggered" + + @sa see @ref parser_callback_t for more information and examples + */ + using parse_event_t = detail::parse_event_t; + + /*! + @brief per-element parser callback type + + With a parser callback function, the result of parsing a JSON text can be + influenced. When passed to @ref parse, it is called on certain events + (passed as @ref parse_event_t via parameter @a event) with a set recursion + depth @a depth and context JSON value @a parsed. The return value of the + callback function is a boolean indicating whether the element that emitted + the callback shall be kept or not. + + We distinguish six scenarios (determined by the event type) in which the + callback function can be called. The following table describes the values + of the parameters @a depth, @a event, and @a parsed. + + parameter @a event | description | parameter @a depth | parameter @a parsed + ------------------ | ----------- | ------------------ | ------------------- + parse_event_t::object_start | the parser read `{` and started to process a JSON object | depth of the parent of the JSON object | a JSON value with type discarded + parse_event_t::key | the parser read a key of a value in an object | depth of the currently parsed JSON object | a JSON string containing the key + parse_event_t::object_end | the parser read `}` and finished processing a JSON object | depth of the parent of the JSON object | the parsed JSON object + parse_event_t::array_start | the parser read `[` and started to process a JSON array | depth of the parent of the JSON array | a JSON value with type discarded + parse_event_t::array_end | the parser read `]` and finished processing a JSON array | depth of the parent of the JSON array | the parsed JSON array + parse_event_t::value | the parser finished reading a JSON value | depth of the value | the parsed JSON value + + @image html callback_events.png "Example when certain parse events are triggered" + + Discarding a value (i.e., returning `false`) has different effects + depending on the context in which function was called: + + - Discarded values in structured types are skipped. That is, the parser + will behave as if the discarded value was never read. + - In case a value outside a structured type is skipped, it is replaced + with `null`. This case happens if the top-level element is skipped. + + @param[in] depth the depth of the recursion during parsing + + @param[in] event an event of type parse_event_t indicating the context in + the callback function has been called + + @param[in,out] parsed the current intermediate parse result; note that + writing to this value has no effect for parse_event_t::key events + + @return Whether the JSON value which called the function during parsing + should be kept (`true`) or not (`false`). In the latter case, it is either + skipped completely or replaced by an empty discarded object. + + @sa see @ref parse for examples + + @since version 1.0.0 + */ + using parser_callback_t = detail::parser_callback_t; + + ////////////////// + // constructors // + ////////////////// + + /// @name constructors and destructors + /// Constructors of class @ref basic_json, copy/move constructor, copy + /// assignment, static functions creating objects, and the destructor. + /// @{ + + /*! + @brief create an empty value with a given type + + Create an empty JSON value with a given type. The value will be default + initialized with an empty value which depends on the type: + + Value type | initial value + ----------- | ------------- + null | `null` + boolean | `false` + string | `""` + number | `0` + object | `{}` + array | `[]` + binary | empty array + + @param[in] v the type of the value to create + + @complexity Constant. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows the constructor for different @ref + value_t values,basic_json__value_t} + + @sa see @ref clear() -- restores the postcondition of this constructor + + @since version 1.0.0 + */ + basic_json(const value_t v) + : m_type(v), m_value(v) + { + assert_invariant(); + } + + /*! + @brief create a null object + + Create a `null` JSON value. It either takes a null pointer as parameter + (explicitly creating `null`) or no parameter (implicitly creating `null`). + The passed null pointer itself is not read -- it is only used to choose + the right constructor. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this constructor never throws + exceptions. + + @liveexample{The following code shows the constructor with and without a + null pointer parameter.,basic_json__nullptr_t} + + @since version 1.0.0 + */ + basic_json(std::nullptr_t = nullptr) noexcept + : basic_json(value_t::null) + { + assert_invariant(); + } + + /*! + @brief create a JSON value + + This is a "catch all" constructor for all compatible JSON types; that is, + types for which a `to_json()` method exists. The constructor forwards the + parameter @a val to that method (to `json_serializer::to_json` method + with `U = uncvref_t`, to be exact). + + Template type @a CompatibleType includes, but is not limited to, the + following types: + - **arrays**: @ref array_t and all kinds of compatible containers such as + `std::vector`, `std::deque`, `std::list`, `std::forward_list`, + `std::array`, `std::valarray`, `std::set`, `std::unordered_set`, + `std::multiset`, and `std::unordered_multiset` with a `value_type` from + which a @ref basic_json value can be constructed. + - **objects**: @ref object_t and all kinds of compatible associative + containers such as `std::map`, `std::unordered_map`, `std::multimap`, + and `std::unordered_multimap` with a `key_type` compatible to + @ref string_t and a `value_type` from which a @ref basic_json value can + be constructed. + - **strings**: @ref string_t, string literals, and all compatible string + containers can be used. + - **numbers**: @ref number_integer_t, @ref number_unsigned_t, + @ref number_float_t, and all convertible number types such as `int`, + `size_t`, `int64_t`, `float` or `double` can be used. + - **boolean**: @ref boolean_t / `bool` can be used. + - **binary**: @ref binary_t / `std::vector` may be used, + unfortunately because string literals cannot be distinguished from binary + character arrays by the C++ type system, all types compatible with `const + char*` will be directed to the string constructor instead. This is both + for backwards compatibility, and due to the fact that a binary type is not + a standard JSON type. + + See the examples below. + + @tparam CompatibleType a type such that: + - @a CompatibleType is not derived from `std::istream`, + - @a CompatibleType is not @ref basic_json (to avoid hijacking copy/move + constructors), + - @a CompatibleType is not a different @ref basic_json type (i.e. with different template arguments) + - @a CompatibleType is not a @ref basic_json nested type (e.g., + @ref json_pointer, @ref iterator, etc ...) + - `json_serializer` has a `to_json(basic_json_t&, CompatibleType&&)` method + + @tparam U = `uncvref_t` + + @param[in] val the value to be forwarded to the respective constructor + + @complexity Usually linear in the size of the passed @a val, also + depending on the implementation of the called `to_json()` + method. + + @exceptionsafety Depends on the called constructor. For types directly + supported by the library (i.e., all types for which no `to_json()` function + was provided), strong guarantee holds: if an exception is thrown, there are + no changes to any JSON value. + + @liveexample{The following code shows the constructor with several + compatible types.,basic_json__CompatibleType} + + @since version 2.1.0 + */ + template < typename CompatibleType, + typename U = detail::uncvref_t, + detail::enable_if_t < + !detail::is_basic_json::value && detail::is_compatible_type::value, int > = 0 > + basic_json(CompatibleType && val) noexcept(noexcept( // NOLINT(bugprone-forwarding-reference-overload,bugprone-exception-escape) + JSONSerializer::to_json(std::declval(), + std::forward(val)))) + { + JSONSerializer::to_json(*this, std::forward(val)); + set_parents(); + assert_invariant(); + } + + /*! + @brief create a JSON value from an existing one + + This is a constructor for existing @ref basic_json types. + It does not hijack copy/move constructors, since the parameter has different + template arguments than the current ones. + + The constructor tries to convert the internal @ref m_value of the parameter. + + @tparam BasicJsonType a type such that: + - @a BasicJsonType is a @ref basic_json type. + - @a BasicJsonType has different template arguments than @ref basic_json_t. + + @param[in] val the @ref basic_json value to be converted. + + @complexity Usually linear in the size of the passed @a val, also + depending on the implementation of the called `to_json()` + method. + + @exceptionsafety Depends on the called constructor. For types directly + supported by the library (i.e., all types for which no `to_json()` function + was provided), strong guarantee holds: if an exception is thrown, there are + no changes to any JSON value. + + @since version 3.2.0 + */ + template < typename BasicJsonType, + detail::enable_if_t < + detail::is_basic_json::value&& !std::is_same::value, int > = 0 > + basic_json(const BasicJsonType& val) + { + using other_boolean_t = typename BasicJsonType::boolean_t; + using other_number_float_t = typename BasicJsonType::number_float_t; + using other_number_integer_t = typename BasicJsonType::number_integer_t; + using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t; + using other_string_t = typename BasicJsonType::string_t; + using other_object_t = typename BasicJsonType::object_t; + using other_array_t = typename BasicJsonType::array_t; + using other_binary_t = typename BasicJsonType::binary_t; + + switch (val.type()) + { + case value_t::boolean: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_float: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_integer: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::number_unsigned: + JSONSerializer::to_json(*this, val.template get()); + break; + case value_t::string: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::object: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::array: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::binary: + JSONSerializer::to_json(*this, val.template get_ref()); + break; + case value_t::null: + *this = nullptr; + break; + case value_t::discarded: + m_type = value_t::discarded; + break; + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + set_parents(); + assert_invariant(); + } + + /*! + @brief create a container (array or object) from an initializer list + + Creates a JSON value of type array or object from the passed initializer + list @a init. In case @a type_deduction is `true` (default), the type of + the JSON value to be created is deducted from the initializer list @a init + according to the following rules: + + 1. If the list is empty, an empty JSON object value `{}` is created. + 2. If the list consists of pairs whose first element is a string, a JSON + object value is created where the first elements of the pairs are + treated as keys and the second elements are as values. + 3. In all other cases, an array is created. + + The rules aim to create the best fit between a C++ initializer list and + JSON values. The rationale is as follows: + + 1. The empty initializer list is written as `{}` which is exactly an empty + JSON object. + 2. C++ has no way of describing mapped types other than to list a list of + pairs. As JSON requires that keys must be of type string, rule 2 is the + weakest constraint one can pose on initializer lists to interpret them + as an object. + 3. In all other cases, the initializer list could not be interpreted as + JSON object type, so interpreting it as JSON array type is safe. + + With the rules described above, the following JSON values cannot be + expressed by an initializer list: + + - the empty array (`[]`): use @ref array(initializer_list_t) + with an empty initializer list in this case + - arrays whose elements satisfy rule 2: use @ref + array(initializer_list_t) with the same initializer list + in this case + + @note When used without parentheses around an empty initializer list, @ref + basic_json() is called instead of this function, yielding the JSON null + value. + + @param[in] init initializer list with JSON values + + @param[in] type_deduction internal parameter; when set to `true`, the type + of the JSON value is deducted from the initializer list @a init; when set + to `false`, the type provided via @a manual_type is forced. This mode is + used by the functions @ref array(initializer_list_t) and + @ref object(initializer_list_t). + + @param[in] manual_type internal parameter; when @a type_deduction is set + to `false`, the created JSON value will use the provided type (only @ref + value_t::array and @ref value_t::object are valid); when @a type_deduction + is set to `true`, this parameter has no effect + + @throw type_error.301 if @a type_deduction is `false`, @a manual_type is + `value_t::object`, but @a init contains an element which is not a pair + whose first element is a string. In this case, the constructor could not + create an object. If @a type_deduction would have be `true`, an array + would have been created. See @ref object(initializer_list_t) + for an example. + + @complexity Linear in the size of the initializer list @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The example below shows how JSON values are created from + initializer lists.,basic_json__list_init_t} + + @sa see @ref array(initializer_list_t) -- create a JSON array + value from an initializer list + @sa see @ref object(initializer_list_t) -- create a JSON object + value from an initializer list + + @since version 1.0.0 + */ + basic_json(initializer_list_t init, + bool type_deduction = true, + value_t manual_type = value_t::array) + { + // check if each element is an array with two elements whose first + // element is a string + bool is_an_object = std::all_of(init.begin(), init.end(), + [](const detail::json_ref& element_ref) + { + return element_ref->is_array() && element_ref->size() == 2 && (*element_ref)[0].is_string(); + }); + + // adjust type if type deduction is not wanted + if (!type_deduction) + { + // if array is wanted, do not create an object though possible + if (manual_type == value_t::array) + { + is_an_object = false; + } + + // if object is wanted but impossible, throw an exception + if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object && !is_an_object)) + { + JSON_THROW(type_error::create(301, "cannot create object from initializer list", basic_json())); + } + } + + if (is_an_object) + { + // the initializer list is a list of pairs -> create object + m_type = value_t::object; + m_value = value_t::object; + + for (auto& element_ref : init) + { + auto element = element_ref.moved_or_copied(); + m_value.object->emplace( + std::move(*((*element.m_value.array)[0].m_value.string)), + std::move((*element.m_value.array)[1])); + } + } + else + { + // the initializer list describes an array -> create array + m_type = value_t::array; + m_value.array = create(init.begin(), init.end()); + } + + set_parents(); + assert_invariant(); + } + + /*! + @brief explicitly create a binary array (without subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = init; + return res; + } + + /*! + @brief explicitly create a binary array (with subtype) + + Creates a JSON binary array value from a given binary container. Binary + values are part of various binary formats, such as CBOR, MessagePack, and + BSON. This constructor is used to create a value for serialization to those + formats. + + @note Note, this function exists because of the difficulty in correctly + specifying the correct template overload in the standard value ctor, as both + JSON arrays and JSON binary arrays are backed with some form of a + `std::vector`. Because JSON binary arrays are a non-standard extension it + was decided that it would be best to prevent automatic initialization of a + binary array type, for backwards compatibility and so it does not happen on + accident. + + @param[in] init container containing bytes to use as binary type + @param[in] subtype subtype to use in MessagePack and BSON + + @return JSON binary array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @since version 3.8.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(const typename binary_t::container_type& init, typename binary_t::subtype_type subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(init, subtype); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = std::move(init); + return res; + } + + /// @copydoc binary(const typename binary_t::container_type&, typename binary_t::subtype_type) + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json binary(typename binary_t::container_type&& init, typename binary_t::subtype_type subtype) + { + auto res = basic_json(); + res.m_type = value_t::binary; + res.m_value = binary_t(std::move(init), subtype); + return res; + } + + /*! + @brief explicitly create an array from an initializer list + + Creates a JSON array value from a given initializer list. That is, given a + list of values `a, b, c`, creates the JSON value `[a, b, c]`. If the + initializer list is empty, the empty array `[]` is created. + + @note This function is only needed to express two edge cases that cannot + be realized with the initializer list constructor (@ref + basic_json(initializer_list_t, bool, value_t)). These cases + are: + 1. creating an array whose elements are all pairs whose first element is a + string -- in this case, the initializer list constructor would create an + object, taking the first elements as keys + 2. creating an empty array -- passing the empty initializer list to the + initializer list constructor yields an empty object + + @param[in] init initializer list with JSON values to create an array from + (optional) + + @return JSON array value + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows an example for the `array` + function.,array} + + @sa see @ref basic_json(initializer_list_t, bool, value_t) -- + create a JSON value from an initializer list + @sa see @ref object(initializer_list_t) -- create a JSON object + value from an initializer list + + @since version 1.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json array(initializer_list_t init = {}) + { + return basic_json(init, false, value_t::array); + } + + /*! + @brief explicitly create an object from an initializer list + + Creates a JSON object value from a given initializer list. The initializer + lists elements must be pairs, and their first elements must be strings. If + the initializer list is empty, the empty object `{}` is created. + + @note This function is only added for symmetry reasons. In contrast to the + related function @ref array(initializer_list_t), there are + no cases which can only be expressed by this function. That is, any + initializer list @a init can also be passed to the initializer list + constructor @ref basic_json(initializer_list_t, bool, value_t). + + @param[in] init initializer list to create an object from (optional) + + @return JSON object value + + @throw type_error.301 if @a init is not a list of pairs whose first + elements are strings. In this case, no object can be created. When such a + value is passed to @ref basic_json(initializer_list_t, bool, value_t), + an array would have been created from the passed initializer list @a init. + See example below. + + @complexity Linear in the size of @a init. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows an example for the `object` + function.,object} + + @sa see @ref basic_json(initializer_list_t, bool, value_t) -- + create a JSON value from an initializer list + @sa see @ref array(initializer_list_t) -- create a JSON array + value from an initializer list + + @since version 1.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json object(initializer_list_t init = {}) + { + return basic_json(init, false, value_t::object); + } + + /*! + @brief construct an array with count copies of given value + + Constructs a JSON array value by creating @a cnt copies of a passed value. + In case @a cnt is `0`, an empty array is created. + + @param[in] cnt the number of JSON copies of @a val to create + @param[in] val the JSON value to copy + + @post `std::distance(begin(),end()) == cnt` holds. + + @complexity Linear in @a cnt. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The following code shows examples for the @ref + basic_json(size_type\, const basic_json&) + constructor.,basic_json__size_type_basic_json} + + @since version 1.0.0 + */ + basic_json(size_type cnt, const basic_json& val) + : m_type(value_t::array) + { + m_value.array = create(cnt, val); + set_parents(); + assert_invariant(); + } + + /*! + @brief construct a JSON container given an iterator range + + Constructs the JSON value with the contents of the range `[first, last)`. + The semantics depends on the different types a JSON value can have: + - In case of a null type, invalid_iterator.206 is thrown. + - In case of other primitive types (number, boolean, or string), @a first + must be `begin()` and @a last must be `end()`. In this case, the value is + copied. Otherwise, invalid_iterator.204 is thrown. + - In case of structured types (array, object), the constructor behaves as + similar versions for `std::vector` or `std::map`; that is, a JSON array + or object is constructed from the values in the range. + + @tparam InputIT an input iterator type (@ref iterator or @ref + const_iterator) + + @param[in] first begin of the range to copy from (included) + @param[in] last end of the range to copy from (excluded) + + @pre Iterators @a first and @a last must be initialized. **This + precondition is enforced with an assertion (see warning).** If + assertions are switched off, a violation of this precondition yields + undefined behavior. + + @pre Range `[first, last)` is valid. Usually, this precondition cannot be + checked efficiently. Only certain edge cases are detected; see the + description of the exceptions below. A violation of this precondition + yields undefined behavior. + + @warning A precondition is enforced with a runtime assertion that will + result in calling `std::abort` if this precondition is not met. + Assertions can be disabled by defining `NDEBUG` at compile time. + See https://en.cppreference.com/w/cpp/error/assert for more + information. + + @throw invalid_iterator.201 if iterators @a first and @a last are not + compatible (i.e., do not belong to the same JSON value). In this case, + the range `[first, last)` is undefined. + @throw invalid_iterator.204 if iterators @a first and @a last belong to a + primitive type (number, boolean, or string), but @a first does not point + to the first element any more. In this case, the range `[first, last)` is + undefined. See example code below. + @throw invalid_iterator.206 if iterators @a first and @a last belong to a + null value. In this case, the range `[first, last)` is undefined. + + @complexity Linear in distance between @a first and @a last. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @liveexample{The example below shows several ways to create JSON values by + specifying a subrange with iterators.,basic_json__InputIt_InputIt} + + @since version 1.0.0 + */ + template < class InputIT, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type = 0 > + basic_json(InputIT first, InputIT last) + { + JSON_ASSERT(first.m_object != nullptr); + JSON_ASSERT(last.m_object != nullptr); + + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(201, "iterators are not compatible", basic_json())); + } + + // copy type from first iterator + m_type = first.m_object->m_type; + + // check if iterator range is complete for primitive values + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + { + if (JSON_HEDLEY_UNLIKELY(!first.m_it.primitive_iterator.is_begin() + || !last.m_it.primitive_iterator.is_end())) + { + JSON_THROW(invalid_iterator::create(204, "iterators out of range", *first.m_object)); + } + break; + } + + case value_t::null: + case value_t::object: + case value_t::array: + case value_t::binary: + case value_t::discarded: + default: + break; + } + + switch (m_type) + { + case value_t::number_integer: + { + m_value.number_integer = first.m_object->m_value.number_integer; + break; + } + + case value_t::number_unsigned: + { + m_value.number_unsigned = first.m_object->m_value.number_unsigned; + break; + } + + case value_t::number_float: + { + m_value.number_float = first.m_object->m_value.number_float; + break; + } + + case value_t::boolean: + { + m_value.boolean = first.m_object->m_value.boolean; + break; + } + + case value_t::string: + { + m_value = *first.m_object->m_value.string; + break; + } + + case value_t::object: + { + m_value.object = create(first.m_it.object_iterator, + last.m_it.object_iterator); + break; + } + + case value_t::array: + { + m_value.array = create(first.m_it.array_iterator, + last.m_it.array_iterator); + break; + } + + case value_t::binary: + { + m_value = *first.m_object->m_value.binary; + break; + } + + case value_t::null: + case value_t::discarded: + default: + JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " + std::string(first.m_object->type_name()), *first.m_object)); + } + + set_parents(); + assert_invariant(); + } + + + /////////////////////////////////////// + // other constructors and destructor // + /////////////////////////////////////// + + template, + std::is_same>::value, int> = 0 > + basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {} + + /*! + @brief copy constructor + + Creates a copy of a given JSON value. + + @param[in] other the JSON value to copy + + @post `*this == other` + + @complexity Linear in the size of @a other. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes to any JSON value. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + - As postcondition, it holds: `other == basic_json(other)`. + + @liveexample{The following code shows an example for the copy + constructor.,basic_json__basic_json} + + @since version 1.0.0 + */ + basic_json(const basic_json& other) + : m_type(other.m_type) + { + // check of passed value is valid + other.assert_invariant(); + + switch (m_type) + { + case value_t::object: + { + m_value = *other.m_value.object; + break; + } + + case value_t::array: + { + m_value = *other.m_value.array; + break; + } + + case value_t::string: + { + m_value = *other.m_value.string; + break; + } + + case value_t::boolean: + { + m_value = other.m_value.boolean; + break; + } + + case value_t::number_integer: + { + m_value = other.m_value.number_integer; + break; + } + + case value_t::number_unsigned: + { + m_value = other.m_value.number_unsigned; + break; + } + + case value_t::number_float: + { + m_value = other.m_value.number_float; + break; + } + + case value_t::binary: + { + m_value = *other.m_value.binary; + break; + } + + case value_t::null: + case value_t::discarded: + default: + break; + } + + set_parents(); + assert_invariant(); + } + + /*! + @brief move constructor + + Move constructor. Constructs a JSON value with the contents of the given + value @a other using move semantics. It "steals" the resources from @a + other and leaves it as JSON null value. + + @param[in,out] other value to move to this object + + @post `*this` has the same value as @a other before the call. + @post @a other is a JSON null value. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this constructor never throws + exceptions. + + @requirement This function helps `basic_json` satisfying the + [MoveConstructible](https://en.cppreference.com/w/cpp/named_req/MoveConstructible) + requirements. + + @liveexample{The code below shows the move constructor explicitly called + via std::move.,basic_json__moveconstructor} + + @since version 1.0.0 + */ + basic_json(basic_json&& other) noexcept + : m_type(std::move(other.m_type)), + m_value(std::move(other.m_value)) + { + // check that passed value is valid + other.assert_invariant(false); + + // invalidate payload + other.m_type = value_t::null; + other.m_value = {}; + + set_parents(); + assert_invariant(); + } + + /*! + @brief copy assignment + + Copy assignment operator. Copies a JSON value via the "copy and swap" + strategy: It is expressed in terms of the copy constructor, destructor, + and the `swap()` member function. + + @param[in] other value to copy from + + @complexity Linear. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + + @liveexample{The code below shows and example for the copy assignment. It + creates a copy of value `a` which is then swapped with `b`. Finally\, the + copy of `a` (which is the null value after the swap) is + destroyed.,basic_json__copyassignment} + + @since version 1.0.0 + */ + basic_json& operator=(basic_json other) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + // check that passed value is valid + other.assert_invariant(); + + using std::swap; + swap(m_type, other.m_type); + swap(m_value, other.m_value); + + set_parents(); + assert_invariant(); + return *this; + } + + /*! + @brief destructor + + Destroys the JSON value and frees all allocated memory. + + @complexity Linear. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is linear. + - All stored elements are destroyed and all memory is freed. + + @since version 1.0.0 + */ + ~basic_json() noexcept + { + assert_invariant(false); + m_value.destroy(m_type); + } + + /// @} + + public: + /////////////////////// + // object inspection // + /////////////////////// + + /// @name object inspection + /// Functions to inspect the type of a JSON value. + /// @{ + + /*! + @brief serialization + + Serialization function for JSON values. The function tries to mimic + Python's `json.dumps()` function, and currently supports its @a indent + and @a ensure_ascii parameters. + + @param[in] indent If indent is nonnegative, then array elements and object + members will be pretty-printed with that indent level. An indent level of + `0` will only insert newlines. `-1` (the default) selects the most compact + representation. + @param[in] indent_char The character to use for indentation if @a indent is + greater than `0`. The default is ` ` (space). + @param[in] ensure_ascii If @a ensure_ascii is true, all non-ASCII characters + in the output are escaped with `\uXXXX` sequences, and the result consists + of ASCII characters only. + @param[in] error_handler how to react on decoding errors; there are three + possible values: `strict` (throws and exception in case a decoding error + occurs; default), `replace` (replace invalid UTF-8 sequences with U+FFFD), + and `ignore` (ignore invalid UTF-8 sequences during serialization; all + bytes are copied to the output unchanged). + + @return string containing the serialization of the JSON value + + @throw type_error.316 if a string stored inside the JSON value is not + UTF-8 encoded and @a error_handler is set to strict + + @note Binary values are serialized as object containing two keys: + - "bytes": an array of bytes as integers + - "subtype": the subtype as integer or "null" if the binary has no subtype + + @complexity Linear. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @liveexample{The following example shows the effect of different @a indent\, + @a indent_char\, and @a ensure_ascii parameters to the result of the + serialization.,dump} + + @see https://docs.python.org/2/library/json.html#json.dump + + @since version 1.0.0; indentation character @a indent_char, option + @a ensure_ascii and exceptions added in version 3.0.0; error + handlers added in version 3.4.0; serialization of binary values added + in version 3.8.0. + */ + string_t dump(const int indent = -1, + const char indent_char = ' ', + const bool ensure_ascii = false, + const error_handler_t error_handler = error_handler_t::strict) const + { + string_t result; + serializer s(detail::output_adapter(result), indent_char, error_handler); + + if (indent >= 0) + { + s.dump(*this, true, ensure_ascii, static_cast(indent)); + } + else + { + s.dump(*this, false, ensure_ascii, 0); + } + + return result; + } + + /*! + @brief return the type of the JSON value (explicit) + + Return the type of the JSON value as a value from the @ref value_t + enumeration. + + @return the type of the JSON value + Value type | return value + ------------------------- | ------------------------- + null | value_t::null + boolean | value_t::boolean + string | value_t::string + number (integer) | value_t::number_integer + number (unsigned integer) | value_t::number_unsigned + number (floating-point) | value_t::number_float + object | value_t::object + array | value_t::array + binary | value_t::binary + discarded | value_t::discarded + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `type()` for all JSON + types.,type} + + @sa see @ref operator value_t() -- return the type of the JSON value (implicit) + @sa see @ref type_name() -- return the type as string + + @since version 1.0.0 + */ + constexpr value_t type() const noexcept + { + return m_type; + } + + /*! + @brief return whether type is primitive + + This function returns true if and only if the JSON type is primitive + (string, number, boolean, or null). + + @return `true` if type is primitive (string, number, boolean, or null), + `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_primitive()` for all JSON + types.,is_primitive} + + @sa see @ref is_structured() -- returns whether JSON value is structured + @sa see @ref is_null() -- returns whether JSON value is `null` + @sa see @ref is_string() -- returns whether JSON value is a string + @sa see @ref is_boolean() -- returns whether JSON value is a boolean + @sa see @ref is_number() -- returns whether JSON value is a number + @sa see @ref is_binary() -- returns whether JSON value is a binary array + + @since version 1.0.0 + */ + constexpr bool is_primitive() const noexcept + { + return is_null() || is_string() || is_boolean() || is_number() || is_binary(); + } + + /*! + @brief return whether type is structured + + This function returns true if and only if the JSON type is structured + (array or object). + + @return `true` if type is structured (array or object), `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_structured()` for all JSON + types.,is_structured} + + @sa see @ref is_primitive() -- returns whether value is primitive + @sa see @ref is_array() -- returns whether value is an array + @sa see @ref is_object() -- returns whether value is an object + + @since version 1.0.0 + */ + constexpr bool is_structured() const noexcept + { + return is_array() || is_object(); + } + + /*! + @brief return whether value is null + + This function returns true if and only if the JSON value is null. + + @return `true` if type is null, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_null()` for all JSON + types.,is_null} + + @since version 1.0.0 + */ + constexpr bool is_null() const noexcept + { + return m_type == value_t::null; + } + + /*! + @brief return whether value is a boolean + + This function returns true if and only if the JSON value is a boolean. + + @return `true` if type is boolean, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_boolean()` for all JSON + types.,is_boolean} + + @since version 1.0.0 + */ + constexpr bool is_boolean() const noexcept + { + return m_type == value_t::boolean; + } + + /*! + @brief return whether value is a number + + This function returns true if and only if the JSON value is a number. This + includes both integer (signed and unsigned) and floating-point values. + + @return `true` if type is number (regardless whether integer, unsigned + integer or floating-type), `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number()` for all JSON + types.,is_number} + + @sa see @ref is_number_integer() -- check if value is an integer or unsigned + integer number + @sa see @ref is_number_unsigned() -- check if value is an unsigned integer + number + @sa see @ref is_number_float() -- check if value is a floating-point number + + @since version 1.0.0 + */ + constexpr bool is_number() const noexcept + { + return is_number_integer() || is_number_float(); + } + + /*! + @brief return whether value is an integer number + + This function returns true if and only if the JSON value is a signed or + unsigned integer number. This excludes floating-point values. + + @return `true` if type is an integer or unsigned integer number, `false` + otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_integer()` for all + JSON types.,is_number_integer} + + @sa see @ref is_number() -- check if value is a number + @sa see @ref is_number_unsigned() -- check if value is an unsigned integer + number + @sa see @ref is_number_float() -- check if value is a floating-point number + + @since version 1.0.0 + */ + constexpr bool is_number_integer() const noexcept + { + return m_type == value_t::number_integer || m_type == value_t::number_unsigned; + } + + /*! + @brief return whether value is an unsigned integer number + + This function returns true if and only if the JSON value is an unsigned + integer number. This excludes floating-point and signed integer values. + + @return `true` if type is an unsigned integer number, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_unsigned()` for all + JSON types.,is_number_unsigned} + + @sa see @ref is_number() -- check if value is a number + @sa see @ref is_number_integer() -- check if value is an integer or unsigned + integer number + @sa see @ref is_number_float() -- check if value is a floating-point number + + @since version 2.0.0 + */ + constexpr bool is_number_unsigned() const noexcept + { + return m_type == value_t::number_unsigned; + } + + /*! + @brief return whether value is a floating-point number + + This function returns true if and only if the JSON value is a + floating-point number. This excludes signed and unsigned integer values. + + @return `true` if type is a floating-point number, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_number_float()` for all + JSON types.,is_number_float} + + @sa see @ref is_number() -- check if value is number + @sa see @ref is_number_integer() -- check if value is an integer number + @sa see @ref is_number_unsigned() -- check if value is an unsigned integer + number + + @since version 1.0.0 + */ + constexpr bool is_number_float() const noexcept + { + return m_type == value_t::number_float; + } + + /*! + @brief return whether value is an object + + This function returns true if and only if the JSON value is an object. + + @return `true` if type is object, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_object()` for all JSON + types.,is_object} + + @since version 1.0.0 + */ + constexpr bool is_object() const noexcept + { + return m_type == value_t::object; + } + + /*! + @brief return whether value is an array + + This function returns true if and only if the JSON value is an array. + + @return `true` if type is array, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_array()` for all JSON + types.,is_array} + + @since version 1.0.0 + */ + constexpr bool is_array() const noexcept + { + return m_type == value_t::array; + } + + /*! + @brief return whether value is a string + + This function returns true if and only if the JSON value is a string. + + @return `true` if type is string, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_string()` for all JSON + types.,is_string} + + @since version 1.0.0 + */ + constexpr bool is_string() const noexcept + { + return m_type == value_t::string; + } + + /*! + @brief return whether value is a binary array + + This function returns true if and only if the JSON value is a binary array. + + @return `true` if type is binary array, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_binary()` for all JSON + types.,is_binary} + + @since version 3.8.0 + */ + constexpr bool is_binary() const noexcept + { + return m_type == value_t::binary; + } + + /*! + @brief return whether value is discarded + + This function returns true if and only if the JSON value was discarded + during parsing with a callback function (see @ref parser_callback_t). + + @note This function will always be `false` for JSON values after parsing. + That is, discarded values can only occur during parsing, but will be + removed when inside a structured value or replaced by null in other cases. + + @return `true` if type is discarded, `false` otherwise. + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies `is_discarded()` for all JSON + types.,is_discarded} + + @since version 1.0.0 + */ + constexpr bool is_discarded() const noexcept + { + return m_type == value_t::discarded; + } + + /*! + @brief return the type of the JSON value (implicit) + + Implicitly return the type of the JSON value as a value from the @ref + value_t enumeration. + + @return the type of the JSON value + + @complexity Constant. + + @exceptionsafety No-throw guarantee: this member function never throws + exceptions. + + @liveexample{The following code exemplifies the @ref value_t operator for + all JSON types.,operator__value_t} + + @sa see @ref type() -- return the type of the JSON value (explicit) + @sa see @ref type_name() -- return the type as string + + @since version 1.0.0 + */ + constexpr operator value_t() const noexcept + { + return m_type; + } + + /// @} + + private: + ////////////////// + // value access // + ////////////////// + + /// get a boolean (explicit) + boolean_t get_impl(boolean_t* /*unused*/) const + { + if (JSON_HEDLEY_LIKELY(is_boolean())) + { + return m_value.boolean; + } + + JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name()), *this)); + } + + /// get a pointer to the value (object) + object_t* get_impl_ptr(object_t* /*unused*/) noexcept + { + return is_object() ? m_value.object : nullptr; + } + + /// get a pointer to the value (object) + constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept + { + return is_object() ? m_value.object : nullptr; + } + + /// get a pointer to the value (array) + array_t* get_impl_ptr(array_t* /*unused*/) noexcept + { + return is_array() ? m_value.array : nullptr; + } + + /// get a pointer to the value (array) + constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept + { + return is_array() ? m_value.array : nullptr; + } + + /// get a pointer to the value (string) + string_t* get_impl_ptr(string_t* /*unused*/) noexcept + { + return is_string() ? m_value.string : nullptr; + } + + /// get a pointer to the value (string) + constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept + { + return is_string() ? m_value.string : nullptr; + } + + /// get a pointer to the value (boolean) + boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept + { + return is_boolean() ? &m_value.boolean : nullptr; + } + + /// get a pointer to the value (boolean) + constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept + { + return is_boolean() ? &m_value.boolean : nullptr; + } + + /// get a pointer to the value (integer number) + number_integer_t* get_impl_ptr(number_integer_t* /*unused*/) noexcept + { + return is_number_integer() ? &m_value.number_integer : nullptr; + } + + /// get a pointer to the value (integer number) + constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept + { + return is_number_integer() ? &m_value.number_integer : nullptr; + } + + /// get a pointer to the value (unsigned number) + number_unsigned_t* get_impl_ptr(number_unsigned_t* /*unused*/) noexcept + { + return is_number_unsigned() ? &m_value.number_unsigned : nullptr; + } + + /// get a pointer to the value (unsigned number) + constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept + { + return is_number_unsigned() ? &m_value.number_unsigned : nullptr; + } + + /// get a pointer to the value (floating-point number) + number_float_t* get_impl_ptr(number_float_t* /*unused*/) noexcept + { + return is_number_float() ? &m_value.number_float : nullptr; + } + + /// get a pointer to the value (floating-point number) + constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept + { + return is_number_float() ? &m_value.number_float : nullptr; + } + + /// get a pointer to the value (binary) + binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + + /// get a pointer to the value (binary) + constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const noexcept + { + return is_binary() ? m_value.binary : nullptr; + } + + /*! + @brief helper function to implement get_ref() + + This function helps to implement get_ref() without code duplication for + const and non-const overloads + + @tparam ThisType will be deduced as `basic_json` or `const basic_json` + + @throw type_error.303 if ReferenceType does not match underlying value + type of the current JSON + */ + template + static ReferenceType get_ref_impl(ThisType& obj) + { + // delegate the call to get_ptr<>() + auto* ptr = obj.template get_ptr::type>(); + + if (JSON_HEDLEY_LIKELY(ptr != nullptr)) + { + return *ptr; + } + + JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name()), obj)); + } + + public: + /// @name value access + /// Direct access to the stored value of a JSON value. + /// @{ + + /*! + @brief get a pointer value (implicit) + + Implicit pointer access to the internally stored JSON value. No copies are + made. + + @warning Writing data to the pointee of the result yields an undefined + state. + + @tparam PointerType pointer type; must be a pointer to @ref array_t, @ref + object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, + @ref number_unsigned_t, or @ref number_float_t. Enforced by a static + assertion. + + @return pointer to the internally stored JSON value if the requested + pointer type @a PointerType fits to the JSON value; `nullptr` otherwise + + @complexity Constant. + + @liveexample{The example below shows how pointers to internal values of a + JSON value can be requested. Note that no type conversions are made and a + `nullptr` is returned if the value and the requested pointer type does not + match.,get_ptr} + + @since version 1.0.0 + */ + template::value, int>::type = 0> + auto get_ptr() noexcept -> decltype(std::declval().get_impl_ptr(std::declval())) + { + // delegate the call to get_impl_ptr<>() + return get_impl_ptr(static_cast(nullptr)); + } + + /*! + @brief get a pointer value (implicit) + @copydoc get_ptr() + */ + template < typename PointerType, typename std::enable_if < + std::is_pointer::value&& + std::is_const::type>::value, int >::type = 0 > + constexpr auto get_ptr() const noexcept -> decltype(std::declval().get_impl_ptr(std::declval())) + { + // delegate the call to get_impl_ptr<>() const + return get_impl_ptr(static_cast(nullptr)); + } + + private: + /*! + @brief get a value (explicit) + + Explicit type conversion between the JSON value and a compatible value + which is [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible) + and [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible). + The value is converted by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + ValueType ret; + JSONSerializer::from_json(*this, ret); + return ret; + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json, + - @ref json_serializer has a `from_json()` method of the form + `void from_json(const basic_json&, ValueType&)`, and + - @ref json_serializer does not have a `from_json()` method of + the form `ValueType from_json(const basic_json&)` + + @tparam ValueType the returned value type + + @return copy of the JSON value, converted to @a ValueType + + @throw what @ref json_serializer `from_json()` method throws + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,get__ValueType_const} + + @since version 2.1.0 + */ + template < typename ValueType, + detail::enable_if_t < + detail::is_default_constructible::value&& + detail::has_from_json::value, + int > = 0 > + ValueType get_impl(detail::priority_tag<0> /*unused*/) const noexcept(noexcept( + JSONSerializer::from_json(std::declval(), std::declval()))) + { + auto ret = ValueType(); + JSONSerializer::from_json(*this, ret); + return ret; + } + + /*! + @brief get a value (explicit); special case + + Explicit type conversion between the JSON value and a compatible value + which is **not** [CopyConstructible](https://en.cppreference.com/w/cpp/named_req/CopyConstructible) + and **not** [DefaultConstructible](https://en.cppreference.com/w/cpp/named_req/DefaultConstructible). + The value is converted by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + return JSONSerializer::from_json(*this); + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json and + - @ref json_serializer has a `from_json()` method of the form + `ValueType from_json(const basic_json&)` + + @note If @ref json_serializer has both overloads of + `from_json()`, this one is chosen. + + @tparam ValueType the returned value type + + @return copy of the JSON value, converted to @a ValueType + + @throw what @ref json_serializer `from_json()` method throws + + @since version 2.1.0 + */ + template < typename ValueType, + detail::enable_if_t < + detail::has_non_default_from_json::value, + int > = 0 > + ValueType get_impl(detail::priority_tag<1> /*unused*/) const noexcept(noexcept( + JSONSerializer::from_json(std::declval()))) + { + return JSONSerializer::from_json(*this); + } + + /*! + @brief get special-case overload + + This overloads converts the current @ref basic_json in a different + @ref basic_json type + + @tparam BasicJsonType == @ref basic_json + + @return a copy of *this, converted into @a BasicJsonType + + @complexity Depending on the implementation of the called `from_json()` + method. + + @since version 3.2.0 + */ + template < typename BasicJsonType, + detail::enable_if_t < + detail::is_basic_json::value, + int > = 0 > + BasicJsonType get_impl(detail::priority_tag<2> /*unused*/) const + { + return *this; + } + + /*! + @brief get special-case overload + + This overloads avoids a lot of template boilerplate, it can be seen as the + identity method + + @tparam BasicJsonType == @ref basic_json + + @return a copy of *this + + @complexity Constant. + + @since version 2.1.0 + */ + template::value, + int> = 0> + basic_json get_impl(detail::priority_tag<3> /*unused*/) const + { + return *this; + } + + /*! + @brief get a pointer value (explicit) + @copydoc get() + */ + template::value, + int> = 0> + constexpr auto get_impl(detail::priority_tag<4> /*unused*/) const noexcept + -> decltype(std::declval().template get_ptr()) + { + // delegate the call to get_ptr + return get_ptr(); + } + + public: + /*! + @brief get a (pointer) value (explicit) + + Performs explicit type conversion between the JSON value and a compatible value if required. + + - If the requested type is a pointer to the internally stored JSON value that pointer is returned. + No copies are made. + + - If the requested type is the current @ref basic_json, or a different @ref basic_json convertible + from the current @ref basic_json. + + - Otherwise the value is converted by calling the @ref json_serializer `from_json()` + method. + + @tparam ValueTypeCV the provided value type + @tparam ValueType the returned value type + + @return copy of the JSON value, converted to @tparam ValueType if necessary + + @throw what @ref json_serializer `from_json()` method throws if conversion is required + + @since version 2.1.0 + */ + template < typename ValueTypeCV, typename ValueType = detail::uncvref_t> +#if defined(JSON_HAS_CPP_14) + constexpr +#endif + auto get() const noexcept( + noexcept(std::declval().template get_impl(detail::priority_tag<4> {}))) + -> decltype(std::declval().template get_impl(detail::priority_tag<4> {})) + { + // we cannot static_assert on ValueTypeCV being non-const, because + // there is support for get(), which is why we + // still need the uncvref + static_assert(!std::is_reference::value, + "get() cannot be used with reference types, you might want to use get_ref()"); + return get_impl(detail::priority_tag<4> {}); + } + + /*! + @brief get a pointer value (explicit) + + Explicit pointer access to the internally stored JSON value. No copies are + made. + + @warning The pointer becomes invalid if the underlying JSON object + changes. + + @tparam PointerType pointer type; must be a pointer to @ref array_t, @ref + object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, + @ref number_unsigned_t, or @ref number_float_t. + + @return pointer to the internally stored JSON value if the requested + pointer type @a PointerType fits to the JSON value; `nullptr` otherwise + + @complexity Constant. + + @liveexample{The example below shows how pointers to internal values of a + JSON value can be requested. Note that no type conversions are made and a + `nullptr` is returned if the value and the requested pointer type does not + match.,get__PointerType} + + @sa see @ref get_ptr() for explicit pointer-member access + + @since version 1.0.0 + */ + template::value, int>::type = 0> + auto get() noexcept -> decltype(std::declval().template get_ptr()) + { + // delegate the call to get_ptr + return get_ptr(); + } + + /*! + @brief get a value (explicit) + + Explicit type conversion between the JSON value and a compatible value. + The value is filled into the input parameter by calling the @ref json_serializer + `from_json()` method. + + The function is equivalent to executing + @code {.cpp} + ValueType v; + JSONSerializer::from_json(*this, v); + @endcode + + This overloads is chosen if: + - @a ValueType is not @ref basic_json, + - @ref json_serializer has a `from_json()` method of the form + `void from_json(const basic_json&, ValueType&)`, and + + @tparam ValueType the input parameter type. + + @return the input parameter, allowing chaining calls. + + @throw what @ref json_serializer `from_json()` method throws + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,get_to} + + @since version 3.3.0 + */ + template < typename ValueType, + detail::enable_if_t < + !detail::is_basic_json::value&& + detail::has_from_json::value, + int > = 0 > + ValueType & get_to(ValueType& v) const noexcept(noexcept( + JSONSerializer::from_json(std::declval(), v))) + { + JSONSerializer::from_json(*this, v); + return v; + } + + // specialization to allow to call get_to with a basic_json value + // see https://github.com/nlohmann/json/issues/2175 + template::value, + int> = 0> + ValueType & get_to(ValueType& v) const + { + v = *this; + return v; + } + + template < + typename T, std::size_t N, + typename Array = T (&)[N], // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) + detail::enable_if_t < + detail::has_from_json::value, int > = 0 > + Array get_to(T (&v)[N]) const // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) + noexcept(noexcept(JSONSerializer::from_json( + std::declval(), v))) + { + JSONSerializer::from_json(*this, v); + return v; + } + + /*! + @brief get a reference value (implicit) + + Implicit reference access to the internally stored JSON value. No copies + are made. + + @warning Writing data to the referee of the result yields an undefined + state. + + @tparam ReferenceType reference type; must be a reference to @ref array_t, + @ref object_t, @ref string_t, @ref boolean_t, @ref number_integer_t, or + @ref number_float_t. Enforced by static assertion. + + @return reference to the internally stored JSON value if the requested + reference type @a ReferenceType fits to the JSON value; throws + type_error.303 otherwise + + @throw type_error.303 in case passed type @a ReferenceType is incompatible + with the stored JSON value; see example below + + @complexity Constant. + + @liveexample{The example shows several calls to `get_ref()`.,get_ref} + + @since version 1.1.0 + */ + template::value, int>::type = 0> + ReferenceType get_ref() + { + // delegate call to get_ref_impl + return get_ref_impl(*this); + } + + /*! + @brief get a reference value (implicit) + @copydoc get_ref() + */ + template < typename ReferenceType, typename std::enable_if < + std::is_reference::value&& + std::is_const::type>::value, int >::type = 0 > + ReferenceType get_ref() const + { + // delegate call to get_ref_impl + return get_ref_impl(*this); + } + + /*! + @brief get a value (implicit) + + Implicit type conversion between the JSON value and a compatible value. + The call is realized by calling @ref get() const. + + @tparam ValueType non-pointer type compatible to the JSON value, for + instance `int` for JSON integer numbers, `bool` for JSON booleans, or + `std::vector` types for JSON arrays. The character type of @ref string_t + as well as an initializer list of this type is excluded to avoid + ambiguities as these types implicitly convert to `std::string`. + + @return copy of the JSON value, converted to type @a ValueType + + @throw type_error.302 in case passed type @a ValueType is incompatible + to the JSON value type (e.g., the JSON value is of type boolean, but a + string is requested); see example below + + @complexity Linear in the size of the JSON value. + + @liveexample{The example below shows several conversions from JSON values + to other types. There a few things to note: (1) Floating-point numbers can + be converted to integers\, (2) A JSON array can be converted to a standard + `std::vector`\, (3) A JSON object can be converted to C++ + associative containers such as `std::unordered_map`.,operator__ValueType} + + @since version 1.0.0 + */ + template < typename ValueType, typename std::enable_if < + detail::conjunction < + detail::negation>, + detail::negation>>, + detail::negation>, + detail::negation>, + detail::negation>>, + +#if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1910 && _MSC_VER <= 1914)) + detail::negation>, +#endif + detail::is_detected_lazy + >::value, int >::type = 0 > + JSON_EXPLICIT operator ValueType() const + { + // delegate the call to get<>() const + return get(); + } + + /*! + @return reference to the binary value + + @throw type_error.302 if the value is not binary + + @sa see @ref is_binary() to check if the value is binary + + @since version 3.8.0 + */ + binary_t& get_binary() + { + if (!is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()), *this)); + } + + return *get_ptr(); + } + + /// @copydoc get_binary() + const binary_t& get_binary() const + { + if (!is_binary()) + { + JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()), *this)); + } + + return *get_ptr(); + } + + /// @} + + + //////////////////// + // element access // + //////////////////// + + /// @name element access + /// Access to the JSON value. + /// @{ + + /*! + @brief access specified array element with bounds checking + + Returns a reference to the element at specified location @a idx, with + bounds checking. + + @param[in] idx index of the element to access + + @return reference to the element at index @a idx + + @throw type_error.304 if the JSON value is not an array; in this case, + calling `at` with an index makes no sense. See example below. + @throw out_of_range.401 if the index @a idx is out of range of the array; + that is, `idx >= size()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 1.0.0 + + @liveexample{The example below shows how array elements can be read and + written using `at()`. It also demonstrates the different exceptions that + can be thrown.,at__size_type} + */ + reference at(size_type idx) + { + // at only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + JSON_TRY + { + return set_parent(m_value.array->at(idx)); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this)); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief access specified array element with bounds checking + + Returns a const reference to the element at specified location @a idx, + with bounds checking. + + @param[in] idx index of the element to access + + @return const reference to the element at index @a idx + + @throw type_error.304 if the JSON value is not an array; in this case, + calling `at` with an index makes no sense. See example below. + @throw out_of_range.401 if the index @a idx is out of range of the array; + that is, `idx >= size()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 1.0.0 + + @liveexample{The example below shows how array elements can be read using + `at()`. It also demonstrates the different exceptions that can be thrown., + at__size_type_const} + */ + const_reference at(size_type idx) const + { + // at only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + JSON_TRY + { + return m_value.array->at(idx); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this)); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief access specified object element with bounds checking + + Returns a reference to the element at with specified key @a key, with + bounds checking. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.304 if the JSON value is not an object; in this case, + calling `at` with a key makes no sense. See example below. + @throw out_of_range.403 if the key @a key is is not stored in the object; + that is, `find(key) == end()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Logarithmic in the size of the container. + + @sa see @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + @sa see @ref value() for access by value with a default value + + @since version 1.0.0 + + @liveexample{The example below shows how object elements can be read and + written using `at()`. It also demonstrates the different exceptions that + can be thrown.,at__object_t_key_type} + */ + reference at(const typename object_t::key_type& key) + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_TRY + { + return set_parent(m_value.object->at(key)); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(403, "key '" + key + "' not found", *this)); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief access specified object element with bounds checking + + Returns a const reference to the element at with specified key @a key, + with bounds checking. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @throw type_error.304 if the JSON value is not an object; in this case, + calling `at` with a key makes no sense. See example below. + @throw out_of_range.403 if the key @a key is is not stored in the object; + that is, `find(key) == end()`. See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Logarithmic in the size of the container. + + @sa see @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + @sa see @ref value() for access by value with a default value + + @since version 1.0.0 + + @liveexample{The example below shows how object elements can be read using + `at()`. It also demonstrates the different exceptions that can be thrown., + at__object_t_key_type_const} + */ + const_reference at(const typename object_t::key_type& key) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_TRY + { + return m_value.object->at(key); + } + JSON_CATCH (std::out_of_range&) + { + // create better exception explanation + JSON_THROW(out_of_range::create(403, "key '" + key + "' not found", *this)); + } + } + else + { + JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief access specified array element + + Returns a reference to the element at specified location @a idx. + + @note If @a idx is beyond the range of the array (i.e., `idx >= size()`), + then the array is silently filled up with `null` values to make `idx` a + valid reference to the last stored element. + + @param[in] idx index of the element to access + + @return reference to the element at index @a idx + + @throw type_error.305 if the JSON value is not an array or null; in that + cases, using the [] operator with an index makes no sense. + + @complexity Constant if @a idx is in the range of the array. Otherwise + linear in `idx - size()`. + + @liveexample{The example below shows how array elements can be read and + written using `[]` operator. Note the addition of `null` + values.,operatorarray__size_type} + + @since version 1.0.0 + */ + reference operator[](size_type idx) + { + // implicitly convert null value to an empty array + if (is_null()) + { + m_type = value_t::array; + m_value.array = create(); + assert_invariant(); + } + + // operator[] only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // fill up array with null values if given idx is outside range + if (idx >= m_value.array->size()) + { +#if JSON_DIAGNOSTICS + // remember array size & capacity before resizing + const auto old_size = m_value.array->size(); + const auto old_capacity = m_value.array->capacity(); +#endif + m_value.array->resize(idx + 1); + +#if JSON_DIAGNOSTICS + if (JSON_HEDLEY_UNLIKELY(m_value.array->capacity() != old_capacity)) + { + // capacity has changed: update all parents + set_parents(); + } + else + { + // set parent for values added above + set_parents(begin() + static_cast(old_size), static_cast(idx + 1 - old_size)); + } +#endif + assert_invariant(); + } + + return m_value.array->operator[](idx); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()), *this)); + } + + /*! + @brief access specified array element + + Returns a const reference to the element at specified location @a idx. + + @param[in] idx index of the element to access + + @return const reference to the element at index @a idx + + @throw type_error.305 if the JSON value is not an array; in that case, + using the [] operator with an index makes no sense. + + @complexity Constant. + + @liveexample{The example below shows how array elements can be read using + the `[]` operator.,operatorarray__size_type_const} + + @since version 1.0.0 + */ + const_reference operator[](size_type idx) const + { + // const operator[] only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + return m_value.array->operator[](idx); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()), *this)); + } + + /*! + @brief access specified object element + + Returns a reference to the element at with specified key @a key. + + @note If @a key is not found in the object, then it is silently added to + the object and filled with a `null` value to make `key` a valid reference. + In case the value was `null` before, it is converted to an object. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.305 if the JSON value is not an object or null; in that + cases, using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read and + written using the `[]` operator.,operatorarray__key_type} + + @sa see @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa see @ref value() for access by value with a default value + + @since version 1.0.0 + */ + reference operator[](const typename object_t::key_type& key) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + // operator[] only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return set_parent(m_value.object->operator[](key)); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this)); + } + + /*! + @brief read-only access specified object element + + Returns a const reference to the element at with specified key @a key. No + bounds checking is performed. + + @warning If the element with key @a key does not exist, the behavior is + undefined. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @pre The element with key @a key must exist. **This precondition is + enforced with an assertion.** + + @throw type_error.305 if the JSON value is not an object; in that case, + using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read using + the `[]` operator.,operatorarray__key_type_const} + + @sa see @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa see @ref value() for access by value with a default value + + @since version 1.0.0 + */ + const_reference operator[](const typename object_t::key_type& key) const + { + // const operator[] only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_ASSERT(m_value.object->find(key) != m_value.object->end()); + return m_value.object->find(key)->second; + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this)); + } + + /*! + @brief access specified object element + + Returns a reference to the element at with specified key @a key. + + @note If @a key is not found in the object, then it is silently added to + the object and filled with a `null` value to make `key` a valid reference. + In case the value was `null` before, it is converted to an object. + + @param[in] key key of the element to access + + @return reference to the element at key @a key + + @throw type_error.305 if the JSON value is not an object or null; in that + cases, using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read and + written using the `[]` operator.,operatorarray__key_type} + + @sa see @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa see @ref value() for access by value with a default value + + @since version 1.1.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + reference operator[](T* key) + { + // implicitly convert null to object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return set_parent(m_value.object->operator[](key)); + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this)); + } + + /*! + @brief read-only access specified object element + + Returns a const reference to the element at with specified key @a key. No + bounds checking is performed. + + @warning If the element with key @a key does not exist, the behavior is + undefined. + + @param[in] key key of the element to access + + @return const reference to the element at key @a key + + @pre The element with key @a key must exist. **This precondition is + enforced with an assertion.** + + @throw type_error.305 if the JSON value is not an object; in that case, + using the [] operator with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be read using + the `[]` operator.,operatorarray__key_type_const} + + @sa see @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa see @ref value() for access by value with a default value + + @since version 1.1.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + const_reference operator[](T* key) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + JSON_ASSERT(m_value.object->find(key) != m_value.object->end()); + return m_value.object->find(key)->second; + } + + JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this)); + } + + /*! + @brief access specified object element with default value + + Returns either a copy of an object's element at the specified key @a key + or a given default value if no element with key @a key exists. + + The function is basically equivalent to executing + @code {.cpp} + try { + return at(key); + } catch(out_of_range) { + return default_value; + } + @endcode + + @note Unlike @ref at(const typename object_t::key_type&), this function + does not throw if the given key @a key was not found. + + @note Unlike @ref operator[](const typename object_t::key_type& key), this + function does not implicitly add an element to the position defined by @a + key. This function is furthermore also applicable to const objects. + + @param[in] key key of the element to access + @param[in] default_value the value to return if @a key is not found + + @tparam ValueType type compatible to JSON values, for instance `int` for + JSON integer numbers, `bool` for JSON booleans, or `std::vector` types for + JSON arrays. Note the type of the expected value at @a key and the default + value @a default_value must be compatible. + + @return copy of the element at key @a key or @a default_value if @a key + is not found + + @throw type_error.302 if @a default_value does not match the type of the + value at @a key + @throw type_error.306 if the JSON value is not an object; in that case, + using `value()` with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be queried + with a default value.,basic_json__value} + + @sa see @ref at(const typename object_t::key_type&) for access by reference + with range checking + @sa see @ref operator[](const typename object_t::key_type&) for unchecked + access by reference + + @since version 1.0.0 + */ + // using std::is_convertible in a std::enable_if will fail when using explicit conversions + template < class ValueType, typename std::enable_if < + detail::is_getable::value + && !std::is_same::value, int >::type = 0 > + ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if key is found, return value and given default value otherwise + const auto it = find(key); + if (it != end()) + { + return it->template get(); + } + + return default_value; + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()), *this)); + } + + /*! + @brief overload for a default value of type const char* + @copydoc basic_json::value(const typename object_t::key_type&, const ValueType&) const + */ + string_t value(const typename object_t::key_type& key, const char* default_value) const + { + return value(key, string_t(default_value)); + } + + /*! + @brief access specified object element via JSON Pointer with default value + + Returns either a copy of an object's element at the specified key @a key + or a given default value if no element with key @a key exists. + + The function is basically equivalent to executing + @code {.cpp} + try { + return at(ptr); + } catch(out_of_range) { + return default_value; + } + @endcode + + @note Unlike @ref at(const json_pointer&), this function does not throw + if the given key @a key was not found. + + @param[in] ptr a JSON pointer to the element to access + @param[in] default_value the value to return if @a ptr found no value + + @tparam ValueType type compatible to JSON values, for instance `int` for + JSON integer numbers, `bool` for JSON booleans, or `std::vector` types for + JSON arrays. Note the type of the expected value at @a key and the default + value @a default_value must be compatible. + + @return copy of the element at key @a key or @a default_value if @a key + is not found + + @throw type_error.302 if @a default_value does not match the type of the + value at @a ptr + @throw type_error.306 if the JSON value is not an object; in that case, + using `value()` with a key makes no sense. + + @complexity Logarithmic in the size of the container. + + @liveexample{The example below shows how object elements can be queried + with a default value.,basic_json__value_ptr} + + @sa see @ref operator[](const json_pointer&) for unchecked access by reference + + @since version 2.0.2 + */ + template::value, int>::type = 0> + ValueType value(const json_pointer& ptr, const ValueType& default_value) const + { + // at only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + // if pointer resolves a value, return it or use default value + JSON_TRY + { + return ptr.get_checked(this).template get(); + } + JSON_INTERNAL_CATCH (out_of_range&) + { + return default_value; + } + } + + JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()), *this)); + } + + /*! + @brief overload for a default value of type const char* + @copydoc basic_json::value(const json_pointer&, ValueType) const + */ + JSON_HEDLEY_NON_NULL(3) + string_t value(const json_pointer& ptr, const char* default_value) const + { + return value(ptr, string_t(default_value)); + } + + /*! + @brief access the first element + + Returns a reference to the first element in the container. For a JSON + container `c`, the expression `c.front()` is equivalent to `*c.begin()`. + + @return In case of a structured type (array or object), a reference to the + first element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. + + @complexity Constant. + + @pre The JSON value must not be `null` (would throw `std::out_of_range`) + or an empty array or object (undefined behavior, **guarded by + assertions**). + @post The JSON value remains unchanged. + + @throw invalid_iterator.214 when called on `null` value + + @liveexample{The following code shows an example for `front()`.,front} + + @sa see @ref back() -- access the last element + + @since version 1.0.0 + */ + reference front() + { + return *begin(); + } + + /*! + @copydoc basic_json::front() + */ + const_reference front() const + { + return *cbegin(); + } + + /*! + @brief access the last element + + Returns a reference to the last element in the container. For a JSON + container `c`, the expression `c.back()` is equivalent to + @code {.cpp} + auto tmp = c.end(); + --tmp; + return *tmp; + @endcode + + @return In case of a structured type (array or object), a reference to the + last element is returned. In case of number, string, boolean, or binary + values, a reference to the value is returned. + + @complexity Constant. + + @pre The JSON value must not be `null` (would throw `std::out_of_range`) + or an empty array or object (undefined behavior, **guarded by + assertions**). + @post The JSON value remains unchanged. + + @throw invalid_iterator.214 when called on a `null` value. See example + below. + + @liveexample{The following code shows an example for `back()`.,back} + + @sa see @ref front() -- access the first element + + @since version 1.0.0 + */ + reference back() + { + auto tmp = end(); + --tmp; + return *tmp; + } + + /*! + @copydoc basic_json::back() + */ + const_reference back() const + { + auto tmp = cend(); + --tmp; + return *tmp; + } + + /*! + @brief remove element given an iterator + + Removes the element specified by iterator @a pos. The iterator @a pos must + be valid and dereferenceable. Thus the `end()` iterator (which is valid, + but is not dereferenceable) cannot be used as a value for @a pos. + + If called on a primitive type other than `null`, the resulting JSON value + will be `null`. + + @param[in] pos iterator to the element to remove + @return Iterator following the last removed element. If the iterator @a + pos refers to the last element, the `end()` iterator is returned. + + @tparam IteratorType an @ref iterator or @ref const_iterator + + @post Invalidates iterators and references at or after the point of the + erase, including the `end()` iterator. + + @throw type_error.307 if called on a `null` value; example: `"cannot use + erase() with null"` + @throw invalid_iterator.202 if called on an iterator which does not belong + to the current JSON value; example: `"iterator does not fit current + value"` + @throw invalid_iterator.205 if called on a primitive type with invalid + iterator (i.e., any iterator which is not `begin()`); example: `"iterator + out of range"` + + @complexity The complexity depends on the type: + - objects: amortized constant + - arrays: linear in distance between @a pos and the end of the container + - strings and binary: linear in the length of the member + - other types: constant + + @liveexample{The example shows the result of `erase()` for different JSON + types.,erase__IteratorType} + + @sa see @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa see @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + @sa see @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + template < class IteratorType, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type + = 0 > + IteratorType erase(IteratorType pos) + { + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(this != pos.m_object)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this)); + } + + IteratorType result = end(); + + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + case value_t::binary: + { + if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin())) + { + JSON_THROW(invalid_iterator::create(205, "iterator out of range", *this)); + } + + if (is_string()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.string); + std::allocator_traits::deallocate(alloc, m_value.string, 1); + m_value.string = nullptr; + } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } + + m_type = value_t::null; + assert_invariant(); + break; + } + + case value_t::object: + { + result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator); + break; + } + + case value_t::array: + { + result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator); + break; + } + + case value_t::null: + case value_t::discarded: + default: + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this)); + } + + return result; + } + + /*! + @brief remove elements given an iterator range + + Removes the element specified by the range `[first; last)`. The iterator + @a first does not need to be dereferenceable if `first == last`: erasing + an empty range is a no-op. + + If called on a primitive type other than `null`, the resulting JSON value + will be `null`. + + @param[in] first iterator to the beginning of the range to remove + @param[in] last iterator past the end of the range to remove + @return Iterator following the last removed element. If the iterator @a + second refers to the last element, the `end()` iterator is returned. + + @tparam IteratorType an @ref iterator or @ref const_iterator + + @post Invalidates iterators and references at or after the point of the + erase, including the `end()` iterator. + + @throw type_error.307 if called on a `null` value; example: `"cannot use + erase() with null"` + @throw invalid_iterator.203 if called on iterators which does not belong + to the current JSON value; example: `"iterators do not fit current value"` + @throw invalid_iterator.204 if called on a primitive type with invalid + iterators (i.e., if `first != begin()` and `last != end()`); example: + `"iterators out of range"` + + @complexity The complexity depends on the type: + - objects: `log(size()) + std::distance(first, last)` + - arrays: linear in the distance between @a first and @a last, plus linear + in the distance between @a last and end of the container + - strings and binary: linear in the length of the member + - other types: constant + + @liveexample{The example shows the result of `erase()` for different JSON + types.,erase__IteratorType_IteratorType} + + @sa see @ref erase(IteratorType) -- removes the element at a given position + @sa see @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + @sa see @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + template < class IteratorType, typename std::enable_if < + std::is_same::value || + std::is_same::value, int >::type + = 0 > + IteratorType erase(IteratorType first, IteratorType last) + { + // make sure iterator fits the current value + if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object)) + { + JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value", *this)); + } + + IteratorType result = end(); + + switch (m_type) + { + case value_t::boolean: + case value_t::number_float: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::string: + case value_t::binary: + { + if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin() + || !last.m_it.primitive_iterator.is_end())) + { + JSON_THROW(invalid_iterator::create(204, "iterators out of range", *this)); + } + + if (is_string()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.string); + std::allocator_traits::deallocate(alloc, m_value.string, 1); + m_value.string = nullptr; + } + else if (is_binary()) + { + AllocatorType alloc; + std::allocator_traits::destroy(alloc, m_value.binary); + std::allocator_traits::deallocate(alloc, m_value.binary, 1); + m_value.binary = nullptr; + } + + m_type = value_t::null; + assert_invariant(); + break; + } + + case value_t::object: + { + result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator, + last.m_it.object_iterator); + break; + } + + case value_t::array: + { + result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator, + last.m_it.array_iterator); + break; + } + + case value_t::null: + case value_t::discarded: + default: + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this)); + } + + return result; + } + + /*! + @brief remove element from a JSON object given a key + + Removes elements from a JSON object with the key value @a key. + + @param[in] key value of the elements to remove + + @return Number of elements removed. If @a ObjectType is the default + `std::map` type, the return value will always be `0` (@a key was not + found) or `1` (@a key was found). + + @post References and iterators to the erased elements are invalidated. + Other references and iterators are not affected. + + @throw type_error.307 when called on a type other than JSON object; + example: `"cannot use erase() with null"` + + @complexity `log(size()) + count(key)` + + @liveexample{The example shows the effect of `erase()`.,erase__key_type} + + @sa see @ref erase(IteratorType) -- removes the element at a given position + @sa see @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa see @ref erase(const size_type) -- removes the element from an array at + the given index + + @since version 1.0.0 + */ + size_type erase(const typename object_t::key_type& key) + { + // this erase only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + return m_value.object->erase(key); + } + + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this)); + } + + /*! + @brief remove element from a JSON array given an index + + Removes element from a JSON array at the index @a idx. + + @param[in] idx index of the element to remove + + @throw type_error.307 when called on a type other than JSON object; + example: `"cannot use erase() with null"` + @throw out_of_range.401 when `idx >= size()`; example: `"array index 17 + is out of range"` + + @complexity Linear in distance between @a idx and the end of the container. + + @liveexample{The example shows the effect of `erase()`.,erase__size_type} + + @sa see @ref erase(IteratorType) -- removes the element at a given position + @sa see @ref erase(IteratorType, IteratorType) -- removes the elements in + the given range + @sa see @ref erase(const typename object_t::key_type&) -- removes the element + from an object at the given key + + @since version 1.0.0 + */ + void erase(const size_type idx) + { + // this erase only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + if (JSON_HEDLEY_UNLIKELY(idx >= size())) + { + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this)); + } + + m_value.array->erase(m_value.array->begin() + static_cast(idx)); + } + else + { + JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this)); + } + } + + /// @} + + + //////////// + // lookup // + //////////// + + /// @name lookup + /// @{ + + /*! + @brief find an element in a JSON object + + Finds an element in a JSON object with key equivalent to @a key. If the + element is not found or the JSON value is not an object, end() is + returned. + + @note This method always returns @ref end() when executed on a JSON type + that is not an object. + + @param[in] key key value of the element to search for. + + @return Iterator to an element with key equivalent to @a key. If no such + element is found or the JSON value is not an object, past-the-end (see + @ref end()) iterator is returned. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The example shows how `find()` is used.,find__key_type} + + @sa see @ref contains(KeyT&&) const -- checks whether a key exists + + @since version 1.0.0 + */ + template + iterator find(KeyT&& key) + { + auto result = end(); + + if (is_object()) + { + result.m_it.object_iterator = m_value.object->find(std::forward(key)); + } + + return result; + } + + /*! + @brief find an element in a JSON object + @copydoc find(KeyT&&) + */ + template + const_iterator find(KeyT&& key) const + { + auto result = cend(); + + if (is_object()) + { + result.m_it.object_iterator = m_value.object->find(std::forward(key)); + } + + return result; + } + + /*! + @brief returns the number of occurrences of a key in a JSON object + + Returns the number of elements with key @a key. If ObjectType is the + default `std::map` type, the return value will always be `0` (@a key was + not found) or `1` (@a key was found). + + @note This method always returns `0` when executed on a JSON type that is + not an object. + + @param[in] key key value of the element to count + + @return Number of elements with key @a key. If the JSON value is not an + object, the return value will be `0`. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The example shows how `count()` is used.,count} + + @since version 1.0.0 + */ + template + size_type count(KeyT&& key) const + { + // return 0 for all nonobject types + return is_object() ? m_value.object->count(std::forward(key)) : 0; + } + + /*! + @brief check the existence of an element in a JSON object + + Check whether an element exists in a JSON object with key equivalent to + @a key. If the element is not found or the JSON value is not an object, + false is returned. + + @note This method always returns false when executed on a JSON type + that is not an object. + + @param[in] key key value to check its existence. + + @return true if an element with specified @a key exists. If no such + element with such key is found or the JSON value is not an object, + false is returned. + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The following code shows an example for `contains()`.,contains} + + @sa see @ref find(KeyT&&) -- returns an iterator to an object element + @sa see @ref contains(const json_pointer&) const -- checks the existence for a JSON pointer + + @since version 3.6.0 + */ + template < typename KeyT, typename std::enable_if < + !std::is_same::type, json_pointer>::value, int >::type = 0 > + bool contains(KeyT && key) const + { + return is_object() && m_value.object->find(std::forward(key)) != m_value.object->end(); + } + + /*! + @brief check the existence of an element in a JSON object given a JSON pointer + + Check whether the given JSON pointer @a ptr can be resolved in the current + JSON value. + + @note This method can be executed on any JSON value type. + + @param[in] ptr JSON pointer to check its existence. + + @return true if the JSON pointer can be resolved to a stored value, false + otherwise. + + @post If `j.contains(ptr)` returns true, it is safe to call `j[ptr]`. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + + @complexity Logarithmic in the size of the JSON object. + + @liveexample{The following code shows an example for `contains()`.,contains_json_pointer} + + @sa see @ref contains(KeyT &&) const -- checks the existence of a key + + @since version 3.7.0 + */ + bool contains(const json_pointer& ptr) const + { + return ptr.contains(this); + } + + /// @} + + + /////////////// + // iterators // + /////////////// + + /// @name iterators + /// @{ + + /*! + @brief returns an iterator to the first element + + Returns an iterator to the first element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return iterator to the first element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + + @liveexample{The following code shows an example for `begin()`.,begin} + + @sa see @ref cbegin() -- returns a const iterator to the beginning + @sa see @ref end() -- returns an iterator to the end + @sa see @ref cend() -- returns a const iterator to the end + + @since version 1.0.0 + */ + iterator begin() noexcept + { + iterator result(this); + result.set_begin(); + return result; + } + + /*! + @copydoc basic_json::cbegin() + */ + const_iterator begin() const noexcept + { + return cbegin(); + } + + /*! + @brief returns a const iterator to the first element + + Returns a const iterator to the first element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return const iterator to the first element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).begin()`. + + @liveexample{The following code shows an example for `cbegin()`.,cbegin} + + @sa see @ref begin() -- returns an iterator to the beginning + @sa see @ref end() -- returns an iterator to the end + @sa see @ref cend() -- returns a const iterator to the end + + @since version 1.0.0 + */ + const_iterator cbegin() const noexcept + { + const_iterator result(this); + result.set_begin(); + return result; + } + + /*! + @brief returns an iterator to one past the last element + + Returns an iterator to one past the last element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return iterator one past the last element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + + @liveexample{The following code shows an example for `end()`.,end} + + @sa see @ref cend() -- returns a const iterator to the end + @sa see @ref begin() -- returns an iterator to the beginning + @sa see @ref cbegin() -- returns a const iterator to the beginning + + @since version 1.0.0 + */ + iterator end() noexcept + { + iterator result(this); + result.set_end(); + return result; + } + + /*! + @copydoc basic_json::cend() + */ + const_iterator end() const noexcept + { + return cend(); + } + + /*! + @brief returns a const iterator to one past the last element + + Returns a const iterator to one past the last element. + + @image html range-begin-end.svg "Illustration from cppreference.com" + + @return const iterator one past the last element + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).end()`. + + @liveexample{The following code shows an example for `cend()`.,cend} + + @sa see @ref end() -- returns an iterator to the end + @sa see @ref begin() -- returns an iterator to the beginning + @sa see @ref cbegin() -- returns a const iterator to the beginning + + @since version 1.0.0 + */ + const_iterator cend() const noexcept + { + const_iterator result(this); + result.set_end(); + return result; + } + + /*! + @brief returns an iterator to the reverse-beginning + + Returns an iterator to the reverse-beginning; that is, the last element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `reverse_iterator(end())`. + + @liveexample{The following code shows an example for `rbegin()`.,rbegin} + + @sa see @ref crbegin() -- returns a const reverse iterator to the beginning + @sa see @ref rend() -- returns a reverse iterator to the end + @sa see @ref crend() -- returns a const reverse iterator to the end + + @since version 1.0.0 + */ + reverse_iterator rbegin() noexcept + { + return reverse_iterator(end()); + } + + /*! + @copydoc basic_json::crbegin() + */ + const_reverse_iterator rbegin() const noexcept + { + return crbegin(); + } + + /*! + @brief returns an iterator to the reverse-end + + Returns an iterator to the reverse-end; that is, one before the first + element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `reverse_iterator(begin())`. + + @liveexample{The following code shows an example for `rend()`.,rend} + + @sa see @ref crend() -- returns a const reverse iterator to the end + @sa see @ref rbegin() -- returns a reverse iterator to the beginning + @sa see @ref crbegin() -- returns a const reverse iterator to the beginning + + @since version 1.0.0 + */ + reverse_iterator rend() noexcept + { + return reverse_iterator(begin()); + } + + /*! + @copydoc basic_json::crend() + */ + const_reverse_iterator rend() const noexcept + { + return crend(); + } + + /*! + @brief returns a const reverse iterator to the last element + + Returns a const iterator to the reverse-beginning; that is, the last + element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).rbegin()`. + + @liveexample{The following code shows an example for `crbegin()`.,crbegin} + + @sa see @ref rbegin() -- returns a reverse iterator to the beginning + @sa see @ref rend() -- returns a reverse iterator to the end + @sa see @ref crend() -- returns a const reverse iterator to the end + + @since version 1.0.0 + */ + const_reverse_iterator crbegin() const noexcept + { + return const_reverse_iterator(cend()); + } + + /*! + @brief returns a const reverse iterator to one before the first + + Returns a const reverse iterator to the reverse-end; that is, one before + the first element. + + @image html range-rbegin-rend.svg "Illustration from cppreference.com" + + @complexity Constant. + + @requirement This function helps `basic_json` satisfying the + [ReversibleContainer](https://en.cppreference.com/w/cpp/named_req/ReversibleContainer) + requirements: + - The complexity is constant. + - Has the semantics of `const_cast(*this).rend()`. + + @liveexample{The following code shows an example for `crend()`.,crend} + + @sa see @ref rend() -- returns a reverse iterator to the end + @sa see @ref rbegin() -- returns a reverse iterator to the beginning + @sa see @ref crbegin() -- returns a const reverse iterator to the beginning + + @since version 1.0.0 + */ + const_reverse_iterator crend() const noexcept + { + return const_reverse_iterator(cbegin()); + } + + public: + /*! + @brief wrapper to access iterator member functions in range-based for + + This function allows to access @ref iterator::key() and @ref + iterator::value() during range-based for loops. In these loops, a + reference to the JSON values is returned, so there is no access to the + underlying iterator. + + For loop without iterator_wrapper: + + @code{cpp} + for (auto it = j_object.begin(); it != j_object.end(); ++it) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + Range-based for loop without iterator proxy: + + @code{cpp} + for (auto it : j_object) + { + // "it" is of type json::reference and has no key() member + std::cout << "value: " << it << '\n'; + } + @endcode + + Range-based for loop with iterator proxy: + + @code{cpp} + for (auto it : json::iterator_wrapper(j_object)) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + @note When iterating over an array, `key()` will return the index of the + element as string (see example). + + @param[in] ref reference to a JSON value + @return iteration proxy object wrapping @a ref with an interface to use in + range-based for loops + + @liveexample{The following code shows how the wrapper is used,iterator_wrapper} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @note The name of this function is not yet final and may change in the + future. + + @deprecated This stream operator is deprecated and will be removed in + future 4.0.0 of the library. Please use @ref items() instead; + that is, replace `json::iterator_wrapper(j)` with `j.items()`. + */ + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) + static iteration_proxy iterator_wrapper(reference ref) noexcept + { + return ref.items(); + } + + /*! + @copydoc iterator_wrapper(reference) + */ + JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items()) + static iteration_proxy iterator_wrapper(const_reference ref) noexcept + { + return ref.items(); + } + + /*! + @brief helper to access iterator member functions in range-based for + + This function allows to access @ref iterator::key() and @ref + iterator::value() during range-based for loops. In these loops, a + reference to the JSON values is returned, so there is no access to the + underlying iterator. + + For loop without `items()` function: + + @code{cpp} + for (auto it = j_object.begin(); it != j_object.end(); ++it) + { + std::cout << "key: " << it.key() << ", value:" << it.value() << '\n'; + } + @endcode + + Range-based for loop without `items()` function: + + @code{cpp} + for (auto it : j_object) + { + // "it" is of type json::reference and has no key() member + std::cout << "value: " << it << '\n'; + } + @endcode + + Range-based for loop with `items()` function: + + @code{cpp} + for (auto& el : j_object.items()) + { + std::cout << "key: " << el.key() << ", value:" << el.value() << '\n'; + } + @endcode + + The `items()` function also allows to use + [structured bindings](https://en.cppreference.com/w/cpp/language/structured_binding) + (C++17): + + @code{cpp} + for (auto& [key, val] : j_object.items()) + { + std::cout << "key: " << key << ", value:" << val << '\n'; + } + @endcode + + @note When iterating over an array, `key()` will return the index of the + element as string (see example). For primitive types (e.g., numbers), + `key()` returns an empty string. + + @warning Using `items()` on temporary objects is dangerous. Make sure the + object's lifetime exeeds the iteration. See + for more + information. + + @return iteration proxy object wrapping @a ref with an interface to use in + range-based for loops + + @liveexample{The following code shows how the function is used.,items} + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 3.1.0, structured bindings support since 3.5.0. + */ + iteration_proxy items() noexcept + { + return iteration_proxy(*this); + } + + /*! + @copydoc items() + */ + iteration_proxy items() const noexcept + { + return iteration_proxy(*this); + } + + /// @} + + + ////////////// + // capacity // + ////////////// + + /// @name capacity + /// @{ + + /*! + @brief checks whether the container is empty. + + Checks if a JSON value has no elements (i.e. whether its @ref size is `0`). + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `true` + boolean | `false` + string | `false` + number | `false` + binary | `false` + object | result of function `object_t::empty()` + array | result of function `array_t::empty()` + + @liveexample{The following code uses `empty()` to check if a JSON + object contains any elements.,empty} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their `empty()` functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @note This function does not return whether a string stored as JSON value + is empty - it returns whether the JSON container itself is empty which is + false in the case of a string. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `begin() == end()`. + + @sa see @ref size() -- returns the number of elements + + @since version 1.0.0 + */ + bool empty() const noexcept + { + switch (m_type) + { + case value_t::null: + { + // null values are empty + return true; + } + + case value_t::array: + { + // delegate call to array_t::empty() + return m_value.array->empty(); + } + + case value_t::object: + { + // delegate call to object_t::empty() + return m_value.object->empty(); + } + + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + // all other types are nonempty + return false; + } + } + } + + /*! + @brief returns the number of elements + + Returns the number of elements in a JSON value. + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `0` + boolean | `1` + string | `1` + number | `1` + binary | `1` + object | result of function object_t::size() + array | result of function array_t::size() + + @liveexample{The following code calls `size()` on the different value + types.,size} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their size() functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @note This function does not return the length of a string stored as JSON + value - it returns the number of elements in the JSON value which is 1 in + the case of a string. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of `std::distance(begin(), end())`. + + @sa see @ref empty() -- checks whether the container is empty + @sa see @ref max_size() -- returns the maximal number of elements + + @since version 1.0.0 + */ + size_type size() const noexcept + { + switch (m_type) + { + case value_t::null: + { + // null values are empty + return 0; + } + + case value_t::array: + { + // delegate call to array_t::size() + return m_value.array->size(); + } + + case value_t::object: + { + // delegate call to object_t::size() + return m_value.object->size(); + } + + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + // all other types have size 1 + return 1; + } + } + } + + /*! + @brief returns the maximum possible number of elements + + Returns the maximum number of elements a JSON value is able to hold due to + system or library implementation limitations, i.e. `std::distance(begin(), + end())` for the JSON value. + + @return The return value depends on the different types and is + defined as follows: + Value type | return value + ----------- | ------------- + null | `0` (same as `size()`) + boolean | `1` (same as `size()`) + string | `1` (same as `size()`) + number | `1` (same as `size()`) + binary | `1` (same as `size()`) + object | result of function `object_t::max_size()` + array | result of function `array_t::max_size()` + + @liveexample{The following code calls `max_size()` on the different value + types. Note the output is implementation specific.,max_size} + + @complexity Constant, as long as @ref array_t and @ref object_t satisfy + the Container concept; that is, their `max_size()` functions have constant + complexity. + + @iterators No changes. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @requirement This function helps `basic_json` satisfying the + [Container](https://en.cppreference.com/w/cpp/named_req/Container) + requirements: + - The complexity is constant. + - Has the semantics of returning `b.size()` where `b` is the largest + possible JSON value. + + @sa see @ref size() -- returns the number of elements + + @since version 1.0.0 + */ + size_type max_size() const noexcept + { + switch (m_type) + { + case value_t::array: + { + // delegate call to array_t::max_size() + return m_value.array->max_size(); + } + + case value_t::object: + { + // delegate call to object_t::max_size() + return m_value.object->max_size(); + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + // all other types have max_size() == size() + return size(); + } + } + } + + /// @} + + + /////////////// + // modifiers // + /////////////// + + /// @name modifiers + /// @{ + + /*! + @brief clears the contents + + Clears the content of a JSON value and resets it to the default value as + if @ref basic_json(value_t) would have been called with the current value + type from @ref type(): + + Value type | initial value + ----------- | ------------- + null | `null` + boolean | `false` + string | `""` + number | `0` + binary | An empty byte vector + object | `{}` + array | `[]` + + @post Has the same effect as calling + @code {.cpp} + *this = basic_json(type()); + @endcode + + @liveexample{The example below shows the effect of `clear()` to different + JSON types.,clear} + + @complexity Linear in the size of the JSON value. + + @iterators All iterators, pointers and references related to this container + are invalidated. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @sa see @ref basic_json(value_t) -- constructor that creates an object with the + same value than calling `clear()` + + @since version 1.0.0 + */ + void clear() noexcept + { + switch (m_type) + { + case value_t::number_integer: + { + m_value.number_integer = 0; + break; + } + + case value_t::number_unsigned: + { + m_value.number_unsigned = 0; + break; + } + + case value_t::number_float: + { + m_value.number_float = 0.0; + break; + } + + case value_t::boolean: + { + m_value.boolean = false; + break; + } + + case value_t::string: + { + m_value.string->clear(); + break; + } + + case value_t::binary: + { + m_value.binary->clear(); + break; + } + + case value_t::array: + { + m_value.array->clear(); + break; + } + + case value_t::object: + { + m_value.object->clear(); + break; + } + + case value_t::null: + case value_t::discarded: + default: + break; + } + } + + /*! + @brief add an object to an array + + Appends the given element @a val to the end of the JSON value. If the + function is called on a JSON null value, an empty array is created before + appending @a val. + + @param[in] val the value to add to the JSON array + + @throw type_error.308 when called on a type other than JSON array or + null; example: `"cannot use push_back() with number"` + + @complexity Amortized constant. + + @liveexample{The example shows how `push_back()` and `+=` can be used to + add elements to a JSON array. Note how the `null` value was silently + converted to a JSON array.,push_back} + + @since version 1.0.0 + */ + void push_back(basic_json&& val) + { + // push_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this)); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array (move semantics) + const auto old_capacity = m_value.array->capacity(); + m_value.array->push_back(std::move(val)); + set_parent(m_value.array->back(), old_capacity); + // if val is moved from, basic_json move constructor marks it null so we do not call the destructor + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + reference operator+=(basic_json&& val) + { + push_back(std::move(val)); + return *this; + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + void push_back(const basic_json& val) + { + // push_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this)); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array + const auto old_capacity = m_value.array->capacity(); + m_value.array->push_back(val); + set_parent(m_value.array->back(), old_capacity); + } + + /*! + @brief add an object to an array + @copydoc push_back(basic_json&&) + */ + reference operator+=(const basic_json& val) + { + push_back(val); + return *this; + } + + /*! + @brief add an object to an object + + Inserts the given element @a val to the JSON object. If the function is + called on a JSON null value, an empty object is created before inserting + @a val. + + @param[in] val the value to add to the JSON object + + @throw type_error.308 when called on a type other than JSON object or + null; example: `"cannot use push_back() with number"` + + @complexity Logarithmic in the size of the container, O(log(`size()`)). + + @liveexample{The example shows how `push_back()` and `+=` can be used to + add elements to a JSON object. Note how the `null` value was silently + converted to a JSON object.,push_back__object_t__value} + + @since version 1.0.0 + */ + void push_back(const typename object_t::value_type& val) + { + // push_back only works for null objects or objects + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object()))) + { + JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this)); + } + + // transform null object into an object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // add element to object + auto res = m_value.object->insert(val); + set_parent(res.first->second); + } + + /*! + @brief add an object to an object + @copydoc push_back(const typename object_t::value_type&) + */ + reference operator+=(const typename object_t::value_type& val) + { + push_back(val); + return *this; + } + + /*! + @brief add an object to an object + + This function allows to use `push_back` with an initializer list. In case + + 1. the current value is an object, + 2. the initializer list @a init contains only two elements, and + 3. the first element of @a init is a string, + + @a init is converted into an object element and added using + @ref push_back(const typename object_t::value_type&). Otherwise, @a init + is converted to a JSON value and added using @ref push_back(basic_json&&). + + @param[in] init an initializer list + + @complexity Linear in the size of the initializer list @a init. + + @note This function is required to resolve an ambiguous overload error, + because pairs like `{"key", "value"}` can be both interpreted as + `object_t::value_type` or `std::initializer_list`, see + https://github.com/nlohmann/json/issues/235 for more information. + + @liveexample{The example shows how initializer lists are treated as + objects when possible.,push_back__initializer_list} + */ + void push_back(initializer_list_t init) + { + if (is_object() && init.size() == 2 && (*init.begin())->is_string()) + { + basic_json&& key = init.begin()->moved_or_copied(); + push_back(typename object_t::value_type( + std::move(key.get_ref()), (init.begin() + 1)->moved_or_copied())); + } + else + { + push_back(basic_json(init)); + } + } + + /*! + @brief add an object to an object + @copydoc push_back(initializer_list_t) + */ + reference operator+=(initializer_list_t init) + { + push_back(init); + return *this; + } + + /*! + @brief add an object to an array + + Creates a JSON value from the passed parameters @a args to the end of the + JSON value. If the function is called on a JSON null value, an empty array + is created before appending the value created from @a args. + + @param[in] args arguments to forward to a constructor of @ref basic_json + @tparam Args compatible types to create a @ref basic_json object + + @return reference to the inserted element + + @throw type_error.311 when called on a type other than JSON array or + null; example: `"cannot use emplace_back() with number"` + + @complexity Amortized constant. + + @liveexample{The example shows how `push_back()` can be used to add + elements to a JSON array. Note how the `null` value was silently converted + to a JSON array.,emplace_back} + + @since version 2.0.8, returns reference since 3.7.0 + */ + template + reference emplace_back(Args&& ... args) + { + // emplace_back only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array()))) + { + JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name()), *this)); + } + + // transform null object into an array + if (is_null()) + { + m_type = value_t::array; + m_value = value_t::array; + assert_invariant(); + } + + // add element to array (perfect forwarding) + const auto old_capacity = m_value.array->capacity(); + m_value.array->emplace_back(std::forward(args)...); + return set_parent(m_value.array->back(), old_capacity); + } + + /*! + @brief add an object to an object if key does not exist + + Inserts a new element into a JSON object constructed in-place with the + given @a args if there is no element with the key in the container. If the + function is called on a JSON null value, an empty object is created before + appending the value created from @a args. + + @param[in] args arguments to forward to a constructor of @ref basic_json + @tparam Args compatible types to create a @ref basic_json object + + @return a pair consisting of an iterator to the inserted element, or the + already-existing element if no insertion happened, and a bool + denoting whether the insertion took place. + + @throw type_error.311 when called on a type other than JSON object or + null; example: `"cannot use emplace() with number"` + + @complexity Logarithmic in the size of the container, O(log(`size()`)). + + @liveexample{The example shows how `emplace()` can be used to add elements + to a JSON object. Note how the `null` value was silently converted to a + JSON object. Further note how no value is added if there was already one + value stored with the same key.,emplace} + + @since version 2.0.8 + */ + template + std::pair emplace(Args&& ... args) + { + // emplace only works for null objects or arrays + if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object()))) + { + JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name()), *this)); + } + + // transform null object into an object + if (is_null()) + { + m_type = value_t::object; + m_value = value_t::object; + assert_invariant(); + } + + // add element to array (perfect forwarding) + auto res = m_value.object->emplace(std::forward(args)...); + set_parent(res.first->second); + + // create result iterator and set iterator to the result of emplace + auto it = begin(); + it.m_it.object_iterator = res.first; + + // return pair of iterator and boolean + return {it, res.second}; + } + + /// Helper for insertion of an iterator + /// @note: This uses std::distance to support GCC 4.8, + /// see https://github.com/nlohmann/json/pull/1257 + template + iterator insert_iterator(const_iterator pos, Args&& ... args) + { + iterator result(this); + JSON_ASSERT(m_value.array != nullptr); + + auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator); + m_value.array->insert(pos.m_it.array_iterator, std::forward(args)...); + result.m_it.array_iterator = m_value.array->begin() + insert_pos; + + // This could have been written as: + // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val); + // but the return value of insert is missing in GCC 4.8, so it is written this way instead. + + set_parents(); + return result; + } + + /*! + @brief inserts element + + Inserts element @a val before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] val element to insert + @return iterator pointing to the inserted @a val. + + @throw type_error.309 if called on JSON values other than arrays; + example: `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @complexity Constant plus linear in the distance between @a pos and end of + the container. + + @liveexample{The example shows how `insert()` is used.,insert} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, const basic_json& val) + { + // insert only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this)); + } + + // insert to array and return iterator + return insert_iterator(pos, val); + } + + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this)); + } + + /*! + @brief inserts element + @copydoc insert(const_iterator, const basic_json&) + */ + iterator insert(const_iterator pos, basic_json&& val) + { + return insert(pos, val); + } + + /*! + @brief inserts elements + + Inserts @a cnt copies of @a val before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] cnt number of copies of @a val to insert + @param[in] val element to insert + @return iterator pointing to the first element inserted, or @a pos if + `cnt==0` + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @complexity Linear in @a cnt plus linear in the distance between @a pos + and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__count} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, size_type cnt, const basic_json& val) + { + // insert only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this)); + } + + // insert to array and return iterator + return insert_iterator(pos, cnt, val); + } + + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this)); + } + + /*! + @brief inserts elements + + Inserts elements from range `[first, last)` before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + @throw invalid_iterator.211 if @a first or @a last are iterators into + container for which insert is called; example: `"passed iterators may not + belong to container"` + + @return iterator pointing to the first element inserted, or @a pos if + `first==last` + + @complexity Linear in `std::distance(first, last)` plus linear in the + distance between @a pos and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__range} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, const_iterator first, const_iterator last) + { + // insert only works for arrays + if (JSON_HEDLEY_UNLIKELY(!is_array())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this)); + } + + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this)); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this)); + } + + if (JSON_HEDLEY_UNLIKELY(first.m_object == this)) + { + JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container", *this)); + } + + // insert to array and return iterator + return insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator); + } + + /*! + @brief inserts elements + + Inserts elements from initializer list @a ilist before iterator @a pos. + + @param[in] pos iterator before which the content will be inserted; may be + the end() iterator + @param[in] ilist initializer list to insert the values from + + @throw type_error.309 if called on JSON values other than arrays; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if @a pos is not an iterator of *this; + example: `"iterator does not fit current value"` + + @return iterator pointing to the first element inserted, or @a pos if + `ilist` is empty + + @complexity Linear in `ilist.size()` plus linear in the distance between + @a pos and end of the container. + + @liveexample{The example shows how `insert()` is used.,insert__ilist} + + @since version 1.0.0 + */ + iterator insert(const_iterator pos, initializer_list_t ilist) + { + // insert only works for arrays + if (JSON_HEDLEY_UNLIKELY(!is_array())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this)); + } + + // check if iterator pos fits to this JSON value + if (JSON_HEDLEY_UNLIKELY(pos.m_object != this)) + { + JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this)); + } + + // insert to array and return iterator + return insert_iterator(pos, ilist.begin(), ilist.end()); + } + + /*! + @brief inserts elements + + Inserts elements from range `[first, last)`. + + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.309 if called on JSON values other than objects; example: + `"cannot use insert() with string"` + @throw invalid_iterator.202 if iterator @a first or @a last does does not + point to an object; example: `"iterators first and last must point to + objects"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + + @complexity Logarithmic: `O(N*log(size() + N))`, where `N` is the number + of elements to insert. + + @liveexample{The example shows how `insert()` is used.,insert__range_object} + + @since version 3.0.0 + */ + void insert(const_iterator first, const_iterator last) + { + // insert only works for objects + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this)); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this)); + } + + // passed iterators must belong to objects + if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object())) + { + JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects", *this)); + } + + m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator); + } + + /*! + @brief updates a JSON object from another object, overwriting existing keys + + Inserts all values from JSON object @a j and overwrites existing keys. + + @param[in] j JSON object to read values from + + @throw type_error.312 if called on JSON values other than objects; example: + `"cannot use update() with string"` + + @complexity O(N*log(size() + N)), where N is the number of elements to + insert. + + @liveexample{The example shows how `update()` is used.,update} + + @sa https://docs.python.org/3.6/library/stdtypes.html#dict.update + + @since version 3.0.0 + */ + void update(const_reference j) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()), *this)); + } + if (JSON_HEDLEY_UNLIKELY(!j.is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name()), *this)); + } + + for (auto it = j.cbegin(); it != j.cend(); ++it) + { + m_value.object->operator[](it.key()) = it.value(); +#if JSON_DIAGNOSTICS + m_value.object->operator[](it.key()).m_parent = this; +#endif + } + } + + /*! + @brief updates a JSON object from another object, overwriting existing keys + + Inserts all values from from range `[first, last)` and overwrites existing + keys. + + @param[in] first begin of the range of elements to insert + @param[in] last end of the range of elements to insert + + @throw type_error.312 if called on JSON values other than objects; example: + `"cannot use update() with string"` + @throw invalid_iterator.202 if iterator @a first or @a last does does not + point to an object; example: `"iterators first and last must point to + objects"` + @throw invalid_iterator.210 if @a first and @a last do not belong to the + same JSON value; example: `"iterators do not fit"` + + @complexity O(N*log(size() + N)), where N is the number of elements to + insert. + + @liveexample{The example shows how `update()` is used__range.,update} + + @sa https://docs.python.org/3.6/library/stdtypes.html#dict.update + + @since version 3.0.0 + */ + void update(const_iterator first, const_iterator last) + { + // implicitly convert null value to an empty object + if (is_null()) + { + m_type = value_t::object; + m_value.object = create(); + assert_invariant(); + } + + if (JSON_HEDLEY_UNLIKELY(!is_object())) + { + JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()), *this)); + } + + // check if range iterators belong to the same JSON object + if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object)) + { + JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this)); + } + + // passed iterators must belong to objects + if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object() + || !last.m_object->is_object())) + { + JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects", *this)); + } + + for (auto it = first; it != last; ++it) + { + m_value.object->operator[](it.key()) = it.value(); +#if JSON_DIAGNOSTICS + m_value.object->operator[](it.key()).m_parent = this; +#endif + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of the JSON value with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + void swap(reference other) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + std::swap(m_type, other.m_type); + std::swap(m_value, other.m_value); + + set_parents(); + other.set_parents(); + assert_invariant(); + } + + /*! + @brief exchanges the values + + Exchanges the contents of the JSON value from @a left with those of @a right. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. implemented as a friend function callable via ADL. + + @param[in,out] left JSON value to exchange the contents with + @param[in,out] right JSON value to exchange the contents with + + @complexity Constant. + + @liveexample{The example below shows how JSON values can be swapped with + `swap()`.,swap__reference} + + @since version 1.0.0 + */ + friend void swap(reference left, reference right) noexcept ( + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value&& + std::is_nothrow_move_constructible::value&& + std::is_nothrow_move_assignable::value + ) + { + left.swap(right); + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON array with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other array to exchange the contents with + + @throw type_error.310 when JSON value is not an array; example: `"cannot + use swap() with string"` + + @complexity Constant. + + @liveexample{The example below shows how arrays can be swapped with + `swap()`.,swap__array_t} + + @since version 1.0.0 + */ + void swap(array_t& other) // NOLINT(bugprone-exception-escape) + { + // swap only works for arrays + if (JSON_HEDLEY_LIKELY(is_array())) + { + std::swap(*(m_value.array), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON object with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other object to exchange the contents with + + @throw type_error.310 when JSON value is not an object; example: + `"cannot use swap() with string"` + + @complexity Constant. + + @liveexample{The example below shows how objects can be swapped with + `swap()`.,swap__object_t} + + @since version 1.0.0 + */ + void swap(object_t& other) // NOLINT(bugprone-exception-escape) + { + // swap only works for objects + if (JSON_HEDLEY_LIKELY(is_object())) + { + std::swap(*(m_value.object), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON string with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other string to exchange the contents with + + @throw type_error.310 when JSON value is not a string; example: `"cannot + use swap() with boolean"` + + @complexity Constant. + + @liveexample{The example below shows how strings can be swapped with + `swap()`.,swap__string_t} + + @since version 1.0.0 + */ + void swap(string_t& other) // NOLINT(bugprone-exception-escape) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_string())) + { + std::swap(*(m_value.string), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this)); + } + } + + /*! + @brief exchanges the values + + Exchanges the contents of a JSON string with those of @a other. Does not + invoke any move, copy, or swap operations on individual elements. All + iterators and references remain valid. The past-the-end iterator is + invalidated. + + @param[in,out] other binary to exchange the contents with + + @throw type_error.310 when JSON value is not a string; example: `"cannot + use swap() with boolean"` + + @complexity Constant. + + @liveexample{The example below shows how strings can be swapped with + `swap()`.,swap__binary_t} + + @since version 3.8.0 + */ + void swap(binary_t& other) // NOLINT(bugprone-exception-escape) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this)); + } + } + + /// @copydoc swap(binary_t&) + void swap(typename binary_t::container_type& other) // NOLINT(bugprone-exception-escape) + { + // swap only works for strings + if (JSON_HEDLEY_LIKELY(is_binary())) + { + std::swap(*(m_value.binary), other); + } + else + { + JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this)); + } + } + + /// @} + + public: + ////////////////////////////////////////// + // lexicographical comparison operators // + ////////////////////////////////////////// + + /// @name lexicographical comparison operators + /// @{ + + /*! + @brief comparison: equal + + Compares two JSON values for equality according to the following rules: + - Two JSON values are equal if (1) they are from the same type and (2) + their stored values are the same according to their respective + `operator==`. + - Integer and floating-point numbers are automatically converted before + comparison. Note that two NaN values are always treated as unequal. + - Two JSON null values are equal. + + @note Floating-point inside JSON values numbers are compared with + `json::number_float_t::operator==` which is `double::operator==` by + default. To compare floating-point while respecting an epsilon, an alternative + [comparison function](https://github.com/mariokonrad/marnav/blob/master/include/marnav/math/floatingpoint.hpp#L34-#L39) + could be used, for instance + @code {.cpp} + template::value, T>::type> + inline bool is_same(T a, T b, T epsilon = std::numeric_limits::epsilon()) noexcept + { + return std::abs(a - b) <= epsilon; + } + @endcode + Or you can self-defined operator equal function like this: + @code {.cpp} + bool my_equal(const_reference lhs, const_reference rhs) { + const auto lhs_type lhs.type(); + const auto rhs_type rhs.type(); + if (lhs_type == rhs_type) { + switch(lhs_type) + // self_defined case + case value_t::number_float: + return std::abs(lhs - rhs) <= std::numeric_limits::epsilon(); + // other cases remain the same with the original + ... + } + ... + } + @endcode + + @note NaN values never compare equal to themselves or to other NaN values. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether the values @a lhs and @a rhs are equal + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @complexity Linear. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__equal} + + @since version 1.0.0 + */ + friend bool operator==(const_reference lhs, const_reference rhs) noexcept + { +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wfloat-equal" +#endif + const auto lhs_type = lhs.type(); + const auto rhs_type = rhs.type(); + + if (lhs_type == rhs_type) + { + switch (lhs_type) + { + case value_t::array: + return *lhs.m_value.array == *rhs.m_value.array; + + case value_t::object: + return *lhs.m_value.object == *rhs.m_value.object; + + case value_t::null: + return true; + + case value_t::string: + return *lhs.m_value.string == *rhs.m_value.string; + + case value_t::boolean: + return lhs.m_value.boolean == rhs.m_value.boolean; + + case value_t::number_integer: + return lhs.m_value.number_integer == rhs.m_value.number_integer; + + case value_t::number_unsigned: + return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned; + + case value_t::number_float: + return lhs.m_value.number_float == rhs.m_value.number_float; + + case value_t::binary: + return *lhs.m_value.binary == *rhs.m_value.binary; + + case value_t::discarded: + default: + return false; + } + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_integer) == rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer) + { + return lhs.m_value.number_float == static_cast(rhs.m_value.number_integer); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_unsigned) == rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_float == static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer) + { + return static_cast(lhs.m_value.number_unsigned) == rhs.m_value.number_integer; + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_integer == static_cast(rhs.m_value.number_unsigned); + } + + return false; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + } + + /*! + @brief comparison: equal + @copydoc operator==(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator==(const_reference lhs, ScalarType rhs) noexcept + { + return lhs == basic_json(rhs); + } + + /*! + @brief comparison: equal + @copydoc operator==(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator==(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) == rhs; + } + + /*! + @brief comparison: not equal + + Compares two JSON values for inequality by calculating `not (lhs == rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether the values @a lhs and @a rhs are not equal + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__notequal} + + @since version 1.0.0 + */ + friend bool operator!=(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs == rhs); + } + + /*! + @brief comparison: not equal + @copydoc operator!=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator!=(const_reference lhs, ScalarType rhs) noexcept + { + return lhs != basic_json(rhs); + } + + /*! + @brief comparison: not equal + @copydoc operator!=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator!=(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) != rhs; + } + + /*! + @brief comparison: less than + + Compares whether one JSON value @a lhs is less than another JSON value @a + rhs according to the following rules: + - If @a lhs and @a rhs have the same type, the values are compared using + the default `<` operator. + - Integer and floating-point numbers are automatically converted before + comparison + - In case @a lhs and @a rhs have different types, the values are ignored + and the order of the types is considered, see + @ref operator<(const value_t, const value_t). + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is less than @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__less} + + @since version 1.0.0 + */ + friend bool operator<(const_reference lhs, const_reference rhs) noexcept + { + const auto lhs_type = lhs.type(); + const auto rhs_type = rhs.type(); + + if (lhs_type == rhs_type) + { + switch (lhs_type) + { + case value_t::array: + // note parentheses are necessary, see + // https://github.com/nlohmann/json/issues/1530 + return (*lhs.m_value.array) < (*rhs.m_value.array); + + case value_t::object: + return (*lhs.m_value.object) < (*rhs.m_value.object); + + case value_t::null: + return false; + + case value_t::string: + return (*lhs.m_value.string) < (*rhs.m_value.string); + + case value_t::boolean: + return (lhs.m_value.boolean) < (rhs.m_value.boolean); + + case value_t::number_integer: + return (lhs.m_value.number_integer) < (rhs.m_value.number_integer); + + case value_t::number_unsigned: + return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned); + + case value_t::number_float: + return (lhs.m_value.number_float) < (rhs.m_value.number_float); + + case value_t::binary: + return (*lhs.m_value.binary) < (*rhs.m_value.binary); + + case value_t::discarded: + default: + return false; + } + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_integer) < rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer) + { + return lhs.m_value.number_float < static_cast(rhs.m_value.number_integer); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float) + { + return static_cast(lhs.m_value.number_unsigned) < rhs.m_value.number_float; + } + else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_float < static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned) + { + return lhs.m_value.number_integer < static_cast(rhs.m_value.number_unsigned); + } + else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer) + { + return static_cast(lhs.m_value.number_unsigned) < rhs.m_value.number_integer; + } + + // We only reach this line if we cannot compare values. In that case, + // we compare types. Note we have to call the operator explicitly, + // because MSVC has problems otherwise. + return operator<(lhs_type, rhs_type); + } + + /*! + @brief comparison: less than + @copydoc operator<(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<(const_reference lhs, ScalarType rhs) noexcept + { + return lhs < basic_json(rhs); + } + + /*! + @brief comparison: less than + @copydoc operator<(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) < rhs; + } + + /*! + @brief comparison: less than or equal + + Compares whether one JSON value @a lhs is less than or equal to another + JSON value by calculating `not (rhs < lhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is less than or equal to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__greater} + + @since version 1.0.0 + */ + friend bool operator<=(const_reference lhs, const_reference rhs) noexcept + { + return !(rhs < lhs); + } + + /*! + @brief comparison: less than or equal + @copydoc operator<=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<=(const_reference lhs, ScalarType rhs) noexcept + { + return lhs <= basic_json(rhs); + } + + /*! + @brief comparison: less than or equal + @copydoc operator<=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator<=(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) <= rhs; + } + + /*! + @brief comparison: greater than + + Compares whether one JSON value @a lhs is greater than another + JSON value by calculating `not (lhs <= rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is greater than to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__lessequal} + + @since version 1.0.0 + */ + friend bool operator>(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs <= rhs); + } + + /*! + @brief comparison: greater than + @copydoc operator>(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>(const_reference lhs, ScalarType rhs) noexcept + { + return lhs > basic_json(rhs); + } + + /*! + @brief comparison: greater than + @copydoc operator>(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) > rhs; + } + + /*! + @brief comparison: greater than or equal + + Compares whether one JSON value @a lhs is greater than or equal to another + JSON value by calculating `not (lhs < rhs)`. + + @param[in] lhs first JSON value to consider + @param[in] rhs second JSON value to consider + @return whether @a lhs is greater than or equal to @a rhs + + @complexity Linear. + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @liveexample{The example demonstrates comparing several JSON + types.,operator__greaterequal} + + @since version 1.0.0 + */ + friend bool operator>=(const_reference lhs, const_reference rhs) noexcept + { + return !(lhs < rhs); + } + + /*! + @brief comparison: greater than or equal + @copydoc operator>=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>=(const_reference lhs, ScalarType rhs) noexcept + { + return lhs >= basic_json(rhs); + } + + /*! + @brief comparison: greater than or equal + @copydoc operator>=(const_reference, const_reference) + */ + template::value, int>::type = 0> + friend bool operator>=(ScalarType lhs, const_reference rhs) noexcept + { + return basic_json(lhs) >= rhs; + } + + /// @} + + /////////////////// + // serialization // + /////////////////// + + /// @name serialization + /// @{ +#ifndef JSON_NO_IO + /*! + @brief serialize to stream + + Serialize the given JSON value @a j to the output stream @a o. The JSON + value will be serialized using the @ref dump member function. + + - The indentation of the output can be controlled with the member variable + `width` of the output stream @a o. For instance, using the manipulator + `std::setw(4)` on @a o sets the indentation level to `4` and the + serialization result is the same as calling `dump(4)`. + + - The indentation character can be controlled with the member variable + `fill` of the output stream @a o. For instance, the manipulator + `std::setfill('\\t')` sets indentation to use a tab character rather than + the default space character. + + @param[in,out] o stream to serialize to + @param[in] j JSON value to serialize + + @return the stream @a o + + @throw type_error.316 if a string stored inside the JSON value is not + UTF-8 encoded + + @complexity Linear. + + @liveexample{The example below shows the serialization with different + parameters to `width` to adjust the indentation level.,operator_serialize} + + @since version 1.0.0; indentation character added in version 3.0.0 + */ + friend std::ostream& operator<<(std::ostream& o, const basic_json& j) + { + // read width member and use it as indentation parameter if nonzero + const bool pretty_print = o.width() > 0; + const auto indentation = pretty_print ? o.width() : 0; + + // reset width to 0 for subsequent calls to this stream + o.width(0); + + // do the actual serialization + serializer s(detail::output_adapter(o), o.fill()); + s.dump(j, pretty_print, false, static_cast(indentation)); + return o; + } + + /*! + @brief serialize to stream + @deprecated This stream operator is deprecated and will be removed in + future 4.0.0 of the library. Please use + @ref operator<<(std::ostream&, const basic_json&) + instead; that is, replace calls like `j >> o;` with `o << j;`. + @since version 1.0.0; deprecated since version 3.0.0 + */ + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&)) + friend std::ostream& operator>>(const basic_json& j, std::ostream& o) + { + return o << j; + } +#endif // JSON_NO_IO + /// @} + + + ///////////////////// + // deserialization // + ///////////////////// + + /// @name deserialization + /// @{ + + /*! + @brief deserialize from a compatible input + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. The complexity can be higher if the parser callback function + @a cb or reading from the input @a i has a super-linear complexity. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `parse()` function reading + from an array.,parse__array__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function with + and without callback function.,parse__string__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function with + and without callback function.,parse__istream__parser_callback_t} + + @liveexample{The example below demonstrates the `parse()` function reading + from a contiguous container.,parse__contiguouscontainer__parser_callback_t} + + @since version 2.0.3 (contiguous containers); version 3.9.0 allowed to + ignore comments. + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(InputType&& i, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(detail::input_adapter(std::forward(i)), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + /*! + @brief deserialize from a pair of character iterators + + The value_type of the iterator must be a integral type with size of 1, 2 or + 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + + @param[in] first iterator to start of character range + @param[in] last iterator to end of character range + @param[in] cb a parser callback function of type @ref parser_callback_t + which is used to control the deserialization by filtering unwanted values + (optional) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json parse(IteratorType first, + IteratorType last, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len)) + static basic_json parse(detail::span_input_adapter&& i, + const parser_callback_t cb = nullptr, + const bool allow_exceptions = true, + const bool ignore_comments = false) + { + basic_json result; + parser(i.get(), cb, allow_exceptions, ignore_comments).parse(true, result); + return result; + } + + /*! + @brief check if the input is valid JSON + + Unlike the @ref parse(InputType&&, const parser_callback_t,const bool) + function, this function neither throws an exception in case of invalid JSON + input (i.e., a parse error) nor creates diagnostic information. + + @tparam InputType A compatible input, for instance + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default) + + @return Whether the input read from @a i is valid JSON. + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `accept()` function reading + from a string.,accept__string} + */ + template + static bool accept(InputType&& i, + const bool ignore_comments = false) + { + return parser(detail::input_adapter(std::forward(i)), nullptr, false, ignore_comments).accept(true); + } + + template + static bool accept(IteratorType first, IteratorType last, + const bool ignore_comments = false) + { + return parser(detail::input_adapter(std::move(first), std::move(last)), nullptr, false, ignore_comments).accept(true); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len)) + static bool accept(detail::span_input_adapter&& i, + const bool ignore_comments = false) + { + return parser(i.get(), nullptr, false, ignore_comments).accept(true); + } + + /*! + @brief generate SAX events + + The SAX event lister must follow the interface of @ref json_sax. + + This function reads from a compatible input. Examples are: + - an std::istream object + - a FILE pointer + - a C-style array of characters + - a pointer to a null-terminated string of single byte characters + - an object obj for which begin(obj) and end(obj) produces a valid pair of + iterators. + + @param[in] i input to read from + @param[in,out] sax SAX event listener + @param[in] format the format to parse (JSON, CBOR, MessagePack, or UBJSON) + @param[in] strict whether the input has to be consumed completely + @param[in] ignore_comments whether comments should be ignored and treated + like whitespace (true) or yield a parse error (true); (optional, false by + default); only applies to the JSON file format. + + @return return value of the last processed SAX event + + @throw parse_error.101 if a parse error occurs; example: `""unexpected end + of input; expected string literal""` + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. The complexity can be higher if the SAX consumer @a sax has + a super-linear complexity. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below demonstrates the `sax_parse()` function + reading from string and processing the events with a user-defined SAX + event consumer.,sax_parse} + + @since version 3.2.0 + */ + template + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(InputType&& i, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = detail::input_adapter(std::forward(i)); + return format == input_format_t::json + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + + template + JSON_HEDLEY_NON_NULL(3) + static bool sax_parse(IteratorType first, IteratorType last, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = detail::input_adapter(std::move(first), std::move(last)); + return format == input_format_t::json + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } + + template + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...)) + JSON_HEDLEY_NON_NULL(2) + static bool sax_parse(detail::span_input_adapter&& i, SAX* sax, + input_format_t format = input_format_t::json, + const bool strict = true, + const bool ignore_comments = false) + { + auto ia = i.get(); + return format == input_format_t::json + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict) + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + : detail::binary_reader(std::move(ia)).sax_parse(format, sax, strict); + } +#ifndef JSON_NO_IO + /*! + @brief deserialize from stream + @deprecated This stream operator is deprecated and will be removed in + version 4.0.0 of the library. Please use + @ref operator>>(std::istream&, basic_json&) + instead; that is, replace calls like `j << i;` with `i >> j;`. + @since version 1.0.0; deprecated since version 3.0.0 + */ + JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&)) + friend std::istream& operator<<(basic_json& j, std::istream& i) + { + return operator>>(i, j); + } + + /*! + @brief deserialize from stream + + Deserializes an input stream to a JSON value. + + @param[in,out] i input stream to read a serialized JSON value from + @param[in,out] j JSON value to write the deserialized input to + + @throw parse_error.101 in case of an unexpected token + @throw parse_error.102 if to_unicode fails or surrogate error + @throw parse_error.103 if to_unicode fails + + @complexity Linear in the length of the input. The parser is a predictive + LL(1) parser. + + @note A UTF-8 byte order mark is silently ignored. + + @liveexample{The example below shows how a JSON value is constructed by + reading a serialization from a stream.,operator_deserialize} + + @sa parse(std::istream&, const parser_callback_t) for a variant with a + parser callback function to filter values while parsing + + @since version 1.0.0 + */ + friend std::istream& operator>>(std::istream& i, basic_json& j) + { + parser(detail::input_adapter(i)).parse(false, j); + return i; + } +#endif // JSON_NO_IO + /// @} + + /////////////////////////// + // convenience functions // + /////////////////////////// + + /*! + @brief return the type as string + + Returns the type name as string to be used in error messages - usually to + indicate that a function was called on a wrong JSON type. + + @return a string representation of a the @a m_type member: + Value type | return value + ----------- | ------------- + null | `"null"` + boolean | `"boolean"` + string | `"string"` + number | `"number"` (for all number types) + object | `"object"` + array | `"array"` + binary | `"binary"` + discarded | `"discarded"` + + @exceptionsafety No-throw guarantee: this function never throws exceptions. + + @complexity Constant. + + @liveexample{The following code exemplifies `type_name()` for all JSON + types.,type_name} + + @sa see @ref type() -- return the type of the JSON value + @sa see @ref operator value_t() -- return the type of the JSON value (implicit) + + @since version 1.0.0, public since 2.1.0, `const char*` and `noexcept` + since 3.0.0 + */ + JSON_HEDLEY_RETURNS_NON_NULL + const char* type_name() const noexcept + { + { + switch (m_type) + { + case value_t::null: + return "null"; + case value_t::object: + return "object"; + case value_t::array: + return "array"; + case value_t::string: + return "string"; + case value_t::boolean: + return "boolean"; + case value_t::binary: + return "binary"; + case value_t::discarded: + return "discarded"; + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + default: + return "number"; + } + } + } + + + JSON_PRIVATE_UNLESS_TESTED: + ////////////////////// + // member variables // + ////////////////////// + + /// the type of the current element + value_t m_type = value_t::null; + + /// the value of the current element + json_value m_value = {}; + +#if JSON_DIAGNOSTICS + /// a pointer to a parent value (for debugging purposes) + basic_json* m_parent = nullptr; +#endif + + ////////////////////////////////////////// + // binary serialization/deserialization // + ////////////////////////////////////////// + + /// @name binary serialization/deserialization support + /// @{ + + public: + /*! + @brief create a CBOR serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the CBOR (Concise + Binary Object Representation) serialization format. CBOR is a binary + serialization format which aims to be more compact than JSON itself, yet + more efficient to parse. + + The library uses the following mapping from JSON values types to + CBOR types according to the CBOR specification (RFC 7049): + + JSON value type | value/range | CBOR type | first byte + --------------- | ------------------------------------------ | ---------------------------------- | --------------- + null | `null` | Null | 0xF6 + boolean | `true` | True | 0xF5 + boolean | `false` | False | 0xF4 + number_integer | -9223372036854775808..-2147483649 | Negative integer (8 bytes follow) | 0x3B + number_integer | -2147483648..-32769 | Negative integer (4 bytes follow) | 0x3A + number_integer | -32768..-129 | Negative integer (2 bytes follow) | 0x39 + number_integer | -128..-25 | Negative integer (1 byte follow) | 0x38 + number_integer | -24..-1 | Negative integer | 0x20..0x37 + number_integer | 0..23 | Integer | 0x00..0x17 + number_integer | 24..255 | Unsigned integer (1 byte follow) | 0x18 + number_integer | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 + number_integer | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A + number_integer | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B + number_unsigned | 0..23 | Integer | 0x00..0x17 + number_unsigned | 24..255 | Unsigned integer (1 byte follow) | 0x18 + number_unsigned | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 + number_unsigned | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1A + number_unsigned | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1B + number_float | *any value representable by a float* | Single-Precision Float | 0xFA + number_float | *any value NOT representable by a float* | Double-Precision Float | 0xFB + string | *length*: 0..23 | UTF-8 string | 0x60..0x77 + string | *length*: 23..255 | UTF-8 string (1 byte follow) | 0x78 + string | *length*: 256..65535 | UTF-8 string (2 bytes follow) | 0x79 + string | *length*: 65536..4294967295 | UTF-8 string (4 bytes follow) | 0x7A + string | *length*: 4294967296..18446744073709551615 | UTF-8 string (8 bytes follow) | 0x7B + array | *size*: 0..23 | array | 0x80..0x97 + array | *size*: 23..255 | array (1 byte follow) | 0x98 + array | *size*: 256..65535 | array (2 bytes follow) | 0x99 + array | *size*: 65536..4294967295 | array (4 bytes follow) | 0x9A + array | *size*: 4294967296..18446744073709551615 | array (8 bytes follow) | 0x9B + object | *size*: 0..23 | map | 0xA0..0xB7 + object | *size*: 23..255 | map (1 byte follow) | 0xB8 + object | *size*: 256..65535 | map (2 bytes follow) | 0xB9 + object | *size*: 65536..4294967295 | map (4 bytes follow) | 0xBA + object | *size*: 4294967296..18446744073709551615 | map (8 bytes follow) | 0xBB + binary | *size*: 0..23 | byte string | 0x40..0x57 + binary | *size*: 23..255 | byte string (1 byte follow) | 0x58 + binary | *size*: 256..65535 | byte string (2 bytes follow) | 0x59 + binary | *size*: 65536..4294967295 | byte string (4 bytes follow) | 0x5A + binary | *size*: 4294967296..18446744073709551615 | byte string (8 bytes follow) | 0x5B + + Binary values with subtype are mapped to tagged values (0xD8..0xDB) + depending on the subtype, followed by a byte string, see "binary" cells + in the table above. + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a CBOR value. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @note The following CBOR types are not used in the conversion: + - UTF-8 strings terminated by "break" (0x7F) + - arrays terminated by "break" (0x9F) + - maps terminated by "break" (0xBF) + - byte strings terminated by "break" (0x5F) + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + - half-precision floats (0xF9) + - break (0xFF) + + @param[in] j JSON value to serialize + @return CBOR serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in CBOR format.,to_cbor} + + @sa http://cbor.io + @sa see @ref from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the + analogous deserialization + @sa see @ref to_msgpack(const basic_json&) for the related MessagePack format + @sa see @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9; compact representation of floating-point numbers + since version 3.8.0 + */ + static std::vector to_cbor(const basic_json& j) + { + std::vector result; + to_cbor(j, result); + return result; + } + + static void to_cbor(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_cbor(j); + } + + static void to_cbor(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_cbor(j); + } + + /*! + @brief create a MessagePack serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the MessagePack + serialization format. MessagePack is a binary serialization format which + aims to be more compact than JSON itself, yet more efficient to parse. + + The library uses the following mapping from JSON values types to + MessagePack types according to the MessagePack specification: + + JSON value type | value/range | MessagePack type | first byte + --------------- | --------------------------------- | ---------------- | ---------- + null | `null` | nil | 0xC0 + boolean | `true` | true | 0xC3 + boolean | `false` | false | 0xC2 + number_integer | -9223372036854775808..-2147483649 | int64 | 0xD3 + number_integer | -2147483648..-32769 | int32 | 0xD2 + number_integer | -32768..-129 | int16 | 0xD1 + number_integer | -128..-33 | int8 | 0xD0 + number_integer | -32..-1 | negative fixint | 0xE0..0xFF + number_integer | 0..127 | positive fixint | 0x00..0x7F + number_integer | 128..255 | uint 8 | 0xCC + number_integer | 256..65535 | uint 16 | 0xCD + number_integer | 65536..4294967295 | uint 32 | 0xCE + number_integer | 4294967296..18446744073709551615 | uint 64 | 0xCF + number_unsigned | 0..127 | positive fixint | 0x00..0x7F + number_unsigned | 128..255 | uint 8 | 0xCC + number_unsigned | 256..65535 | uint 16 | 0xCD + number_unsigned | 65536..4294967295 | uint 32 | 0xCE + number_unsigned | 4294967296..18446744073709551615 | uint 64 | 0xCF + number_float | *any value representable by a float* | float 32 | 0xCA + number_float | *any value NOT representable by a float* | float 64 | 0xCB + string | *length*: 0..31 | fixstr | 0xA0..0xBF + string | *length*: 32..255 | str 8 | 0xD9 + string | *length*: 256..65535 | str 16 | 0xDA + string | *length*: 65536..4294967295 | str 32 | 0xDB + array | *size*: 0..15 | fixarray | 0x90..0x9F + array | *size*: 16..65535 | array 16 | 0xDC + array | *size*: 65536..4294967295 | array 32 | 0xDD + object | *size*: 0..15 | fix map | 0x80..0x8F + object | *size*: 16..65535 | map 16 | 0xDE + object | *size*: 65536..4294967295 | map 32 | 0xDF + binary | *size*: 0..255 | bin 8 | 0xC4 + binary | *size*: 256..65535 | bin 16 | 0xC5 + binary | *size*: 65536..4294967295 | bin 32 | 0xC6 + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a MessagePack value. + + @note The following values can **not** be converted to a MessagePack value: + - strings with more than 4294967295 bytes + - byte strings with more than 4294967295 bytes + - arrays with more than 4294967295 elements + - objects with more than 4294967295 elements + + @note Any MessagePack output created @ref to_msgpack can be successfully + parsed by @ref from_msgpack. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @param[in] j JSON value to serialize + @return MessagePack serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in MessagePack format.,to_msgpack} + + @sa http://msgpack.org + @sa see @ref from_msgpack for the analogous deserialization + @sa see @ref to_cbor(const basic_json& for the related CBOR format + @sa see @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9 + */ + static std::vector to_msgpack(const basic_json& j) + { + std::vector result; + to_msgpack(j, result); + return result; + } + + static void to_msgpack(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_msgpack(j); + } + + static void to_msgpack(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_msgpack(j); + } + + /*! + @brief create a UBJSON serialization of a given JSON value + + Serializes a given JSON value @a j to a byte vector using the UBJSON + (Universal Binary JSON) serialization format. UBJSON aims to be more compact + than JSON itself, yet more efficient to parse. + + The library uses the following mapping from JSON values types to + UBJSON types according to the UBJSON specification: + + JSON value type | value/range | UBJSON type | marker + --------------- | --------------------------------- | ----------- | ------ + null | `null` | null | `Z` + boolean | `true` | true | `T` + boolean | `false` | false | `F` + number_integer | -9223372036854775808..-2147483649 | int64 | `L` + number_integer | -2147483648..-32769 | int32 | `l` + number_integer | -32768..-129 | int16 | `I` + number_integer | -128..127 | int8 | `i` + number_integer | 128..255 | uint8 | `U` + number_integer | 256..32767 | int16 | `I` + number_integer | 32768..2147483647 | int32 | `l` + number_integer | 2147483648..9223372036854775807 | int64 | `L` + number_unsigned | 0..127 | int8 | `i` + number_unsigned | 128..255 | uint8 | `U` + number_unsigned | 256..32767 | int16 | `I` + number_unsigned | 32768..2147483647 | int32 | `l` + number_unsigned | 2147483648..9223372036854775807 | int64 | `L` + number_unsigned | 2147483649..18446744073709551615 | high-precision | `H` + number_float | *any value* | float64 | `D` + string | *with shortest length indicator* | string | `S` + array | *see notes on optimized format* | array | `[` + object | *see notes on optimized format* | map | `{` + + @note The mapping is **complete** in the sense that any JSON value type + can be converted to a UBJSON value. + + @note The following values can **not** be converted to a UBJSON value: + - strings with more than 9223372036854775807 bytes (theoretical) + + @note The following markers are not used in the conversion: + - `Z`: no-op values are not created. + - `C`: single-byte strings are serialized with `S` markers. + + @note Any UBJSON output created @ref to_ubjson can be successfully parsed + by @ref from_ubjson. + + @note If NaN or Infinity are stored inside a JSON number, they are + serialized properly. This behavior differs from the @ref dump() + function which serializes NaN or Infinity to `null`. + + @note The optimized formats for containers are supported: Parameter + @a use_size adds size information to the beginning of a container and + removes the closing marker. Parameter @a use_type further checks + whether all elements of a container have the same type and adds the + type marker to the beginning of the container. The @a use_type + parameter must only be used together with @a use_size = true. Note + that @a use_size = true alone may result in larger representations - + the benefit of this parameter is that the receiving side is + immediately informed on the number of elements of the container. + + @note If the JSON data contains the binary type, the value stored is a list + of integers, as suggested by the UBJSON documentation. In particular, + this means that serialization and the deserialization of a JSON + containing binary values into UBJSON and back will result in a + different JSON object. + + @param[in] j JSON value to serialize + @param[in] use_size whether to add size annotations to container types + @param[in] use_type whether to add type annotations to container types + (must be combined with @a use_size = true) + @return UBJSON serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in UBJSON format.,to_ubjson} + + @sa http://ubjson.org + @sa see @ref from_ubjson(InputType&&, const bool, const bool) for the + analogous deserialization + @sa see @ref to_cbor(const basic_json& for the related CBOR format + @sa see @ref to_msgpack(const basic_json&) for the related MessagePack format + + @since version 3.1.0 + */ + static std::vector to_ubjson(const basic_json& j, + const bool use_size = false, + const bool use_type = false) + { + std::vector result; + to_ubjson(j, result, use_size, use_type); + return result; + } + + static void to_ubjson(const basic_json& j, detail::output_adapter o, + const bool use_size = false, const bool use_type = false) + { + binary_writer(o).write_ubjson(j, use_size, use_type); + } + + static void to_ubjson(const basic_json& j, detail::output_adapter o, + const bool use_size = false, const bool use_type = false) + { + binary_writer(o).write_ubjson(j, use_size, use_type); + } + + + /*! + @brief Serializes the given JSON object `j` to BSON and returns a vector + containing the corresponding BSON-representation. + + BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are + stored as a single entity (a so-called document). + + The library uses the following mapping from JSON values types to BSON types: + + JSON value type | value/range | BSON type | marker + --------------- | --------------------------------- | ----------- | ------ + null | `null` | null | 0x0A + boolean | `true`, `false` | boolean | 0x08 + number_integer | -9223372036854775808..-2147483649 | int64 | 0x12 + number_integer | -2147483648..2147483647 | int32 | 0x10 + number_integer | 2147483648..9223372036854775807 | int64 | 0x12 + number_unsigned | 0..2147483647 | int32 | 0x10 + number_unsigned | 2147483648..9223372036854775807 | int64 | 0x12 + number_unsigned | 9223372036854775808..18446744073709551615| -- | -- + number_float | *any value* | double | 0x01 + string | *any value* | string | 0x02 + array | *any value* | document | 0x04 + object | *any value* | document | 0x03 + binary | *any value* | binary | 0x05 + + @warning The mapping is **incomplete**, since only JSON-objects (and things + contained therein) can be serialized to BSON. + Also, integers larger than 9223372036854775807 cannot be serialized to BSON, + and the keys may not contain U+0000, since they are serialized a + zero-terminated c-strings. + + @throw out_of_range.407 if `j.is_number_unsigned() && j.get() > 9223372036854775807` + @throw out_of_range.409 if a key in `j` contains a NULL (U+0000) + @throw type_error.317 if `!j.is_object()` + + @pre The input `j` is required to be an object: `j.is_object() == true`. + + @note Any BSON output created via @ref to_bson can be successfully parsed + by @ref from_bson. + + @param[in] j JSON value to serialize + @return BSON serialization as byte vector + + @complexity Linear in the size of the JSON value @a j. + + @liveexample{The example shows the serialization of a JSON value to a byte + vector in BSON format.,to_bson} + + @sa http://bsonspec.org/spec.html + @sa see @ref from_bson(detail::input_adapter&&, const bool strict) for the + analogous deserialization + @sa see @ref to_ubjson(const basic_json&, const bool, const bool) for the + related UBJSON format + @sa see @ref to_cbor(const basic_json&) for the related CBOR format + @sa see @ref to_msgpack(const basic_json&) for the related MessagePack format + */ + static std::vector to_bson(const basic_json& j) + { + std::vector result; + to_bson(j, result); + return result; + } + + /*! + @brief Serializes the given JSON object `j` to BSON and forwards the + corresponding BSON-representation to the given output_adapter `o`. + @param j The JSON object to convert to BSON. + @param o The output adapter that receives the binary BSON representation. + @pre The input `j` shall be an object: `j.is_object() == true` + @sa see @ref to_bson(const basic_json&) + */ + static void to_bson(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_bson(j); + } + + /*! + @copydoc to_bson(const basic_json&, detail::output_adapter) + */ + static void to_bson(const basic_json& j, detail::output_adapter o) + { + binary_writer(o).write_bson(j); + } + + + /*! + @brief create a JSON value from an input in CBOR format + + Deserializes a given input @a i to a JSON value using the CBOR (Concise + Binary Object Representation) serialization format. + + The library maps CBOR types to JSON value types as follows: + + CBOR type | JSON value type | first byte + ---------------------- | --------------- | ---------- + Integer | number_unsigned | 0x00..0x17 + Unsigned integer | number_unsigned | 0x18 + Unsigned integer | number_unsigned | 0x19 + Unsigned integer | number_unsigned | 0x1A + Unsigned integer | number_unsigned | 0x1B + Negative integer | number_integer | 0x20..0x37 + Negative integer | number_integer | 0x38 + Negative integer | number_integer | 0x39 + Negative integer | number_integer | 0x3A + Negative integer | number_integer | 0x3B + Byte string | binary | 0x40..0x57 + Byte string | binary | 0x58 + Byte string | binary | 0x59 + Byte string | binary | 0x5A + Byte string | binary | 0x5B + UTF-8 string | string | 0x60..0x77 + UTF-8 string | string | 0x78 + UTF-8 string | string | 0x79 + UTF-8 string | string | 0x7A + UTF-8 string | string | 0x7B + UTF-8 string | string | 0x7F + array | array | 0x80..0x97 + array | array | 0x98 + array | array | 0x99 + array | array | 0x9A + array | array | 0x9B + array | array | 0x9F + map | object | 0xA0..0xB7 + map | object | 0xB8 + map | object | 0xB9 + map | object | 0xBA + map | object | 0xBB + map | object | 0xBF + False | `false` | 0xF4 + True | `true` | 0xF5 + Null | `null` | 0xF6 + Half-Precision Float | number_float | 0xF9 + Single-Precision Float | number_float | 0xFA + Double-Precision Float | number_float | 0xFB + + @warning The mapping is **incomplete** in the sense that not all CBOR + types can be converted to a JSON value. The following CBOR types + are not supported and will yield parse errors (parse_error.112): + - date/time (0xC0..0xC1) + - bignum (0xC2..0xC3) + - decimal fraction (0xC4) + - bigfloat (0xC5) + - expected conversions (0xD5..0xD7) + - simple values (0xE0..0xF3, 0xF8) + - undefined (0xF7) + + @warning CBOR allows map keys of any type, whereas JSON only allows + strings as keys in object values. Therefore, CBOR maps with keys + other than UTF-8 strings are rejected (parse_error.113). + + @note Any CBOR output created @ref to_cbor can be successfully parsed by + @ref from_cbor. + + @param[in] i an input in CBOR format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + @param[in] tag_handler how to treat CBOR tags (optional, error by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if unsupported features from CBOR were + used in the given input @a v or if the input is not valid CBOR + @throw parse_error.113 if a string was expected as map key, but not found + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in CBOR + format to a JSON value.,from_cbor} + + @sa http://cbor.io + @sa see @ref to_cbor(const basic_json&) for the analogous serialization + @sa see @ref from_msgpack(InputType&&, const bool, const bool) for the + related MessagePack format + @sa see @ref from_ubjson(InputType&&, const bool, const bool) for the + related UBJSON format + + @since version 2.0.9; parameter @a start_index since 2.1.1; changed to + consume input adapters, removed start_index parameter, and added + @a strict parameter since 3.0.0; added @a allow_exceptions parameter + since 3.2.0; added @a tag_handler parameter since 3.9.0. + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_cbor(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler); + } + + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len)) + static basic_json from_cbor(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true, + const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @brief create a JSON value from an input in MessagePack format + + Deserializes a given input @a i to a JSON value using the MessagePack + serialization format. + + The library maps MessagePack types to JSON value types as follows: + + MessagePack type | JSON value type | first byte + ---------------- | --------------- | ---------- + positive fixint | number_unsigned | 0x00..0x7F + fixmap | object | 0x80..0x8F + fixarray | array | 0x90..0x9F + fixstr | string | 0xA0..0xBF + nil | `null` | 0xC0 + false | `false` | 0xC2 + true | `true` | 0xC3 + float 32 | number_float | 0xCA + float 64 | number_float | 0xCB + uint 8 | number_unsigned | 0xCC + uint 16 | number_unsigned | 0xCD + uint 32 | number_unsigned | 0xCE + uint 64 | number_unsigned | 0xCF + int 8 | number_integer | 0xD0 + int 16 | number_integer | 0xD1 + int 32 | number_integer | 0xD2 + int 64 | number_integer | 0xD3 + str 8 | string | 0xD9 + str 16 | string | 0xDA + str 32 | string | 0xDB + array 16 | array | 0xDC + array 32 | array | 0xDD + map 16 | object | 0xDE + map 32 | object | 0xDF + bin 8 | binary | 0xC4 + bin 16 | binary | 0xC5 + bin 32 | binary | 0xC6 + ext 8 | binary | 0xC7 + ext 16 | binary | 0xC8 + ext 32 | binary | 0xC9 + fixext 1 | binary | 0xD4 + fixext 2 | binary | 0xD5 + fixext 4 | binary | 0xD6 + fixext 8 | binary | 0xD7 + fixext 16 | binary | 0xD8 + negative fixint | number_integer | 0xE0-0xFF + + @note Any MessagePack output created @ref to_msgpack can be successfully + parsed by @ref from_msgpack. + + @param[in] i an input in MessagePack format convertible to an input + adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if unsupported features from MessagePack were + used in the given input @a i or if the input is not valid MessagePack + @throw parse_error.113 if a string was expected as map key, but not found + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + MessagePack format to a JSON value.,from_msgpack} + + @sa http://msgpack.org + @sa see @ref to_msgpack(const basic_json&) for the analogous serialization + @sa see @ref from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa see @ref from_ubjson(InputType&&, const bool, const bool) for + the related UBJSON format + @sa see @ref from_bson(InputType&&, const bool, const bool) for + the related BSON format + + @since version 2.0.9; parameter @a start_index since 2.1.1; changed to + consume input adapters, removed start_index parameter, and added + @a strict parameter since 3.0.0; added @a allow_exceptions parameter + since 3.2.0 + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_msgpack(InputType&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_msgpack(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_msgpack(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len)) + static basic_json from_msgpack(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + /*! + @brief create a JSON value from an input in UBJSON format + + Deserializes a given input @a i to a JSON value using the UBJSON (Universal + Binary JSON) serialization format. + + The library maps UBJSON types to JSON value types as follows: + + UBJSON type | JSON value type | marker + ----------- | --------------------------------------- | ------ + no-op | *no value, next value is read* | `N` + null | `null` | `Z` + false | `false` | `F` + true | `true` | `T` + float32 | number_float | `d` + float64 | number_float | `D` + uint8 | number_unsigned | `U` + int8 | number_integer | `i` + int16 | number_integer | `I` + int32 | number_integer | `l` + int64 | number_integer | `L` + high-precision number | number_integer, number_unsigned, or number_float - depends on number string | 'H' + string | string | `S` + char | string | `C` + array | array (optimized values are supported) | `[` + object | object (optimized values are supported) | `{` + + @note The mapping is **complete** in the sense that any UBJSON value can + be converted to a JSON value. + + @param[in] i an input in UBJSON format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.110 if the given input ends prematurely or the end of + file was not reached when @a strict was set to true + @throw parse_error.112 if a parse error occurs + @throw parse_error.113 if a string could not be parsed successfully + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + UBJSON format to a JSON value.,from_ubjson} + + @sa http://ubjson.org + @sa see @ref to_ubjson(const basic_json&, const bool, const bool) for the + analogous serialization + @sa see @ref from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa see @ref from_msgpack(InputType&&, const bool, const bool) for + the related MessagePack format + @sa see @ref from_bson(InputType&&, const bool, const bool) for + the related BSON format + + @since version 3.1.0; added @a allow_exceptions parameter since 3.2.0 + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_ubjson(InputType&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_ubjson(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_ubjson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len)) + static basic_json from_ubjson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + + /*! + @brief Create a JSON value from an input in BSON format + + Deserializes a given input @a i to a JSON value using the BSON (Binary JSON) + serialization format. + + The library maps BSON record types to JSON value types as follows: + + BSON type | BSON marker byte | JSON value type + --------------- | ---------------- | --------------------------- + double | 0x01 | number_float + string | 0x02 | string + document | 0x03 | object + array | 0x04 | array + binary | 0x05 | binary + undefined | 0x06 | still unsupported + ObjectId | 0x07 | still unsupported + boolean | 0x08 | boolean + UTC Date-Time | 0x09 | still unsupported + null | 0x0A | null + Regular Expr. | 0x0B | still unsupported + DB Pointer | 0x0C | still unsupported + JavaScript Code | 0x0D | still unsupported + Symbol | 0x0E | still unsupported + JavaScript Code | 0x0F | still unsupported + int32 | 0x10 | number_integer + Timestamp | 0x11 | still unsupported + 128-bit decimal float | 0x13 | still unsupported + Max Key | 0x7F | still unsupported + Min Key | 0xFF | still unsupported + + @warning The mapping is **incomplete**. The unsupported mappings + are indicated in the table above. + + @param[in] i an input in BSON format convertible to an input adapter + @param[in] strict whether to expect the input to be consumed until EOF + (true by default) + @param[in] allow_exceptions whether to throw exceptions in case of a + parse error (optional, true by default) + + @return deserialized JSON value; in case of a parse error and + @a allow_exceptions set to `false`, the return value will be + value_t::discarded. + + @throw parse_error.114 if an unsupported BSON record type is encountered + + @complexity Linear in the size of the input @a i. + + @liveexample{The example shows the deserialization of a byte vector in + BSON format to a JSON value.,from_bson} + + @sa http://bsonspec.org/spec.html + @sa see @ref to_bson(const basic_json&) for the analogous serialization + @sa see @ref from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the + related CBOR format + @sa see @ref from_msgpack(InputType&&, const bool, const bool) for + the related MessagePack format + @sa see @ref from_ubjson(InputType&&, const bool, const bool) for the + related UBJSON format + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(InputType&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::forward(i)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + /*! + @copydoc from_bson(InputType&&, const bool, const bool) + */ + template + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json from_bson(IteratorType first, IteratorType last, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = detail::input_adapter(std::move(first), std::move(last)); + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + + template + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(const T* ptr, std::size_t len, + const bool strict = true, + const bool allow_exceptions = true) + { + return from_bson(ptr, ptr + len, strict, allow_exceptions); + } + + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len)) + static basic_json from_bson(detail::span_input_adapter&& i, + const bool strict = true, + const bool allow_exceptions = true) + { + basic_json result; + detail::json_sax_dom_parser sdp(result, allow_exceptions); + auto ia = i.get(); + // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) + const bool res = binary_reader(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict); + return res ? result : basic_json(value_t::discarded); + } + /// @} + + ////////////////////////// + // JSON Pointer support // + ////////////////////////// + + /// @name JSON Pointer functions + /// @{ + + /*! + @brief access specified element via JSON Pointer + + Uses a JSON pointer to retrieve a reference to the respective JSON value. + No bound checking is performed. Similar to @ref operator[](const typename + object_t::key_type&), `null` values are created in arrays and objects if + necessary. + + In particular: + - If the JSON pointer points to an object key that does not exist, it + is created an filled with a `null` value before a reference to it + is returned. + - If the JSON pointer points to an array index that does not exist, it + is created an filled with a `null` value before a reference to it + is returned. All indices between the current maximum and the given + index are also filled with `null`. + - The special value `-` is treated as a synonym for the index past the + end. + + @param[in] ptr a JSON pointer + + @return reference to the element pointed to by @a ptr + + @complexity Constant. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.404 if the JSON pointer can not be resolved + + @liveexample{The behavior is shown in the example.,operatorjson_pointer} + + @since version 2.0.0 + */ + reference operator[](const json_pointer& ptr) + { + return ptr.get_unchecked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Uses a JSON pointer to retrieve a reference to the respective JSON value. + No bound checking is performed. The function does not change the JSON + value; no `null` values are created. In particular, the special value + `-` yields an exception. + + @param[in] ptr JSON pointer to the desired element + + @return const reference to the element pointed to by @a ptr + + @complexity Constant. + + @throw parse_error.106 if an array index begins with '0' + @throw parse_error.109 if an array index was not a number + @throw out_of_range.402 if the array index '-' is used + @throw out_of_range.404 if the JSON pointer can not be resolved + + @liveexample{The behavior is shown in the example.,operatorjson_pointer_const} + + @since version 2.0.0 + */ + const_reference operator[](const json_pointer& ptr) const + { + return ptr.get_unchecked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Returns a reference to the element at with specified JSON pointer @a ptr, + with bounds checking. + + @param[in] ptr JSON pointer to the desired element + + @return reference to the element pointed to by @a ptr + + @throw parse_error.106 if an array index in the passed JSON pointer @a ptr + begins with '0'. See example below. + + @throw parse_error.109 if an array index in the passed JSON pointer @a ptr + is not a number. See example below. + + @throw out_of_range.401 if an array index in the passed JSON pointer @a ptr + is out of range. See example below. + + @throw out_of_range.402 if the array index '-' is used in the passed JSON + pointer @a ptr. As `at` provides checked access (and no elements are + implicitly inserted), the index '-' is always invalid. See example below. + + @throw out_of_range.403 if the JSON pointer describes a key of an object + which cannot be found. See example below. + + @throw out_of_range.404 if the JSON pointer @a ptr can not be resolved. + See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 2.0.0 + + @liveexample{The behavior is shown in the example.,at_json_pointer} + */ + reference at(const json_pointer& ptr) + { + return ptr.get_checked(this); + } + + /*! + @brief access specified element via JSON Pointer + + Returns a const reference to the element at with specified JSON pointer @a + ptr, with bounds checking. + + @param[in] ptr JSON pointer to the desired element + + @return reference to the element pointed to by @a ptr + + @throw parse_error.106 if an array index in the passed JSON pointer @a ptr + begins with '0'. See example below. + + @throw parse_error.109 if an array index in the passed JSON pointer @a ptr + is not a number. See example below. + + @throw out_of_range.401 if an array index in the passed JSON pointer @a ptr + is out of range. See example below. + + @throw out_of_range.402 if the array index '-' is used in the passed JSON + pointer @a ptr. As `at` provides checked access (and no elements are + implicitly inserted), the index '-' is always invalid. See example below. + + @throw out_of_range.403 if the JSON pointer describes a key of an object + which cannot be found. See example below. + + @throw out_of_range.404 if the JSON pointer @a ptr can not be resolved. + See example below. + + @exceptionsafety Strong guarantee: if an exception is thrown, there are no + changes in the JSON value. + + @complexity Constant. + + @since version 2.0.0 + + @liveexample{The behavior is shown in the example.,at_json_pointer_const} + */ + const_reference at(const json_pointer& ptr) const + { + return ptr.get_checked(this); + } + + /*! + @brief return flattened JSON value + + The function creates a JSON object whose keys are JSON pointers (see [RFC + 6901](https://tools.ietf.org/html/rfc6901)) and whose values are all + primitive. The original JSON value can be restored using the @ref + unflatten() function. + + @return an object that maps JSON pointers to primitive values + + @note Empty objects and arrays are flattened to `null` and will not be + reconstructed correctly by the @ref unflatten() function. + + @complexity Linear in the size the JSON value. + + @liveexample{The following code shows how a JSON object is flattened to an + object whose keys consist of JSON pointers.,flatten} + + @sa see @ref unflatten() for the reverse function + + @since version 2.0.0 + */ + basic_json flatten() const + { + basic_json result(value_t::object); + json_pointer::flatten("", *this, result); + return result; + } + + /*! + @brief unflatten a previously flattened JSON value + + The function restores the arbitrary nesting of a JSON value that has been + flattened before using the @ref flatten() function. The JSON value must + meet certain constraints: + 1. The value must be an object. + 2. The keys must be JSON pointers (see + [RFC 6901](https://tools.ietf.org/html/rfc6901)) + 3. The mapped values must be primitive JSON types. + + @return the original JSON from a flattened version + + @note Empty objects and arrays are flattened by @ref flatten() to `null` + values and can not unflattened to their original type. Apart from + this example, for a JSON value `j`, the following is always true: + `j == j.flatten().unflatten()`. + + @complexity Linear in the size the JSON value. + + @throw type_error.314 if value is not an object + @throw type_error.315 if object values are not primitive + + @liveexample{The following code shows how a flattened JSON object is + unflattened into the original nested JSON object.,unflatten} + + @sa see @ref flatten() for the reverse function + + @since version 2.0.0 + */ + basic_json unflatten() const + { + return json_pointer::unflatten(*this); + } + + /// @} + + ////////////////////////// + // JSON Patch functions // + ////////////////////////// + + /// @name JSON Patch functions + /// @{ + + /*! + @brief applies a JSON patch + + [JSON Patch](http://jsonpatch.com) defines a JSON document structure for + expressing a sequence of operations to apply to a JSON) document. With + this function, a JSON Patch is applied to the current JSON value by + executing all operations from the patch. + + @param[in] json_patch JSON patch document + @return patched document + + @note The application of a patch is atomic: Either all operations succeed + and the patched document is returned or an exception is thrown. In + any case, the original value is not changed: the patch is applied + to a copy of the value. + + @throw parse_error.104 if the JSON patch does not consist of an array of + objects + + @throw parse_error.105 if the JSON patch is malformed (e.g., mandatory + attributes are missing); example: `"operation add must have member path"` + + @throw out_of_range.401 if an array index is out of range. + + @throw out_of_range.403 if a JSON pointer inside the patch could not be + resolved successfully in the current JSON value; example: `"key baz not + found"` + + @throw out_of_range.405 if JSON pointer has no parent ("add", "remove", + "move") + + @throw other_error.501 if "test" operation was unsuccessful + + @complexity Linear in the size of the JSON value and the length of the + JSON patch. As usually only a fraction of the JSON value is affected by + the patch, the complexity can usually be neglected. + + @liveexample{The following code shows how a JSON patch is applied to a + value.,patch} + + @sa see @ref diff -- create a JSON patch by comparing two JSON values + + @sa [RFC 6902 (JSON Patch)](https://tools.ietf.org/html/rfc6902) + @sa [RFC 6901 (JSON Pointer)](https://tools.ietf.org/html/rfc6901) + + @since version 2.0.0 + */ + basic_json patch(const basic_json& json_patch) const + { + // make a working copy to apply the patch to + basic_json result = *this; + + // the valid JSON Patch operations + enum class patch_operations {add, remove, replace, move, copy, test, invalid}; + + const auto get_op = [](const std::string & op) + { + if (op == "add") + { + return patch_operations::add; + } + if (op == "remove") + { + return patch_operations::remove; + } + if (op == "replace") + { + return patch_operations::replace; + } + if (op == "move") + { + return patch_operations::move; + } + if (op == "copy") + { + return patch_operations::copy; + } + if (op == "test") + { + return patch_operations::test; + } + + return patch_operations::invalid; + }; + + // wrapper for "add" operation; add value at ptr + const auto operation_add = [&result](json_pointer & ptr, basic_json val) + { + // adding to the root of the target document means replacing it + if (ptr.empty()) + { + result = val; + return; + } + + // make sure the top element of the pointer exists + json_pointer top_pointer = ptr.top(); + if (top_pointer != ptr) + { + result.at(top_pointer); + } + + // get reference to parent of JSON pointer ptr + const auto last_path = ptr.back(); + ptr.pop_back(); + basic_json& parent = result[ptr]; + + switch (parent.m_type) + { + case value_t::null: + case value_t::object: + { + // use operator[] to add value + parent[last_path] = val; + break; + } + + case value_t::array: + { + if (last_path == "-") + { + // special case: append to back + parent.push_back(val); + } + else + { + const auto idx = json_pointer::array_index(last_path); + if (JSON_HEDLEY_UNLIKELY(idx > parent.size())) + { + // avoid undefined behavior + JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", parent)); + } + + // default case: insert add offset + parent.insert(parent.begin() + static_cast(idx), val); + } + break; + } + + // if there exists a parent it cannot be primitive + case value_t::string: // LCOV_EXCL_LINE + case value_t::boolean: // LCOV_EXCL_LINE + case value_t::number_integer: // LCOV_EXCL_LINE + case value_t::number_unsigned: // LCOV_EXCL_LINE + case value_t::number_float: // LCOV_EXCL_LINE + case value_t::binary: // LCOV_EXCL_LINE + case value_t::discarded: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE + } + }; + + // wrapper for "remove" operation; remove value at ptr + const auto operation_remove = [this, &result](json_pointer & ptr) + { + // get reference to parent of JSON pointer ptr + const auto last_path = ptr.back(); + ptr.pop_back(); + basic_json& parent = result.at(ptr); + + // remove child + if (parent.is_object()) + { + // perform range check + auto it = parent.find(last_path); + if (JSON_HEDLEY_LIKELY(it != parent.end())) + { + parent.erase(it); + } + else + { + JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found", *this)); + } + } + else if (parent.is_array()) + { + // note erase performs range check + parent.erase(json_pointer::array_index(last_path)); + } + }; + + // type check: top level value must be an array + if (JSON_HEDLEY_UNLIKELY(!json_patch.is_array())) + { + JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects", json_patch)); + } + + // iterate and apply the operations + for (const auto& val : json_patch) + { + // wrapper to get a value for an operation + const auto get_value = [&val](const std::string & op, + const std::string & member, + bool string_type) -> basic_json & + { + // find value + auto it = val.m_value.object->find(member); + + // context-sensitive error message + const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'"; + + // check if desired value is present + if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end())) + { + // NOLINTNEXTLINE(performance-inefficient-string-concatenation) + JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'", val)); + } + + // check if result is of type string + if (JSON_HEDLEY_UNLIKELY(string_type && !it->second.is_string())) + { + // NOLINTNEXTLINE(performance-inefficient-string-concatenation) + JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'", val)); + } + + // no error: return value + return it->second; + }; + + // type check: every element of the array must be an object + if (JSON_HEDLEY_UNLIKELY(!val.is_object())) + { + JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects", val)); + } + + // collect mandatory members + const auto op = get_value("op", "op", true).template get(); + const auto path = get_value(op, "path", true).template get(); + json_pointer ptr(path); + + switch (get_op(op)) + { + case patch_operations::add: + { + operation_add(ptr, get_value("add", "value", false)); + break; + } + + case patch_operations::remove: + { + operation_remove(ptr); + break; + } + + case patch_operations::replace: + { + // the "path" location must exist - use at() + result.at(ptr) = get_value("replace", "value", false); + break; + } + + case patch_operations::move: + { + const auto from_path = get_value("move", "from", true).template get(); + json_pointer from_ptr(from_path); + + // the "from" location must exist - use at() + basic_json v = result.at(from_ptr); + + // The move operation is functionally identical to a + // "remove" operation on the "from" location, followed + // immediately by an "add" operation at the target + // location with the value that was just removed. + operation_remove(from_ptr); + operation_add(ptr, v); + break; + } + + case patch_operations::copy: + { + const auto from_path = get_value("copy", "from", true).template get(); + const json_pointer from_ptr(from_path); + + // the "from" location must exist - use at() + basic_json v = result.at(from_ptr); + + // The copy is functionally identical to an "add" + // operation at the target location using the value + // specified in the "from" member. + operation_add(ptr, v); + break; + } + + case patch_operations::test: + { + bool success = false; + JSON_TRY + { + // check if "value" matches the one at "path" + // the "path" location must exist - use at() + success = (result.at(ptr) == get_value("test", "value", false)); + } + JSON_INTERNAL_CATCH (out_of_range&) + { + // ignore out of range errors: success remains false + } + + // throw an exception if test fails + if (JSON_HEDLEY_UNLIKELY(!success)) + { + JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump(), val)); + } + + break; + } + + case patch_operations::invalid: + default: + { + // op must be "add", "remove", "replace", "move", "copy", or + // "test" + JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid", val)); + } + } + } + + return result; + } + + /*! + @brief creates a diff as a JSON patch + + Creates a [JSON Patch](http://jsonpatch.com) so that value @a source can + be changed into the value @a target by calling @ref patch function. + + @invariant For two JSON values @a source and @a target, the following code + yields always `true`: + @code {.cpp} + source.patch(diff(source, target)) == target; + @endcode + + @note Currently, only `remove`, `add`, and `replace` operations are + generated. + + @param[in] source JSON value to compare from + @param[in] target JSON value to compare against + @param[in] path helper value to create JSON pointers + + @return a JSON patch to convert the @a source to @a target + + @complexity Linear in the lengths of @a source and @a target. + + @liveexample{The following code shows how a JSON patch is created as a + diff for two JSON values.,diff} + + @sa see @ref patch -- apply a JSON patch + @sa see @ref merge_patch -- apply a JSON Merge Patch + + @sa [RFC 6902 (JSON Patch)](https://tools.ietf.org/html/rfc6902) + + @since version 2.0.0 + */ + JSON_HEDLEY_WARN_UNUSED_RESULT + static basic_json diff(const basic_json& source, const basic_json& target, + const std::string& path = "") + { + // the patch + basic_json result(value_t::array); + + // if the values are the same, return empty patch + if (source == target) + { + return result; + } + + if (source.type() != target.type()) + { + // different types: replace value + result.push_back( + { + {"op", "replace"}, {"path", path}, {"value", target} + }); + return result; + } + + switch (source.type()) + { + case value_t::array: + { + // first pass: traverse common elements + std::size_t i = 0; + while (i < source.size() && i < target.size()) + { + // recursive call to compare array values at index i + auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i)); + result.insert(result.end(), temp_diff.begin(), temp_diff.end()); + ++i; + } + + // i now reached the end of at least one array + // in a second pass, traverse the remaining elements + + // remove my remaining elements + const auto end_index = static_cast(result.size()); + while (i < source.size()) + { + // add operations in reverse order to avoid invalid + // indices + result.insert(result.begin() + end_index, object( + { + {"op", "remove"}, + {"path", path + "/" + std::to_string(i)} + })); + ++i; + } + + // add other remaining elements + while (i < target.size()) + { + result.push_back( + { + {"op", "add"}, + {"path", path + "/-"}, + {"value", target[i]} + }); + ++i; + } + + break; + } + + case value_t::object: + { + // first pass: traverse this object's elements + for (auto it = source.cbegin(); it != source.cend(); ++it) + { + // escape the key name to be used in a JSON patch + const auto path_key = path + "/" + detail::escape(it.key()); + + if (target.find(it.key()) != target.end()) + { + // recursive call to compare object values at key it + auto temp_diff = diff(it.value(), target[it.key()], path_key); + result.insert(result.end(), temp_diff.begin(), temp_diff.end()); + } + else + { + // found a key that is not in o -> remove it + result.push_back(object( + { + {"op", "remove"}, {"path", path_key} + })); + } + } + + // second pass: traverse other object's elements + for (auto it = target.cbegin(); it != target.cend(); ++it) + { + if (source.find(it.key()) == source.end()) + { + // found a key that is not in this -> add it + const auto path_key = path + "/" + detail::escape(it.key()); + result.push_back( + { + {"op", "add"}, {"path", path_key}, + {"value", it.value()} + }); + } + } + + break; + } + + case value_t::null: + case value_t::string: + case value_t::boolean: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + case value_t::binary: + case value_t::discarded: + default: + { + // both primitive type: replace value + result.push_back( + { + {"op", "replace"}, {"path", path}, {"value", target} + }); + break; + } + } + + return result; + } + + /// @} + + //////////////////////////////// + // JSON Merge Patch functions // + //////////////////////////////// + + /// @name JSON Merge Patch functions + /// @{ + + /*! + @brief applies a JSON Merge Patch + + The merge patch format is primarily intended for use with the HTTP PATCH + method as a means of describing a set of modifications to a target + resource's content. This function applies a merge patch to the current + JSON value. + + The function implements the following algorithm from Section 2 of + [RFC 7396 (JSON Merge Patch)](https://tools.ietf.org/html/rfc7396): + + ``` + define MergePatch(Target, Patch): + if Patch is an Object: + if Target is not an Object: + Target = {} // Ignore the contents and set it to an empty Object + for each Name/Value pair in Patch: + if Value is null: + if Name exists in Target: + remove the Name/Value pair from Target + else: + Target[Name] = MergePatch(Target[Name], Value) + return Target + else: + return Patch + ``` + + Thereby, `Target` is the current object; that is, the patch is applied to + the current value. + + @param[in] apply_patch the patch to apply + + @complexity Linear in the lengths of @a patch. + + @liveexample{The following code shows how a JSON Merge Patch is applied to + a JSON document.,merge_patch} + + @sa see @ref patch -- apply a JSON patch + @sa [RFC 7396 (JSON Merge Patch)](https://tools.ietf.org/html/rfc7396) + + @since version 3.0.0 + */ + void merge_patch(const basic_json& apply_patch) + { + if (apply_patch.is_object()) + { + if (!is_object()) + { + *this = object(); + } + for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it) + { + if (it.value().is_null()) + { + erase(it.key()); + } + else + { + operator[](it.key()).merge_patch(it.value()); + } + } + } + else + { + *this = apply_patch; + } + } + + /// @} +}; + +/*! +@brief user-defined to_string function for JSON values + +This function implements a user-defined to_string for JSON objects. + +@param[in] j a JSON object +@return a std::string object +*/ + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j) +{ + return j.dump(); +} +} // namespace nlohmann + +/////////////////////// +// nonmember support // +/////////////////////// + +// specialization of std::swap, and std::hash +namespace std +{ + +/// hash value for JSON objects +template<> +struct hash +{ + /*! + @brief return a hash value for a JSON object + + @since version 1.0.0 + */ + std::size_t operator()(const nlohmann::json& j) const + { + return nlohmann::detail::hash(j); + } +}; + +/// specialization for std::less +/// @note: do not remove the space after '<', +/// see https://github.com/nlohmann/json/pull/679 +template<> +struct less<::nlohmann::detail::value_t> +{ + /*! + @brief compare two value_t enum values + @since version 3.0.0 + */ + bool operator()(nlohmann::detail::value_t lhs, + nlohmann::detail::value_t rhs) const noexcept + { + return nlohmann::detail::operator<(lhs, rhs); + } +}; + +// C++20 prohibit function specialization in the std namespace. +#ifndef JSON_HAS_CPP_20 + +/*! +@brief exchanges the values of two JSON objects + +@since version 1.0.0 +*/ +template<> +inline void swap(nlohmann::json& j1, nlohmann::json& j2) noexcept( // NOLINT(readability-inconsistent-declaration-parameter-name) + is_nothrow_move_constructible::value&& // NOLINT(misc-redundant-expression) + is_nothrow_move_assignable::value + ) +{ + j1.swap(j2); +} + +#endif + +} // namespace std + +/*! +@brief user-defined string literal for JSON values + +This operator implements a user-defined string literal for JSON objects. It +can be used by adding `"_json"` to a string literal and returns a JSON object +if no parse error occurred. + +@param[in] s a string representation of a JSON object +@param[in] n the length of string @a s +@return a JSON object + +@since version 1.0.0 +*/ +JSON_HEDLEY_NON_NULL(1) +inline nlohmann::json operator "" _json(const char* s, std::size_t n) +{ + return nlohmann::json::parse(s, s + n); +} + +/*! +@brief user-defined string literal for JSON pointer + +This operator implements a user-defined string literal for JSON Pointers. It +can be used by adding `"_json_pointer"` to a string literal and returns a JSON pointer +object if no parse error occurred. + +@param[in] s a string representation of a JSON Pointer +@param[in] n the length of string @a s +@return a JSON pointer object + +@since version 2.0.0 +*/ +JSON_HEDLEY_NON_NULL(1) +inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n) +{ + return nlohmann::json::json_pointer(std::string(s, n)); +} + +// #include + + +// restore clang diagnostic settings +#if defined(__clang__) + #pragma clang diagnostic pop +#endif + +// clean up +#undef JSON_ASSERT +#undef JSON_INTERNAL_CATCH +#undef JSON_CATCH +#undef JSON_THROW +#undef JSON_TRY +#undef JSON_PRIVATE_UNLESS_TESTED +#undef JSON_HAS_CPP_11 +#undef JSON_HAS_CPP_14 +#undef JSON_HAS_CPP_17 +#undef JSON_HAS_CPP_20 +#undef NLOHMANN_BASIC_JSON_TPL_DECLARATION +#undef NLOHMANN_BASIC_JSON_TPL +#undef JSON_EXPLICIT +#undef NLOHMANN_CAN_CALL_STD_FUNC_IMPL + +// #include + + +#undef JSON_HEDLEY_ALWAYS_INLINE +#undef JSON_HEDLEY_ARM_VERSION +#undef JSON_HEDLEY_ARM_VERSION_CHECK +#undef JSON_HEDLEY_ARRAY_PARAM +#undef JSON_HEDLEY_ASSUME +#undef JSON_HEDLEY_BEGIN_C_DECLS +#undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#undef JSON_HEDLEY_CLANG_HAS_FEATURE +#undef JSON_HEDLEY_CLANG_HAS_WARNING +#undef JSON_HEDLEY_COMPCERT_VERSION +#undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#undef JSON_HEDLEY_CONCAT +#undef JSON_HEDLEY_CONCAT3 +#undef JSON_HEDLEY_CONCAT3_EX +#undef JSON_HEDLEY_CONCAT_EX +#undef JSON_HEDLEY_CONST +#undef JSON_HEDLEY_CONSTEXPR +#undef JSON_HEDLEY_CONST_CAST +#undef JSON_HEDLEY_CPP_CAST +#undef JSON_HEDLEY_CRAY_VERSION +#undef JSON_HEDLEY_CRAY_VERSION_CHECK +#undef JSON_HEDLEY_C_DECL +#undef JSON_HEDLEY_DEPRECATED +#undef JSON_HEDLEY_DEPRECATED_FOR +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#undef JSON_HEDLEY_DIAGNOSTIC_POP +#undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#undef JSON_HEDLEY_DMC_VERSION +#undef JSON_HEDLEY_DMC_VERSION_CHECK +#undef JSON_HEDLEY_EMPTY_BASES +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#undef JSON_HEDLEY_END_C_DECLS +#undef JSON_HEDLEY_FLAGS +#undef JSON_HEDLEY_FLAGS_CAST +#undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_BUILTIN +#undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GCC_HAS_EXTENSION +#undef JSON_HEDLEY_GCC_HAS_FEATURE +#undef JSON_HEDLEY_GCC_HAS_WARNING +#undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#undef JSON_HEDLEY_GCC_VERSION +#undef JSON_HEDLEY_GCC_VERSION_CHECK +#undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#undef JSON_HEDLEY_GNUC_HAS_FEATURE +#undef JSON_HEDLEY_GNUC_HAS_WARNING +#undef JSON_HEDLEY_GNUC_VERSION +#undef JSON_HEDLEY_GNUC_VERSION_CHECK +#undef JSON_HEDLEY_HAS_ATTRIBUTE +#undef JSON_HEDLEY_HAS_BUILTIN +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#undef JSON_HEDLEY_HAS_EXTENSION +#undef JSON_HEDLEY_HAS_FEATURE +#undef JSON_HEDLEY_HAS_WARNING +#undef JSON_HEDLEY_IAR_VERSION +#undef JSON_HEDLEY_IAR_VERSION_CHECK +#undef JSON_HEDLEY_IBM_VERSION +#undef JSON_HEDLEY_IBM_VERSION_CHECK +#undef JSON_HEDLEY_IMPORT +#undef JSON_HEDLEY_INLINE +#undef JSON_HEDLEY_INTEL_CL_VERSION +#undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#undef JSON_HEDLEY_INTEL_VERSION +#undef JSON_HEDLEY_INTEL_VERSION_CHECK +#undef JSON_HEDLEY_IS_CONSTANT +#undef JSON_HEDLEY_IS_CONSTEXPR_ +#undef JSON_HEDLEY_LIKELY +#undef JSON_HEDLEY_MALLOC +#undef JSON_HEDLEY_MCST_LCC_VERSION +#undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#undef JSON_HEDLEY_MESSAGE +#undef JSON_HEDLEY_MSVC_VERSION +#undef JSON_HEDLEY_MSVC_VERSION_CHECK +#undef JSON_HEDLEY_NEVER_INLINE +#undef JSON_HEDLEY_NON_NULL +#undef JSON_HEDLEY_NO_ESCAPE +#undef JSON_HEDLEY_NO_RETURN +#undef JSON_HEDLEY_NO_THROW +#undef JSON_HEDLEY_NULL +#undef JSON_HEDLEY_PELLES_VERSION +#undef JSON_HEDLEY_PELLES_VERSION_CHECK +#undef JSON_HEDLEY_PGI_VERSION +#undef JSON_HEDLEY_PGI_VERSION_CHECK +#undef JSON_HEDLEY_PREDICT +#undef JSON_HEDLEY_PRINTF_FORMAT +#undef JSON_HEDLEY_PRIVATE +#undef JSON_HEDLEY_PUBLIC +#undef JSON_HEDLEY_PURE +#undef JSON_HEDLEY_REINTERPRET_CAST +#undef JSON_HEDLEY_REQUIRE +#undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#undef JSON_HEDLEY_REQUIRE_MSG +#undef JSON_HEDLEY_RESTRICT +#undef JSON_HEDLEY_RETURNS_NON_NULL +#undef JSON_HEDLEY_SENTINEL +#undef JSON_HEDLEY_STATIC_ASSERT +#undef JSON_HEDLEY_STATIC_CAST +#undef JSON_HEDLEY_STRINGIFY +#undef JSON_HEDLEY_STRINGIFY_EX +#undef JSON_HEDLEY_SUNPRO_VERSION +#undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#undef JSON_HEDLEY_TINYC_VERSION +#undef JSON_HEDLEY_TINYC_VERSION_CHECK +#undef JSON_HEDLEY_TI_ARMCL_VERSION +#undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL2000_VERSION +#undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL430_VERSION +#undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL6X_VERSION +#undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CL7X_VERSION +#undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#undef JSON_HEDLEY_TI_CLPRU_VERSION +#undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#undef JSON_HEDLEY_TI_VERSION +#undef JSON_HEDLEY_TI_VERSION_CHECK +#undef JSON_HEDLEY_UNAVAILABLE +#undef JSON_HEDLEY_UNLIKELY +#undef JSON_HEDLEY_UNPREDICTABLE +#undef JSON_HEDLEY_UNREACHABLE +#undef JSON_HEDLEY_UNREACHABLE_RETURN +#undef JSON_HEDLEY_VERSION +#undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#undef JSON_HEDLEY_VERSION_DECODE_MINOR +#undef JSON_HEDLEY_VERSION_DECODE_REVISION +#undef JSON_HEDLEY_VERSION_ENCODE +#undef JSON_HEDLEY_WARNING +#undef JSON_HEDLEY_WARN_UNUSED_RESULT +#undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#undef JSON_HEDLEY_FALL_THROUGH + + + +#endif // INCLUDE_NLOHMANN_JSON_HPP_ diff --git a/src/tinygltf/stb_image.h b/src/tinygltf/stb_image.h new file mode 100644 index 00000000..d0aaf2a7 --- /dev/null +++ b/src/tinygltf/stb_image.h @@ -0,0 +1,8007 @@ +/* stb_image - v2.28 - public domain image loader - http://nothings.org/stb + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8/16-bit-per-channel + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels, 8/16 bit-per-channel) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + Animated GIF still needs a proper API, but here's one way to do it: + http://gist.github.com/urraka/685d9a6340b26b830d49 + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + +LICENSE + + See end of file for license information. + +RECENT REVISION HISTORY: + + 2.28 (2023-01-29) many error fixes, security errors, just tons of stuff + 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes + 2.26 (2020-07-13) many minor fixes + 2.25 (2020-02-02) fix warnings + 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically + 2.23 (2019-08-11) fix clang static analysis warning + 2.22 (2019-03-04) gif fixes, fix warnings + 2.21 (2019-02-25) fix typo in comment + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings + 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes + 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 + RGB-format JPEG; remove white matting in PSD; + allocate large structures on the stack; + correct channel count for PNG & BMP + 2.10 (2016-01-22) avoid warning introduced in 2.09 + 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Extensions, features + Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) + Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) + Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) + Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) + Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) + Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) + Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) + github:urraka (animated gif) Junggon Kim (PNM comments) + Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) + socks-the-fox (16-bit PNG) + Jeremy Sawicki (handle all ImageNet JPGs) + Optimizations & bugfixes Mikhail Morozov (1-bit BMP) + Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) + Arseny Kapoulkine Simon Breuss (16-bit PNM) + John-Mark Allen + Carmelo J Fdez-Aguera + + Bug & warning fixes + Marc LeBlanc David Woo Guillaume George Martins Mozeiko + Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski + Phil Jordan Dave Moore Roy Eltham + Hayaki Saito Nathan Reed Won Chun + Luke Graham Johan Duparc Nick Verigakis the Horde3D community + Thomas Ruf Ronny Chevalier github:rlyeh + Janez Zemva John Bartholomew Michal Cichon github:romigrou + Jonathan Blow Ken Hamada Tero Hanninen github:svdijk + Eugene Golushkov Laurent Gomila Cort Stratton github:snagar + Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex + Cass Everitt Ryamond Barbiero github:grim210 + Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw + Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus + Josh Tobin Neil Bickford Matthew Gregan github:poppolopoppo + Julian Raschke Gregory Mullen Christian Floisand github:darealshinji + Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007 + Brad Weinberger Matvey Cherevko github:mosra + Luca Sas Alexander Veselov Zack Middleton [reserved] + Ryan C. Gordon [reserved] [reserved] + DO NOT ADD YOUR NAME HERE + + Jacko Dirks + + To add your name to the credits, pick a random blank space in the middle and fill it. + 80% of merge conflicts on stb PRs are due to people adding their name at the end + of the credits. +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data); +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *channels_in_file -- outputs # of image components in image file +// int desired_channels -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'desired_channels' if desired_channels is non-zero, or +// *channels_in_file otherwise. If desired_channels is non-zero, +// *channels_in_file has the number of components that _would_ have been +// output otherwise. E.g. if you set desired_channels to 4, you will always +// get RGBA output, but you can check *channels_in_file to see if it's trivially +// opaque because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *channels_in_file will be unchanged. The function +// stbi_failure_reason() can be queried for an extremely brief, end-user +// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS +// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// To query the width, height and component count of an image without having to +// decode the full file, you can use the stbi_info family of functions: +// +// int x,y,n,ok; +// ok = stbi_info(filename, &x, &y, &n); +// // returns ok=1 and sets x, y, n if image is a supported format, +// // 0 otherwise. +// +// Note that stb_image pervasively uses ints in its public API for sizes, +// including sizes of memory buffers. This is now part of the API and thus +// hard to change without causing breakage. As a result, the various image +// loaders all have certain limits on image size; these differ somewhat +// by format but generally boil down to either just under 2GB or just under +// 1GB. When the decoded image would be larger than this, stb_image decoding +// will fail. +// +// Additionally, stb_image will reject image files that have any of their +// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS, +// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit, +// the only way to have an image with such dimensions load correctly +// is for it to have a rather extreme aspect ratio. Either way, the +// assumption here is that such larger images are likely to be malformed +// or malicious. If you do need to load an image with individual dimensions +// larger than that, and it still fits in the overall size limit, you can +// #define STBI_MAX_DIMENSIONS on your own to be something larger. +// +// =========================================================================== +// +// UNICODE: +// +// If compiling for Windows and you wish to use Unicode filenames, compile +// with +// #define STBI_WINDOWS_UTF8 +// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert +// Windows wchar_t filenames to utf8. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy-to-use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// provide more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small source code footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image supports loading HDR images in general, and currently the Radiance +// .HDR file format specifically. You can still load any file through the existing +// interface; if you attempt to load an HDR file, it will be automatically remapped +// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// We optionally support converting iPhone-formatted PNGs (which store +// premultiplied BGRA) back to RGB, even though they're internally encoded +// differently. To enable this conversion, call +// stbi_convert_iphone_png_to_rgb(1). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// +// =========================================================================== +// +// ADDITIONAL CONFIGURATION +// +// - You can suppress implementation of any of the decoders to reduce +// your code footprint by #defining one or more of the following +// symbols before creating the implementation. +// +// STBI_NO_JPEG +// STBI_NO_PNG +// STBI_NO_BMP +// STBI_NO_PSD +// STBI_NO_TGA +// STBI_NO_GIF +// STBI_NO_HDR +// STBI_NO_PIC +// STBI_NO_PNM (.ppm and .pgm) +// +// - You can request *only* certain decoders and suppress all other ones +// (this will be more forward-compatible, as addition of new decoders +// doesn't require you to disable them explicitly): +// +// STBI_ONLY_JPEG +// STBI_ONLY_PNG +// STBI_ONLY_BMP +// STBI_ONLY_PSD +// STBI_ONLY_TGA +// STBI_ONLY_GIF +// STBI_ONLY_HDR +// STBI_ONLY_PIC +// STBI_ONLY_PNM (.ppm and .pgm) +// +// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still +// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB +// +// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater +// than that size (in either width or height) without further processing. +// This is to let programs in the wild set an upper bound to prevent +// denial-of-service attacks on untrusted data, as one could generate a +// valid image of gigantic dimensions and force stb_image to allocate a +// huge block of memory and spend disproportionate time decoding it. By +// default this is set to (1 << 24), which is 16777216, but that's still +// very big. + +#ifndef STBI_NO_STDIO +#include +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for desired_channels + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +#include +typedef unsigned char stbi_uc; +typedef unsigned short stbi_us; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef STBIDEF +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +//////////////////////////////////// +// +// 8-bits-per-channel interface +// + +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +#endif + +#ifdef STBI_WINDOWS_UTF8 +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#endif + +//////////////////////////////////// +// +// 16-bits-per-channel interface +// + +STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +#endif + +//////////////////////////////////// +// +// float-per-channel interface +// +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif // STBI_NO_HDR + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_LINEAR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// on most compilers (and ALL modern mainstream compilers) this is threadsafe +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit (char const *filename); +STBIDEF int stbi_is_16_bit_from_file(FILE *f); +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + +// flip the image vertically, so the first pixel in the output array is the bottom left +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); + +// as above, but only applies to images loaded on the thread that calls the function +// this function is only available if your compiler supports thread-local variables; +// calling it will fail to link if your compiler doesn't +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip); + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include +#include // ptrdiff_t on osx +#include +#include +#include + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include // ldexp, pow +#endif + +#ifndef STBI_NO_STDIO +#include +#endif + +#ifndef STBI_ASSERT +#include +#define STBI_ASSERT(x) assert(x) +#endif + +#ifdef __cplusplus +#define STBI_EXTERN extern "C" +#else +#define STBI_EXTERN extern +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + +#ifndef STBI_NO_THREAD_LOCALS + #if defined(__cplusplus) && __cplusplus >= 201103L + #define STBI_THREAD_LOCAL thread_local + #elif defined(__GNUC__) && __GNUC__ < 5 + #define STBI_THREAD_LOCAL __thread + #elif defined(_MSC_VER) + #define STBI_THREAD_LOCAL __declspec(thread) + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) + #define STBI_THREAD_LOCAL _Thread_local + #endif + + #ifndef STBI_THREAD_LOCAL + #if defined(__GNUC__) + #define STBI_THREAD_LOCAL __thread + #endif + #endif +#endif + +#if defined(_MSC_VER) || defined(__SYMBIAN32__) +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (-(y) & 31))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,newsz) realloc(p,newsz) +#define STBI_FREE(p) free(p) +#endif + +#ifndef STBI_REALLOC_SIZED +#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) +#endif + +// x86/x64 detection +#if defined(__x86_64__) || defined(_M_X64) +#define STBI__X64_TARGET +#elif defined(__i386) || defined(_M_IX86) +#define STBI__X86_TARGET +#endif + +#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// which in turn means it gets to use SSE2 everywhere. This is unfortunate, +// but previous attempts to provide the SSE2 functions with runtime +// detection caused numerous issues. The way architecture extensions are +// exposed in GCC/Clang is, sadly, not really suited for one-file libs. +// New behavior: if compiled with -msse2, we use SSE2 without any +// detection; if not, we don't use it at all. +#define STBI_NO_SIMD +#endif + +#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) +// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET +// +// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the +// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. +// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not +// simultaneously enabling "-mstackrealign". +// +// See https://github.com/nothings/stb/issues/81 for more information. +// +// So default to no SSE2 on 32-bit MinGW. If you've read this far and added +// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) +#define STBI_SSE2 +#include + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#endif + +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) +{ + // If we're even attempting to compile this on GCC/Clang, that means + // -msse2 is on, which means the compiler is allowed to use SSE2 + // instructions at will, and so are we. + return 1; +} +#endif + +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +#ifdef _MSC_VER +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name +#else +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +#ifndef STBI_MAX_DIMENSIONS +#define STBI_MAX_DIMENSIONS (1 << 24) +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + int callback_already_read; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original, *img_buffer_original_end; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->callback_already_read = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->callback_already_read = 0; + s->img_buffer = s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); + s->img_buffer_original_end = s->img_buffer_end; +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + int ch; + fseek((FILE*) user, n, SEEK_CUR); + ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ + if (ch != EOF) { + ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ + } +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user) || ferror((FILE *) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; + s->img_buffer_end = s->img_buffer_original_end; +} + +enum +{ + STBI_ORDER_RGB, + STBI_ORDER_BGR +}; + +typedef struct +{ + int bits_per_channel; + int num_channels; + int channel_order; +} stbi__result_info; + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__png_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__psd_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__pnm_is16(stbi__context *s); +#endif + +static +#ifdef STBI_THREAD_LOCAL +STBI_THREAD_LOCAL +#endif +const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +#ifndef STBI_NO_FAILURE_STRINGS +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} +#endif + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stb_image uses ints pervasively, including for offset calculations. +// therefore the largest decoded image size we can support with the +// current code, even on 64-bit targets, is INT_MAX. this is not a +// significant limitation for the intended use case. +// +// we do, however, need to make sure our size calculations don't +// overflow. hence a few helper functions for size calculations that +// multiply integers together, making sure that they're non-negative +// and no overflow occurs. + +// return 1 if the sum is valid, 0 on overflow. +// negative terms are considered invalid. +static int stbi__addsizes_valid(int a, int b) +{ + if (b < 0) return 0; + // now 0 <= b <= INT_MAX, hence also + // 0 <= INT_MAX - b <= INTMAX. + // And "a + b <= INT_MAX" (which might overflow) is the + // same as a <= INT_MAX - b (no overflow) + return a <= INT_MAX - b; +} + +// returns 1 if the product is valid, 0 on overflow. +// negative factors are considered invalid. +static int stbi__mul2sizes_valid(int a, int b) +{ + if (a < 0 || b < 0) return 0; + if (b == 0) return 1; // mul-by-0 is always safe + // portable way to check for no overflows in a*b + return a <= INT_MAX/b; +} + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow +static int stbi__mad2sizes_valid(int a, int b, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); +} +#endif + +// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow +static int stbi__mad3sizes_valid(int a, int b, int c, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__addsizes_valid(a*b*c, add); +} + +// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); +} +#endif + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// mallocs with size overflow checking +static void *stbi__malloc_mad2(int a, int b, int add) +{ + if (!stbi__mad2sizes_valid(a, b, add)) return NULL; + return stbi__malloc(a*b + add); +} +#endif + +static void *stbi__malloc_mad3(int a, int b, int c, int add) +{ + if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; + return stbi__malloc(a*b*c + add); +} + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) +{ + if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; + return stbi__malloc(a*b*c*d + add); +} +#endif + +// returns 1 if the sum of two signed ints is valid (between -2^31 and 2^31-1 inclusive), 0 on overflow. +static int stbi__addints_valid(int a, int b) +{ + if ((a >= 0) != (b >= 0)) return 1; // a and b have different signs, so no overflow + if (a < 0 && b < 0) return a >= INT_MIN - b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. + return a <= INT_MAX - b; +} + +// returns 1 if the product of two signed shorts is valid, 0 on overflow. +static int stbi__mul2shorts_valid(short a, short b) +{ + if (b == 0 || b == -1) return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow + if ((a >= 0) == (b >= 0)) return a <= SHRT_MAX/b; // product is positive, so similar to mul2sizes_valid + if (b < 0) return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN + return a >= SHRT_MIN / b; +} + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static int stbi__vertically_flip_on_load_global = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_global = flag_true_if_should_flip; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global +#else +static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; + +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_local = flag_true_if_should_flip; + stbi__vertically_flip_on_load_set = 1; +} + +#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ + ? stbi__vertically_flip_on_load_local \ + : stbi__vertically_flip_on_load_global) +#endif // STBI_THREAD_LOCAL + +static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields + ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed + ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order + ri->num_channels = 0; + + // test the formats with a very explicit header first (at least a FOURCC + // or distinctive magic number first) + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); + #else + STBI_NOTUSED(bpc); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); + #endif + + // then the formats that can end up attempting to load with just 1 or 2 + // bytes matching expectations; these are prone to false positives, so + // try them later + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp, ri); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi_uc *reduced; + + reduced = (stbi_uc *) stbi__malloc(img_len); + if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling + + STBI_FREE(orig); + return reduced; +} + +static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi__uint16 *enlarged; + + enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); + if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff + + STBI_FREE(orig); + return enlarged; +} + +static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) +{ + int row; + size_t bytes_per_row = (size_t)w * bytes_per_pixel; + stbi_uc temp[2048]; + stbi_uc *bytes = (stbi_uc *)image; + + for (row = 0; row < (h>>1); row++) { + stbi_uc *row0 = bytes + row*bytes_per_row; + stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; + // swap row0 with row1 + size_t bytes_left = bytes_per_row; + while (bytes_left) { + size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); + memcpy(temp, row0, bytes_copy); + memcpy(row0, row1, bytes_copy); + memcpy(row1, temp, bytes_copy); + row0 += bytes_copy; + row1 += bytes_copy; + bytes_left -= bytes_copy; + } + } +} + +#ifndef STBI_NO_GIF +static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) +{ + int slice; + int slice_size = w * h * bytes_per_pixel; + + stbi_uc *bytes = (stbi_uc *)image; + for (slice = 0; slice < z; ++slice) { + stbi__vertical_flip(bytes, w, h, bytes_per_pixel); + bytes += slice_size; + } +} +#endif + +static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 8) { + result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 8; + } + + // @TODO: move stbi__convert_format to here + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); + } + + return (unsigned char *) result; +} + +static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 16) { + result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 16; + } + + // @TODO: move stbi__convert_format16 to here + // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); + } + + return (stbi__uint16 *) result; +} + +#if !defined(STBI_NO_HDR) && !defined(STBI_NO_LINEAR) +static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) +{ + if (stbi__vertically_flip_on_load && result != NULL) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); + } +} +#endif + +#ifndef STBI_NO_STDIO + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); +#endif + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__uint16 *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + stbi__uint16 *result; + if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file_16(f,x,y,comp,req_comp); + fclose(f); + return result; +} + + +#endif //!STBI_NO_STDIO + +STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_mem(&s,buffer,len); + + result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); + if (stbi__vertically_flip_on_load) { + stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); + } + + return result; +} +#endif + +#ifndef STBI_NO_LINEAR +static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + stbi__result_info ri; + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); + if (hdr_data) + stbi__float_postprocess(hdr_data,x,y,comp,req_comp); + return hdr_data; + } + #endif + data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + long pos = ftell(f); + int res; + stbi__context s; + stbi__start_file(&s,f); + res = stbi__hdr_test(&s); + fseek(f, pos, SEEK_SET); + return res; + #else + STBI_NOTUSED(f); + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(clbk); + STBI_NOTUSED(user); + return 0; + #endif +} + +#ifndef STBI_NO_LINEAR +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) +// nothing +#else +static void stbi__skip(stbi__context *s, int n) +{ + if (n == 0) return; // already there! + if (n < 0) { + s->img_buffer = s->img_buffer_end; + return; + } + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) +// nothing +#else +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} +#endif + +#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) +// nothing +#else +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} +#endif + +#ifndef STBI_NO_BMP +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + z += (stbi__uint32)stbi__get16le(s) << 16; + return z; +} +#endif + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=255; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=255; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=255; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = 255; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 stbi__compute_y_16(int r, int g, int b) +{ + return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + stbi__uint16 *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); + if (good == NULL) { + STBI_FREE(data); + return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + stbi__uint16 *src = data + j * x * img_n ; + stbi__uint16 *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=0xffff; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=0xffff; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=0xffff; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = 0xffff; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output; + if (!data) return NULL; + output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + } + if (n < comp) { + for (i=0; i < x*y; ++i) { + output[i*comp + n] = data[i*comp + n]/255.0f; + } + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output; + if (!data) return NULL; + output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi__uint16 dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + int jfif; + int app14_color_transform; // Adobe APP14 tag + int rgb; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0; + unsigned int code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) { + for (j=0; j < count[i]; ++j) { + h->size[k++] = (stbi_uc) (i+1); + if(k >= 257) return stbi__err("bad size list","Corrupt JPEG"); + } + } + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (~0U << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + unsigned int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + if(c < 0 || c >= 256) // symbol id out of bounds! + return -1; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + + sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & (sgn - 1)); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + if (j->code_bits < 1) return 0; // ran out of bits from stream, return 0s intead of continuing + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static const stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0 || t > 15) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta","Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if ((dc > SHRT_MAX) || (dequant[0] > SHRT_MAX) || !stbi__mul2shorts_valid((short) dc, (short) dequant[0])) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + diff = t ? stbi__extend_receive(j, t) : 0; + + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta", "Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if ((dc > SHRT_MAX) || !stbi__mul2shorts_valid((short) dc, 1 << j->succ_low)) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * (1 << j->succ_low)); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * (1 << shift)); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * (1 << shift)); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else { + // r=15 s=0 should write 16 0s, so we just do + // a run of 15 0s and then write s (which is 0), + // so we don't have to do anything special here + } + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k++]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } else { + if (r == 0) { + *p = (short) s; + break; + } + --r; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) * 4096) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0]*4; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); // consume repeated 0xff fill bytes + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4, sixteen = (p != 0); + int t = q & 15,i; + if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); + L -= (sixteen ? 129 : 65); + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + if(n > 256) return stbi__err("bad DHT header","Corrupt JPEG"); // Loop over i < n would write past end of values! + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + L = stbi__get16be(z->s); + if (L < 2) { + if (m == 0xFE) + return stbi__err("bad COM len","Corrupt JPEG"); + else + return stbi__err("bad APP len","Corrupt JPEG"); + } + L -= 2; + + if (m == 0xE0 && L >= 5) { // JFIF APP0 segment + static const unsigned char tag[5] = {'J','F','I','F','\0'}; + int ok = 1; + int i; + for (i=0; i < 5; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 5; + if (ok) + z->jfif = 1; + } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment + static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; + int ok = 1; + int i; + for (i=0; i < 6; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 6; + if (ok) { + stbi__get8(z->s); // version + stbi__get16be(z->s); // flags0 + stbi__get16be(z->s); // flags1 + z->app14_color_transform = stbi__get8(z->s); // color transform + L -= 6; + } + } + + stbi__skip(z->s, L); + return 1; + } + + return stbi__err("unknown marker","Corrupt JPEG"); +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) +{ + int i; + for (i=0; i < ncomp; ++i) { + if (z->img_comp[i].raw_data) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].raw_data = NULL; + z->img_comp[i].data = NULL; + } + if (z->img_comp[i].raw_coeff) { + STBI_FREE(z->img_comp[i].raw_coeff); + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].coeff = 0; + } + if (z->img_comp[i].linebuf) { + STBI_FREE(z->img_comp[i].linebuf); + z->img_comp[i].linebuf = NULL; + } + } + return why; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + c = stbi__get8(s); + if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + z->rgb = 0; + for (i=0; i < s->img_n; ++i) { + static const unsigned char rgb[3] = { 'R', 'G', 'B' }; + z->img_comp[i].id = stbi__get8(s); + if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) + ++z->rgb; + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios + // and I've never seen a non-corrupted JPEG file actually use them + for (i=0; i < s->img_n; ++i) { + if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); + if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + // these sizes can't be more than 17 bits + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + // + // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) + // so these muls can't overflow with 32-bit ints (which we require) + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].linebuf = NULL; + z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); + if (z->img_comp[i].raw_data == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + if (z->progressive) { + // w2, h2 are multiples of 8 (see above) + z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; + z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; + z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); + if (z->img_comp[i].raw_coeff == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->jfif = 0; + z->app14_color_transform = -1; // valid values are 0,1,2 + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +static stbi_uc stbi__skip_jpeg_junk_at_end(stbi__jpeg *j) +{ + // some JPEGs have junk at end, skip over it but if we find what looks + // like a valid marker, resume there + while (!stbi__at_eof(j->s)) { + stbi_uc x = stbi__get8(j->s); + while (x == 255) { // might be a marker + if (stbi__at_eof(j->s)) return STBI__MARKER_none; + x = stbi__get8(j->s); + if (x != 0x00 && x != 0xff) { + // not a stuffed zero or lead-in to another marker, looks + // like an actual marker, return it + return x; + } + // stuffed zero has x=0 now which ends the loop, meaning we go + // back to regular scan loop. + // repeated 0xff keeps trying to read the next byte of the marker. + } + } + return STBI__MARKER_none; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + for (m = 0; m < 4; m++) { + j->img_comp[m].raw_data = NULL; + j->img_comp[m].raw_coeff = NULL; + } + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + j->marker = stbi__skip_jpeg_junk_at_end(j); + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + m = stbi__get_marker(j); + if (STBI__RESTART(m)) + m = stbi__get_marker(j); + } else if (stbi__DNL(m)) { + int Ld = stbi__get16be(j->s); + stbi__uint32 NL = stbi__get16be(j->s); + if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); + if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); + m = stbi__get_marker(j); + } else { + if (!stbi__process_marker(j, m)) return 1; + m = stbi__get_marker(j); + } + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + stbi__free_jpeg_components(j, j->s->img_n, 0); +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +// fast 0..255 * 0..255 => 0..255 rounded multiplication +static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) +{ + unsigned int t = x*y + 128; + return (stbi_uc) ((t + (t >>8)) >> 8); +} + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n, is_rgb; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; + + is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); + + if (z->s->img_n == 3 && n < 3 && !is_rgb) + decode_n = 1; + else + decode_n = z->s->img_n; + + // nothing to do if no components requested; check this now to avoid + // accessing uninitialized coutput[0] later + if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + if (is_rgb) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = y[i]; + out[1] = coutput[1][i]; + out[2] = coutput[2][i]; + out[3] = 255; + out += n; + } + } else { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else if (z->s->img_n == 4) { + if (z->app14_color_transform == 0) { // CMYK + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(coutput[0][i], m); + out[1] = stbi__blinn_8x8(coutput[1][i], m); + out[2] = stbi__blinn_8x8(coutput[2][i], m); + out[3] = 255; + out += n; + } + } else if (z->app14_color_transform == 2) { // YCCK + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(255 - out[0], m); + out[1] = stbi__blinn_8x8(255 - out[1], m); + out[2] = stbi__blinn_8x8(255 - out[2], m); + out += n; + } + } else { // YCbCr + alpha? Ignore the fourth channel for now + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + if (is_rgb) { + if (n == 1) + for (i=0; i < z->s->img_x; ++i) + *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + else { + for (i=0; i < z->s->img_x; ++i, out += 2) { + out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + out[1] = 255; + } + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); + stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); + stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); + out[0] = stbi__compute_y(r, g, b); + out[1] = 255; + out += n; + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); + out[1] = 255; + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) { *out++ = y[i]; *out++ = 255; } + } + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output + return output; + } +} + +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + unsigned char* result; + stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__errpuc("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + STBI_NOTUSED(ri); + j->s = s; + stbi__setup_jpeg(j); + result = load_jpeg_image(j, x,y,comp,req_comp); + STBI_FREE(j); + return result; +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + stbi__setup_jpeg(j); + r = stbi__decode_jpeg_header(j, STBI__SCAN_type); + stbi__rewind(s); + STBI_FREE(j); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + int result; + stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + result = stbi__jpeg_info_raw(j, x, y, comp); + STBI_FREE(j); + return result; +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) +#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[STBI__ZNSYMS]; + stbi__uint16 value[STBI__ZNSYMS]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + if (sizes[i] > (1 << i)) + return stbi__err("bad sizes", "Corrupt PNG"); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int j = stbi__bit_reverse(next_code[s],s); + while (j < (1 << STBI__ZFAST_BITS)) { + z->fast[j] = fastv; + j += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + int hit_zeof_once; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static int stbi__zeof(stbi__zbuf *z) +{ + return (z->zbuffer >= z->zbuffer_end); +} + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + return stbi__zeof(z) ? 0 : *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + if (z->code_buffer >= (1U << z->num_bits)) { + z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ + return; + } + z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s >= 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! + if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) { + if (stbi__zeof(a)) { + if (!a->hit_zeof_once) { + // This is the first time we hit eof, insert 16 extra padding btis + // to allow us to keep going; if we actually consume any of them + // though, that is invalid data. This is caught later. + a->hit_zeof_once = 1; + a->num_bits += 16; // add 16 implicit zero bits + } else { + // We already inserted our extra 16 padding bits and are again + // out, this stream is actually prematurely terminated. + return -1; + } + } else { + stbi__fill_bits(a); + } + } + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + unsigned int cur, limit, old_limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (unsigned int) (z->zout - z->zout_start); + limit = old_limit = (unsigned) (z->zout_end - z->zout_start); + if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); + while (cur + n > limit) { + if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); + limit *= 2; + } + q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); + STBI_NOTUSED(old_limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static const int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static const int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static const int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + if (a->hit_zeof_once && a->num_bits < 16) { + // The first time we hit zeof, we inserted 16 extra zero bits into our bit + // buffer so the decoder can just do its speculative decoding. But if we + // actually consumed any of those bits (which is the case when num_bits < 16), + // the stream actually read past the end so it is malformed. + return stbi__err("unexpected end","Corrupt PNG"); + } + return 1; + } + if (z >= 286) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0 || z >= 30) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (len > a->zout_end - zout) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + if (len) { do *zout++ = v; while (--len); } + } else { + if (len) { do *zout++ = *p++; while (--len); } + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + int ntot = hlit + hdist; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < ntot) { + int c = stbi__zhuffman_decode(a, &z_codelength); + if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else { + stbi_uc fill = 0; + if (c == 16) { + c = stbi__zreceive(a,2)+3; + if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); + fill = lencodes[n-1]; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + } else if (c == 18) { + c = stbi__zreceive(a,7)+11; + } else { + return stbi__err("bad codelengths", "Corrupt PNG"); + } + if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); + memset(lencodes+n, fill, c); + n += c; + } + } + if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncompressed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +static const stbi_uc stbi__zdefault_length[STBI__ZNSYMS] = +{ + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 +}; +static const stbi_uc stbi__zdefault_distance[32] = +{ + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +}; +/* +Init algorithm: +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} +*/ + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + a->hit_zeof_once = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncompressed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , STBI__ZNSYMS)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; + int depth; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + int bytes = (depth == 16? 2 : 1); + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n*bytes; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + int output_bytes = out_n*bytes; + int filter_bytes = img_n*bytes; + int width = x; + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + + // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, + // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), + // so just check for raw_len < img_len always. + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior; + int filter = *raw++; + + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + if (img_width_bytes > x) return stbi__err("invalid width","Corrupt PNG"); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else if (depth == 16) { + if (img_n != out_n) { + cur[filter_bytes] = 255; // first pixel top byte + cur[filter_bytes+1] = 255; // first pixel bottom byte + } + raw += filter_bytes; + cur += output_bytes; + prior += output_bytes; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*filter_bytes; + #define STBI__CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break; + } + #undef STBI__CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define STBI__CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \ + for (k=0; k < filter_bytes; ++k) + switch (filter) { + STBI__CASE(STBI__F_none) { cur[k] = raw[k]; } break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break; + } + #undef STBI__CASE + + // the loop above sets the high byte of the pixels' alpha, but for + // 16 bit png files we also need the low byte set. we'll do that here. + if (depth == 16) { + cur = a->out + stride*j; // start at the beginning of the row again + for (i=0; i < x; ++i,cur+=output_bytes) { + cur[filter_bytes+1] = 255; + } + } + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + int q; + // insert alpha = 255 + cur = a->out + stride*j; + if (img_n == 1) { + for (q=x-1; q >= 0; --q) { + cur[q*2+1] = 255; + cur[q*2+0] = cur[q]; + } + } else { + STBI_ASSERT(img_n == 3); + for (q=x-1; q >= 0; --q) { + cur[q*4+3] = 255; + cur[q*4+2] = cur[q*3+2]; + cur[q*4+1] = cur[q*3+1]; + cur[q*4+0] = cur[q*3+0]; + } + } + } + } + } else if (depth == 16) { + // force the image data from big-endian to platform-native. + // this is done in a separate pass due to the decoding relying + // on the data being untouched, but could probably be done + // per-line during decode if care is taken. + stbi_uc *cur = a->out; + stbi__uint16 *cur16 = (stbi__uint16*)cur; + + for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) { + *cur16 = (cur[0] << 8) | cur[1]; + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + int bytes = (depth == 16 ? 2 : 1); + int out_bytes = out_n * bytes; + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); + if (!final) return stbi__err("outofmem", "Out of memory"); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, + a->out + (j*x+i)*out_bytes, out_bytes); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi__uint16 *p = (stbi__uint16*) z->out; + + // compute color-based transparency, assuming we've + // already got 65535 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i = 0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 65535); + p += 2; + } + } else { + for (i = 0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load_global = 0; +static int stbi__de_iphone_flag_global = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_global = flag_true_if_should_convert; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global +#define stbi__de_iphone_flag stbi__de_iphone_flag_global +#else +static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; +static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; + +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; + stbi__unpremultiply_on_load_set = 1; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_local = flag_true_if_should_convert; + stbi__de_iphone_flag_set = 1; +} + +#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ + ? stbi__unpremultiply_on_load_local \ + : stbi__unpremultiply_on_load_global) +#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ + ? stbi__de_iphone_flag_local \ + : stbi__de_iphone_flag_global) +#endif // STBI_THREAD_LOCAL + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + stbi_uc half = a / 2; + p[0] = (p[2] * 255 + half) / a; + p[1] = (p[1] * 255 + half) / a; + p[2] = ( t * 255 + half) / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]={0}; + stbi__uint16 tc16[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); + s->img_y = stbi__get32be(s); + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + } + // even with SCAN_header, have to scan to see if we have a tRNS + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. + if (scan == STBI__SCAN_header) { ++s->img_n; return 1; } + if (z->depth == 16) { + for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is + } else { + for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger + } + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { + // header scan definitely stops at first IDAT + if (pal_img_n) + s->img_n = pal_img_n; + return 1; + } + if (c.length > (1u << 30)) return stbi__err("IDAT size limit", "IDAT section larger than 2^30 bytes"); + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + stbi__uint32 idata_limit_old = idata_limit; + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + STBI_NOTUSED(idata_limit_old); + p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; + if (has_trans) { + if (z->depth == 16) { + if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; + } else { + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + } + } + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } else if (has_trans) { + // non-paletted image with tRNS -> source image has (constant) alpha + ++s->img_n; + } + STBI_FREE(z->expanded); z->expanded = NULL; + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) +{ + void *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + if (p->depth <= 8) + ri->bits_per_channel = 8; + else if (p->depth == 16) + ri->bits_per_channel = 16; + else + return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color depth"); + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + if (ri->bits_per_channel == 8) + result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + else + result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp, ri); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} + +static int stbi__png_is16(stbi__context *s) +{ + stbi__png p; + p.s = s; + if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) + return 0; + if (p.depth != 16) { + stbi__rewind(p.s); + return 0; + } + return 1; +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) { n += 16; z >>= 16; } + if (z >= 0x00100) { n += 8; z >>= 8; } + if (z >= 0x00010) { n += 4; z >>= 4; } + if (z >= 0x00004) { n += 2; z >>= 2; } + if (z >= 0x00002) { n += 1;/* >>= 1;*/ } + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +// extract an arbitrarily-aligned N-bit value (N=bits) +// from v, and then make it 8-bits long and fractionally +// extend it to full full range. +static int stbi__shiftsigned(unsigned int v, int shift, int bits) +{ + static unsigned int mul_table[9] = { + 0, + 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, + 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, + }; + static unsigned int shift_table[9] = { + 0, 0,0,1,0,2,4,6,0, + }; + if (shift < 0) + v <<= -shift; + else + v >>= shift; + STBI_ASSERT(v < 256); + v >>= (8-bits); + STBI_ASSERT(bits >= 0 && bits <= 8); + return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; +} + +typedef struct +{ + int bpp, offset, hsz; + unsigned int mr,mg,mb,ma, all_a; + int extra_read; +} stbi__bmp_data; + +static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) +{ + // BI_BITFIELDS specifies masks explicitly, don't override + if (compress == 3) + return 1; + + if (compress == 0) { + if (info->bpp == 16) { + info->mr = 31u << 10; + info->mg = 31u << 5; + info->mb = 31u << 0; + } else if (info->bpp == 32) { + info->mr = 0xffu << 16; + info->mg = 0xffu << 8; + info->mb = 0xffu << 0; + info->ma = 0xffu << 24; + info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 + } else { + // otherwise, use defaults, which is all-0 + info->mr = info->mg = info->mb = info->ma = 0; + } + return 1; + } + return 0; // error +} + +static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + info->offset = stbi__get32le(s); + info->hsz = hsz = stbi__get32le(s); + info->mr = info->mg = info->mb = info->ma = 0; + info->extra_read = 14; + + if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); + + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + info->bpp = stbi__get16le(s); + if (hsz != 12) { + int compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes + if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (info->bpp == 16 || info->bpp == 32) { + if (compress == 0) { + stbi__bmp_set_mask_defaults(info, compress); + } else if (compress == 3) { + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->extra_read += 12; + // not documented, but generated by photoshop and handled by mspaint + if (info->mr == info->mg && info->mg == info->mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + // V4/V5 header + int i; + if (hsz != 108 && hsz != 124) + return stbi__errpuc("bad BMP", "bad BMP"); + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->ma = stbi__get32le(s); + if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs + stbi__bmp_set_mask_defaults(info, compress); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + } + return (void *) 1; +} + + +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, all_a; + stbi_uc pal[256][4]; + int psize=0,i,j,width; + int flip_vertically, pad, target; + stbi__bmp_data info; + STBI_NOTUSED(ri); + + info.all_a = 255; + if (stbi__bmp_parse_header(s, &info) == NULL) + return NULL; // error code already set + + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + mr = info.mr; + mg = info.mg; + mb = info.mb; + ma = info.ma; + all_a = info.all_a; + + if (info.hsz == 12) { + if (info.bpp < 24) + psize = (info.offset - info.extra_read - 24) / 3; + } else { + if (info.bpp < 16) + psize = (info.offset - info.extra_read - info.hsz) >> 2; + } + if (psize == 0) { + // accept some number of extra bytes after the header, but if the offset points either to before + // the header ends or implies a large amount of extra data, reject the file as malformed + int bytes_read_so_far = s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); + int header_limit = 1024; // max we actually read is below 256 bytes currently. + int extra_data_limit = 256*4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. + if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { + return stbi__errpuc("bad header", "Corrupt BMP"); + } + // we established that bytes_read_so_far is positive and sensible. + // the first half of this test rejects offsets that are either too small positives, or + // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn + // ensures the number computed in the second half of the test can't overflow. + if (info.offset < bytes_read_so_far || info.offset - bytes_read_so_far > extra_data_limit) { + return stbi__errpuc("bad offset", "Corrupt BMP"); + } else { + stbi__skip(s, info.offset - bytes_read_so_far); + } + } + + if (info.bpp == 24 && ma == 0xff000000) + s->img_n = 3; + else + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + + // sanity-check size + if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) + return stbi__errpuc("too large", "Corrupt BMP"); + + out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (info.bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (info.hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, info.offset - info.extra_read - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); + if (info.bpp == 1) width = (s->img_x + 7) >> 3; + else if (info.bpp == 4) width = (s->img_x + 1) >> 1; + else if (info.bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + if (info.bpp == 1) { + for (j=0; j < (int) s->img_y; ++j) { + int bit_offset = 7, v = stbi__get8(s); + for (i=0; i < (int) s->img_x; ++i) { + int color = (v>>bit_offset)&0x1; + out[z++] = pal[color][0]; + out[z++] = pal[color][1]; + out[z++] = pal[color][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + if((--bit_offset) < 0) { + bit_offset = 7; + v = stbi__get8(s); + } + } + stbi__skip(s, pad); + } + } else { + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (info.bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (info.bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, info.offset - info.extra_read - info.hsz); + if (info.bpp == 24) width = 3 * s->img_x; + else if (info.bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (info.bpp == 24) { + easy = 1; + } else if (info.bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + all_a |= a; + if (target == 4) out[z++] = a; + } + } else { + int bpp = info.bpp; + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); + unsigned int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + all_a |= a; + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + + // if alpha channel is all 0s, replace with all 255s + if (target == 4 && all_a == 0) + for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) + out[i] = 255; + + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i]; p1[i] = p2[i]; p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +// returns STBI_rgb or whatever, 0 on error +static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) +{ + // only RGB or RGBA (incl. 16bit) or grey allowed + if (is_rgb16) *is_rgb16 = 0; + switch(bits_per_pixel) { + case 8: return STBI_grey; + case 16: if(is_grey) return STBI_grey_alpha; + // fallthrough + case 15: if(is_rgb16) *is_rgb16 = 1; + return STBI_rgb; + case 24: // fallthrough + case 32: return bits_per_pixel/8; + default: return 0; + } +} + +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; + int sz, tga_colormap_type; + stbi__get8(s); // discard Offset + tga_colormap_type = stbi__get8(s); // colormap type + if( tga_colormap_type > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + tga_image_type = stbi__get8(s); // image type + if ( tga_colormap_type == 1 ) { // colormapped (paletted) image + if (tga_image_type != 1 && tga_image_type != 9) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip image x and y origin + tga_colormap_bpp = sz; + } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE + if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { + stbi__rewind(s); + return 0; // only RGB or grey allowed, +/- RLE + } + stbi__skip(s,9); // skip colormap specification and image x/y origin + tga_colormap_bpp = 0; + } + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + tga_bits_per_pixel = stbi__get8(s); // bits per pixel + stbi__get8(s); // ignore alpha bits + if (tga_colormap_bpp != 0) { + if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { + // when using a colormap, tga_bits_per_pixel is the size of the indexes + // I don't think anything but 8 or 16bit indexes makes sense + stbi__rewind(s); + return 0; + } + tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); + } else { + tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); + } + if(!tga_comp) { + stbi__rewind(s); + return 0; + } + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res = 0; + int sz, tga_color_type; + stbi__get8(s); // discard Offset + tga_color_type = stbi__get8(s); // color type + if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( tga_color_type == 1 ) { // colormapped (paletted) image + if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + stbi__skip(s,4); // skip image x and y origin + } else { // "normal" image w/o colormap + if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE + stbi__skip(s,9); // skip colormap specification and image x/y origin + } + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height + sz = stbi__get8(s); // bits per pixel + if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + + res = 1; // if we got this far, everything's good and we can return 1 instead of 0 + +errorEnd: + stbi__rewind(s); + return res; +} + +// read 16bit value and convert to 24bit RGB +static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) +{ + stbi__uint16 px = (stbi__uint16)stbi__get16le(s); + stbi__uint16 fiveBitMask = 31; + // we have 3 channels with 5bits each + int r = (px >> 10) & fiveBitMask; + int g = (px >> 5) & fiveBitMask; + int b = px & fiveBitMask; + // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later + out[0] = (stbi_uc)((r * 255)/31); + out[1] = (stbi_uc)((g * 255)/31); + out[2] = (stbi_uc)((b * 255)/31); + + // some people claim that the most significant bit might be used for alpha + // (possibly if an alpha-bit is set in the "image descriptor byte") + // but that only made 16bit test images completely translucent.. + // so let's treat all 15 and 16bit TGAs as RGB with no alpha. +} + +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp, tga_rgb16=0; + int tga_inverted = stbi__get8(s); + // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4] = {0}; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + STBI_NOTUSED(ri); + STBI_NOTUSED(tga_x_origin); // @TODO + STBI_NOTUSED(tga_y_origin); // @TODO + + if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); + else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); + + if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency + return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) + return stbi__errpuc("too large", "Corrupt TGA"); + + tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { + for (i=0; i < tga_height; ++i) { + int row = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + if (tga_palette_len == 0) { /* you have to have at least one entry! */ + STBI_FREE(tga_data); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (tga_rgb16) { + stbi_uc *pal_entry = tga_palette; + STBI_ASSERT(tga_comp == STBI_rgb); + for (i=0; i < tga_palette_len; ++i) { + stbi__tga_read_rgb16(s, pal_entry); + pal_entry += tga_comp; + } + } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in index, then perform the lookup + int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); + if ( pal_idx >= tga_palette_len ) { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_comp; + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else if(tga_rgb16) { + STBI_ASSERT(tga_comp == STBI_rgb); + stbi__tga_read_rgb16(s, raw_data); + } else { + // read in the data raw + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB - if the source data was RGB16, it already is in the right order + if (tga_comp >= 3 && !tga_rgb16) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + STBI_NOTUSED(tga_palette_start); + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) +{ + int count, nleft, len; + + count = 0; + while ((nleft = pixelCount - count) > 0) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + if (len > nleft) return 0; // corrupt data + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len = 257 - len; + if (len > nleft) return 0; // corrupt data + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + + return 1; +} + +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + int pixelCount; + int channelCount, compression; + int channel, i; + int bitdepth; + int w,h; + stbi_uc *out; + STBI_NOTUSED(ri); + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // Make sure the depth is 8 bits. + bitdepth = stbi__get16be(s); + if (bitdepth != 8 && bitdepth != 16) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Check size + if (!stbi__mad3sizes_valid(4, w, h, 0)) + return stbi__errpuc("too large", "Corrupt PSD"); + + // Create the destination image. + + if (!compression && bitdepth == 16 && bpc == 16) { + out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); + ri->bits_per_channel = 16; + } else + out = (stbi_uc *) stbi__malloc(4 * w*h); + + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = (channel == 3 ? 255 : 0); + } else { + // Read the RLE data. + if (!stbi__psd_decode_rle(s, p, pixelCount)) { + STBI_FREE(out); + return stbi__errpuc("corrupt", "bad RLE data"); + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < 4; channel++) { + if (channel >= channelCount) { + // Fill this channel with default data. + if (bitdepth == 16 && bpc == 16) { + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + stbi__uint16 val = channel == 3 ? 65535 : 0; + for (i = 0; i < pixelCount; i++, q += 4) + *q = val; + } else { + stbi_uc *p = out+channel; + stbi_uc val = channel == 3 ? 255 : 0; + for (i = 0; i < pixelCount; i++, p += 4) + *p = val; + } + } else { + if (ri->bits_per_channel == 16) { // output bpc + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + for (i = 0; i < pixelCount; i++, q += 4) + *q = (stbi__uint16) stbi__get16be(s); + } else { + stbi_uc *p = out+channel; + if (bitdepth == 16) { // input bpc + for (i = 0; i < pixelCount; i++, p += 4) + *p = (stbi_uc) (stbi__get16be(s) >> 8); + } else { + for (i = 0; i < pixelCount; i++, p += 4) + *p = stbi__get8(s); + } + } + } + } + } + + // remove weird white matte from PSD + if (channelCount >= 4) { + if (ri->bits_per_channel == 16) { + for (i=0; i < w*h; ++i) { + stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; + if (pixel[3] != 0 && pixel[3] != 65535) { + float a = pixel[3] / 65535.0f; + float ra = 1.0f / a; + float inv_a = 65535.0f * (1 - ra); + pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); + pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); + pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); + } + } + } else { + for (i=0; i < w*h; ++i) { + unsigned char *pixel = out + 4*i; + if (pixel[3] != 0 && pixel[3] != 255) { + float a = pixel[3] / 255.0f; + float ra = 1.0f / a; + float inv_a = 255.0f * (1 - ra); + pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); + pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); + pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); + } + } + } + } + + // convert to desired output format + if (req_comp && req_comp != 4) { + if (ri->bits_per_channel == 16) + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); + else + out = stbi__convert_format(out, 4, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = 4; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; ytype) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;xchannel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; ichannel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;ichannel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;ichannel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) +{ + stbi_uc *result; + int i, x,y, internal_comp; + STBI_NOTUSED(ri); + + if (!comp) comp = &internal_comp; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + + if (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); + if (!result) return stbi__errpuc("outofmem", "Out of memory"); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + return 0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + stbi_uc *background; // The current "background" as far as a gif is concerned + stbi_uc *history; + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[8192]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; + int delay; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); + if (!g) return stbi__err("outofmem", "Out of memory"); + if (!stbi__gif_header(s, g, comp, 1)) { + STBI_FREE(g); + stbi__rewind( s ); + return 0; + } + if (x) *x = g->w; + if (y) *y = g->h; + STBI_FREE(g); + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + int idx; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + idx = g->cur_x + g->cur_y; + p = &g->out[idx]; + g->history[idx / 4] = 1; + + c = &g->color_table[g->codes[code].suffix * 4]; + if (c[3] > 128) { // don't render transparent pixels; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, init_code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + if (lzw_cs > 12) return NULL; + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (init_code = 0; init_code < clear; init_code++) { + g->codes[init_code].prefix = -1; + g->codes[init_code].first = (stbi_uc) init_code; + g->codes[init_code].suffix = (stbi_uc) init_code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code <= avail) { + if (first) { + return stbi__errpuc("no clear code", "Corrupt GIF"); + } + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 8192) { + return stbi__errpuc("too many codes", "Corrupt GIF"); + } + + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code == avail) ? p->first : g->codes[code].first; + } else if (code == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +// two back is the image from two frames ago, used for a very specific disposal format +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) +{ + int dispose; + int first_frame; + int pi; + int pcount; + STBI_NOTUSED(req_comp); + + // on first frame, any non-written pixels get the background colour (non-transparent) + first_frame = 0; + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) + return stbi__errpuc("too large", "GIF image is too large"); + pcount = g->w * g->h; + g->out = (stbi_uc *) stbi__malloc(4 * pcount); + g->background = (stbi_uc *) stbi__malloc(4 * pcount); + g->history = (stbi_uc *) stbi__malloc(pcount); + if (!g->out || !g->background || !g->history) + return stbi__errpuc("outofmem", "Out of memory"); + + // image is treated as "transparent" at the start - ie, nothing overwrites the current background; + // background colour is only used for pixels that are not rendered first frame, after that "background" + // color refers to the color that was there the previous frame. + memset(g->out, 0x00, 4 * pcount); + memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) + memset(g->history, 0x00, pcount); // pixels that were affected previous frame + first_frame = 1; + } else { + // second frame - how do we dispose of the previous one? + dispose = (g->eflags & 0x1C) >> 2; + pcount = g->w * g->h; + + if ((dispose == 3) && (two_back == 0)) { + dispose = 2; // if I don't have an image to revert back to, default to the old background + } + + if (dispose == 3) { // use previous graphic + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); + } + } + } else if (dispose == 2) { + // restore what was changed last frame to background before that frame; + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); + } + } + } else { + // This is a non-disposal case eithe way, so just + // leave the pixels as is, and they will become the new background + // 1: do not dispose + // 0: not specified. + } + + // background is what out is after the undoing of the previou frame; + memcpy( g->background, g->out, 4 * g->w * g->h ); + } + + // clear my history; + memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame + + for (;;) { + int tag = stbi__get8(s); + switch (tag) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + // if the width of the specified rectangle is 0, that means + // we may not see *any* pixels or the image is malformed; + // to make sure this is caught, move the current y down to + // max_y (which is what out_gif_code checks). + if (w == 0) + g->cur_y = g->max_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (!o) return NULL; + + // if this was the first frame, + pcount = g->w * g->h; + if (first_frame && (g->bgindex > 0)) { + // if first frame, any pixel not drawn to gets the background color + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi] == 0) { + g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; + memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); + } + } + } + + return o; + } + + case 0x21: // Comment Extension. + { + int len; + int ext = stbi__get8(s); + if (ext == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. + + // unset old transparent + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 255; + } + if (g->eflags & 0x01) { + g->transparent = stbi__get8(s); + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 0; + } + } else { + // don't need transparent + stbi__skip(s, 1); + g->transparent = -1; + } + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) { + stbi__skip(s, len); + } + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static void *stbi__load_gif_main_outofmem(stbi__gif *g, stbi_uc *out, int **delays) +{ + STBI_FREE(g->out); + STBI_FREE(g->history); + STBI_FREE(g->background); + + if (out) STBI_FREE(out); + if (delays && *delays) STBI_FREE(*delays); + return stbi__errpuc("outofmem", "Out of memory"); +} + +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + if (stbi__gif_test(s)) { + int layers = 0; + stbi_uc *u = 0; + stbi_uc *out = 0; + stbi_uc *two_back = 0; + stbi__gif g; + int stride; + int out_size = 0; + int delays_size = 0; + + STBI_NOTUSED(out_size); + STBI_NOTUSED(delays_size); + + memset(&g, 0, sizeof(g)); + if (delays) { + *delays = 0; + } + + do { + u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + + if (u) { + *x = g.w; + *y = g.h; + ++layers; + stride = g.w * g.h * 4; + + if (out) { + void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); + if (!tmp) + return stbi__load_gif_main_outofmem(&g, out, delays); + else { + out = (stbi_uc*) tmp; + out_size = layers * stride; + } + + if (delays) { + int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); + if (!new_delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + *delays = new_delays; + delays_size = layers * sizeof(int); + } + } else { + out = (stbi_uc*)stbi__malloc( layers * stride ); + if (!out) + return stbi__load_gif_main_outofmem(&g, out, delays); + out_size = layers * stride; + if (delays) { + *delays = (int*) stbi__malloc( layers * sizeof(int) ); + if (!*delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + delays_size = layers * sizeof(int); + } + } + memcpy( out + ((layers - 1) * stride), u, stride ); + if (layers >= 2) { + two_back = out - 2 * stride; + } + + if (delays) { + (*delays)[layers - 1U] = g.delay; + } + } + } while (u != 0); + + // free temp buffer; + STBI_FREE(g.out); + STBI_FREE(g.history); + STBI_FREE(g.background); + + // do the final conversion after loading everything; + if (req_comp && req_comp != 4) + out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); + + *z = layers; + return out; + } else { + return stbi__errpuc("not GIF", "Image was not as a gif type."); + } +} + +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + STBI_NOTUSED(ri); + + u = stbi__gif_load_next(s, &g, comp, req_comp, 0); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + + // moved conversion to after successful load so that the same + // can be done for multiple frames. + if (req_comp && req_comp != 4) + u = stbi__convert_format(u, 4, req_comp, g.w, g.h); + } else if (g.out) { + // if there was an error and we allocated an image buffer, free it! + STBI_FREE(g.out); + } + + // free buffers needed for multiple frame loading; + STBI_FREE(g.history); + STBI_FREE(g.background); + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s, const char *signature) +{ + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + stbi__rewind(s); + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); + stbi__rewind(s); + if(!r) { + r = stbi__hdr_test_core(s, "#?RGBE\n"); + stbi__rewind(s); + } + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + const char *headerToken; + STBI_NOTUSED(ri); + + // Check identifier + headerToken = stbi__hdr_gettoken(s,buffer); + if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) + return stbi__errpf("too large", "HDR image is too large"); + + // Read data + hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); + if (!hdr_data) + return stbi__errpf("outofmem", "Out of memory"); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) { + scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); + if (!scanline) { + STBI_FREE(hdr_data); + return stbi__errpf("outofmem", "Out of memory"); + } + } + + for (k = 0; k < 4; ++k) { + int nleft; + i = 0; + while ((nleft = width - i) > 0) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + if (scanline) + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int dummy; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (stbi__hdr_test(s) == 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + void *p; + stbi__bmp_data info; + + info.all_a = 255; + p = stbi__bmp_parse_header(s, &info); + if (p == NULL) { + stbi__rewind( s ); + return 0; + } + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) { + if (info.bpp == 24 && info.ma == 0xff000000) + *comp = 3; + else + *comp = info.ma ? 4 : 3; + } + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount, dummy, depth; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + depth = stbi__get16be(s); + if (depth != 8 && depth != 16) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} + +static int stbi__psd_is16(stbi__context *s) +{ + int channelCount, depth; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + STBI_NOTUSED(stbi__get32be(s)); + STBI_NOTUSED(stbi__get32be(s)); + depth = stbi__get16be(s); + if (depth != 16) { + stbi__rewind( s ); + return 0; + } + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained,dummy; + stbi__pic_packet packets[10]; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { + stbi__rewind(s); + return 0; + } + + stbi__skip(s, 88); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) { + stbi__rewind( s); + return 0; + } + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + STBI_NOTUSED(ri); + + ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); + if (ri->bits_per_channel == 0) + return 0; + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + + if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) + return stbi__errpuc("too large", "PNM too large"); + + out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { + STBI_FREE(out); + return stbi__errpuc("bad PNM", "PNM file truncated"); + } + + if (req_comp && req_comp != s->img_n) { + if (ri->bits_per_channel == 16) { + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, s->img_n, req_comp, s->img_x, s->img_y); + } else { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + } + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + for (;;) { + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); + + if (stbi__at_eof(s) || *c != '#') + break; + + while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) + *c = (char) stbi__get8(s); + } +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + if((value > 214748364) || (value == 214748364 && *c > '7')) + return stbi__err("integer parse overflow", "Parsing an integer in the PPM header overflowed a 32-bit int"); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv, dummy; + char c, p, t; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + stbi__rewind(s); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind(s); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + if(*x == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + if (*y == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + if (maxv > 65535) + return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); + else if (maxv > 255) + return 16; + else + return 8; +} + +static int stbi__pnm_is16(stbi__context *s) +{ + if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) + return 1; + return 0; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +static int stbi__is_16_main(stbi__context *s) +{ + #ifndef STBI_NO_PNG + if (stbi__png_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_is16(s)) return 1; + #endif + return 0; +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} + +STBIDEF int stbi_is_16_bit(char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_is_16_bit_from_file(f); + fclose(f); + return result; +} + +STBIDEF int stbi_is_16_bit_from_file(FILE *f) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__is_16_main(&s); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__is_16_main(&s); +} + +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__is_16_main(&s); +} + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug + 1-bit BMP + *_is_16_bit api + avoid warnings + 2.16 (2017-07-23) all functions have 16-bit variants; + STBI_NO_STDIO works again; + compilation fixes; + fix rounding in unpremultiply; + optimize vertical flip; + disable raw_len validation; + documentation fixes + 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; + warning fixes; disable run-time SSE detection on gcc; + uniform handling of optional "return" values; + thread-safe initialization of zlib tables + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) allocate large structures on the stack + remove white matting for transparent PSD + fix reported channel count for PNG & BMP + re-enable SSE2 in non-gcc 64-bit + support RGB-formatted JPEG + read 16-bit PNGs (only as 8-bit) + 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED + 2.09 (2016-01-16) allow comments in PNM files + 16-bit-per-pixel TGA (not bit-per-component) + info() for TGA could break due to .hdr handling + info() for BMP to shares code instead of sloppy parse + can use STBI_REALLOC_SIZED if allocator doesn't support realloc + code cleanup + 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA + 2.07 (2015-09-13) fix compiler warnings + partial animated GIF support + limited 16-bpc PSD support + #ifdef unused functions + bug with < 92 byte PIC,PNM,HDR,TGA + 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) extra corruption checking (mmozeiko) + stbi_set_flip_vertically_on_load (nguillemot) + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 (2008-08-02) + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 (2006-11-19) + first released version +*/ + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/tinygltf/stb_image_write.h b/src/tinygltf/stb_image_write.h new file mode 100644 index 00000000..e4b32ed1 --- /dev/null +++ b/src/tinygltf/stb_image_write.h @@ -0,0 +1,1724 @@ +/* stb_image_write - v1.16 - public domain - http://nothings.org/stb + writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015 + no warranty implied; use at your own risk + + Before #including, + + #define STB_IMAGE_WRITE_IMPLEMENTATION + + in the file that you want to have the implementation. + + Will probably not work correctly with strict-aliasing optimizations. + +ABOUT: + + This header file is a library for writing images to C stdio or a callback. + + The PNG output is not optimal; it is 20-50% larger than the file + written by a decent optimizing implementation; though providing a custom + zlib compress function (see STBIW_ZLIB_COMPRESS) can mitigate that. + This library is designed for source code compactness and simplicity, + not optimal image file size or run-time performance. + +BUILDING: + + You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. + You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace + malloc,realloc,free. + You can #define STBIW_MEMMOVE() to replace memmove() + You can #define STBIW_ZLIB_COMPRESS to use a custom zlib-style compress function + for PNG compression (instead of the builtin one), it must have the following signature: + unsigned char * my_compress(unsigned char *data, int data_len, int *out_len, int quality); + The returned data will be freed with STBIW_FREE() (free() by default), + so it must be heap allocated with STBIW_MALLOC() (malloc() by default), + +UNICODE: + + If compiling for Windows and you wish to use Unicode filenames, compile + with + #define STBIW_WINDOWS_UTF8 + and pass utf8-encoded filenames. Call stbiw_convert_wchar_to_utf8 to convert + Windows wchar_t filenames to utf8. + +USAGE: + + There are five functions, one for each image file format: + + int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_jpg(char const *filename, int w, int h, int comp, const void *data, int quality); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + + void stbi_flip_vertically_on_write(int flag); // flag is non-zero to flip data vertically + + There are also five equivalent functions that use an arbitrary write function. You are + expected to open/close your file-equivalent before and after calling these: + + int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); + int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + + where the callback is: + void stbi_write_func(void *context, void *data, int size); + + You can configure it with these global variables: + int stbi_write_tga_with_rle; // defaults to true; set to 0 to disable RLE + int stbi_write_png_compression_level; // defaults to 8; set to higher for more compression + int stbi_write_force_png_filter; // defaults to -1; set to 0..5 to force a filter mode + + + You can define STBI_WRITE_NO_STDIO to disable the file variant of these + functions, so the library will not use stdio.h at all. However, this will + also disable HDR writing, because it requires stdio for formatted output. + + Each function returns 0 on failure and non-0 on success. + + The functions create an image file defined by the parameters. The image + is a rectangle of pixels stored from left-to-right, top-to-bottom. + Each pixel contains 'comp' channels of data stored interleaved with 8-bits + per channel, in the following order: 1=Y, 2=YA, 3=RGB, 4=RGBA. (Y is + monochrome color.) The rectangle is 'w' pixels wide and 'h' pixels tall. + The *data pointer points to the first byte of the top-left-most pixel. + For PNG, "stride_in_bytes" is the distance in bytes from the first byte of + a row of pixels to the first byte of the next row of pixels. + + PNG creates output files with the same number of components as the input. + The BMP format expands Y to RGB in the file format and does not + output alpha. + + PNG supports writing rectangles of data even when the bytes storing rows of + data are not consecutive in memory (e.g. sub-rectangles of a larger image), + by supplying the stride between the beginning of adjacent rows. The other + formats do not. (Thus you cannot write a native-format BMP through the BMP + writer, both because it is in BGR order and because it may have padding + at the end of the line.) + + PNG allows you to set the deflate compression level by setting the global + variable 'stbi_write_png_compression_level' (it defaults to 8). + + HDR expects linear float data. Since the format is always 32-bit rgb(e) + data, alpha (if provided) is discarded, and for monochrome data it is + replicated across all three channels. + + TGA supports RLE or non-RLE compressed data. To use non-RLE-compressed + data, set the global variable 'stbi_write_tga_with_rle' to 0. + + JPEG does ignore alpha channels in input data; quality is between 1 and 100. + Higher quality looks better but results in a bigger image. + JPEG baseline (no JPEG progressive). + +CREDITS: + + + Sean Barrett - PNG/BMP/TGA + Baldur Karlsson - HDR + Jean-Sebastien Guay - TGA monochrome + Tim Kelsey - misc enhancements + Alan Hickman - TGA RLE + Emmanuel Julien - initial file IO callback implementation + Jon Olick - original jo_jpeg.cpp code + Daniel Gibson - integrate JPEG, allow external zlib + Aarni Koskela - allow choosing PNG filter + + bugfixes: + github:Chribba + Guillaume Chereau + github:jry2 + github:romigrou + Sergio Gonzalez + Jonas Karlsson + Filip Wasil + Thatcher Ulrich + github:poppolopoppo + Patrick Boettcher + github:xeekworx + Cap Petschulat + Simon Rodriguez + Ivan Tikhonov + github:ignotion + Adam Schackart + Andrew Kensler + +LICENSE + + See end of file for license information. + +*/ + +#ifndef INCLUDE_STB_IMAGE_WRITE_H +#define INCLUDE_STB_IMAGE_WRITE_H + +#include + +// if STB_IMAGE_WRITE_STATIC causes problems, try defining STBIWDEF to 'inline' or 'static inline' +#ifndef STBIWDEF +#ifdef STB_IMAGE_WRITE_STATIC +#define STBIWDEF static +#else +#ifdef __cplusplus +#define STBIWDEF extern "C" +#else +#define STBIWDEF extern +#endif +#endif +#endif + +#ifndef STB_IMAGE_WRITE_STATIC // C++ forbids static forward declarations +STBIWDEF int stbi_write_tga_with_rle; +STBIWDEF int stbi_write_png_compression_level; +STBIWDEF int stbi_write_force_png_filter; +#endif + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality); + +#ifdef STBIW_WINDOWS_UTF8 +STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#endif +#endif + +typedef void stbi_write_func(void *context, void *data, int size); + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + +STBIWDEF void stbi_flip_vertically_on_write(int flip_boolean); + +#endif//INCLUDE_STB_IMAGE_WRITE_H + +#ifdef STB_IMAGE_WRITE_IMPLEMENTATION + +#ifdef _WIN32 + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif + #ifndef _CRT_NONSTDC_NO_DEPRECATE + #define _CRT_NONSTDC_NO_DEPRECATE + #endif +#endif + +#ifndef STBI_WRITE_NO_STDIO +#include +#endif // STBI_WRITE_NO_STDIO + +#include +#include +#include +#include + +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && (defined(STBIW_REALLOC) || defined(STBIW_REALLOC_SIZED)) +// ok +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) && !defined(STBIW_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC (or STBIW_REALLOC_SIZED)." +#endif + +#ifndef STBIW_MALLOC +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,newsz) realloc(p,newsz) +#define STBIW_FREE(p) free(p) +#endif + +#ifndef STBIW_REALLOC_SIZED +#define STBIW_REALLOC_SIZED(p,oldsz,newsz) STBIW_REALLOC(p,newsz) +#endif + + +#ifndef STBIW_MEMMOVE +#define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) +#endif + + +#ifndef STBIW_ASSERT +#include +#define STBIW_ASSERT(x) assert(x) +#endif + +#define STBIW_UCHAR(x) (unsigned char) ((x) & 0xff) + +#ifdef STB_IMAGE_WRITE_STATIC +static int stbi_write_png_compression_level = 8; +static int stbi_write_tga_with_rle = 1; +static int stbi_write_force_png_filter = -1; +#else +int stbi_write_png_compression_level = 8; +int stbi_write_tga_with_rle = 1; +int stbi_write_force_png_filter = -1; +#endif + +static int stbi__flip_vertically_on_write = 0; + +STBIWDEF void stbi_flip_vertically_on_write(int flag) +{ + stbi__flip_vertically_on_write = flag; +} + +typedef struct +{ + stbi_write_func *func; + void *context; + unsigned char buffer[64]; + int buf_used; +} stbi__write_context; + +// initialize a callback-based context +static void stbi__start_write_callbacks(stbi__write_context *s, stbi_write_func *c, void *context) +{ + s->func = c; + s->context = context; +} + +#ifndef STBI_WRITE_NO_STDIO + +static void stbi__stdio_write(void *context, void *data, int size) +{ + fwrite(data,1,size,(FILE*) context); +} + +#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8) +#ifdef __cplusplus +#define STBIW_EXTERN extern "C" +#else +#define STBIW_EXTERN extern +#endif +STBIW_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBIW_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); + +STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + +static FILE *stbiw__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + +static int stbi__start_write_file(stbi__write_context *s, const char *filename) +{ + FILE *f = stbiw__fopen(filename, "wb"); + stbi__start_write_callbacks(s, stbi__stdio_write, (void *) f); + return f != NULL; +} + +static void stbi__end_write_file(stbi__write_context *s) +{ + fclose((FILE *)s->context); +} + +#endif // !STBI_WRITE_NO_STDIO + +typedef unsigned int stbiw_uint32; +typedef int stb_image_write_test[sizeof(stbiw_uint32)==4 ? 1 : -1]; + +static void stbiw__writefv(stbi__write_context *s, const char *fmt, va_list v) +{ + while (*fmt) { + switch (*fmt++) { + case ' ': break; + case '1': { unsigned char x = STBIW_UCHAR(va_arg(v, int)); + s->func(s->context,&x,1); + break; } + case '2': { int x = va_arg(v,int); + unsigned char b[2]; + b[0] = STBIW_UCHAR(x); + b[1] = STBIW_UCHAR(x>>8); + s->func(s->context,b,2); + break; } + case '4': { stbiw_uint32 x = va_arg(v,int); + unsigned char b[4]; + b[0]=STBIW_UCHAR(x); + b[1]=STBIW_UCHAR(x>>8); + b[2]=STBIW_UCHAR(x>>16); + b[3]=STBIW_UCHAR(x>>24); + s->func(s->context,b,4); + break; } + default: + STBIW_ASSERT(0); + return; + } + } +} + +static void stbiw__writef(stbi__write_context *s, const char *fmt, ...) +{ + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); +} + +static void stbiw__write_flush(stbi__write_context *s) +{ + if (s->buf_used) { + s->func(s->context, &s->buffer, s->buf_used); + s->buf_used = 0; + } +} + +static void stbiw__putc(stbi__write_context *s, unsigned char c) +{ + s->func(s->context, &c, 1); +} + +static void stbiw__write1(stbi__write_context *s, unsigned char a) +{ + if ((size_t)s->buf_used + 1 > sizeof(s->buffer)) + stbiw__write_flush(s); + s->buffer[s->buf_used++] = a; +} + +static void stbiw__write3(stbi__write_context *s, unsigned char a, unsigned char b, unsigned char c) +{ + int n; + if ((size_t)s->buf_used + 3 > sizeof(s->buffer)) + stbiw__write_flush(s); + n = s->buf_used; + s->buf_used = n+3; + s->buffer[n+0] = a; + s->buffer[n+1] = b; + s->buffer[n+2] = c; +} + +static void stbiw__write_pixel(stbi__write_context *s, int rgb_dir, int comp, int write_alpha, int expand_mono, unsigned char *d) +{ + unsigned char bg[3] = { 255, 0, 255}, px[3]; + int k; + + if (write_alpha < 0) + stbiw__write1(s, d[comp - 1]); + + switch (comp) { + case 2: // 2 pixels = mono + alpha, alpha is written separately, so same as 1-channel case + case 1: + if (expand_mono) + stbiw__write3(s, d[0], d[0], d[0]); // monochrome bmp + else + stbiw__write1(s, d[0]); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k = 0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3]) / 255; + stbiw__write3(s, px[1 - rgb_dir], px[1], px[1 + rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + stbiw__write3(s, d[1 - rgb_dir], d[1], d[1 + rgb_dir]); + break; + } + if (write_alpha > 0) + stbiw__write1(s, d[comp - 1]); +} + +static void stbiw__write_pixels(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +{ + stbiw_uint32 zero = 0; + int i,j, j_end; + + if (y <= 0) + return; + + if (stbi__flip_vertically_on_write) + vdir *= -1; + + if (vdir < 0) { + j_end = -1; j = y-1; + } else { + j_end = y; j = 0; + } + + for (; j != j_end; j += vdir) { + for (i=0; i < x; ++i) { + unsigned char *d = (unsigned char *) data + (j*x+i)*comp; + stbiw__write_pixel(s, rgb_dir, comp, write_alpha, expand_mono, d); + } + stbiw__write_flush(s); + s->func(s->context, &zero, scanline_pad); + } +} + +static int stbiw__outfile(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) +{ + if (y < 0 || x < 0) { + return 0; + } else { + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); + stbiw__write_pixels(s,rgb_dir,vdir,x,y,comp,data,alpha,pad, expand_mono); + return 1; + } +} + +static int stbi_write_bmp_core(stbi__write_context *s, int x, int y, int comp, const void *data) +{ + if (comp != 4) { + // write RGB bitmap + int pad = (-x*3) & 3; + return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *) data,0,pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header + 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header + } else { + // RGBA bitmaps need a v4 header + // use BI_BITFIELDS mode with 32bpp and alpha mask + // (straight BI_RGB with alpha mask doesn't work in most readers) + return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *)data,1,0, + "11 4 22 4" "4 44 22 444444 4444 4 444 444 444 444", + 'B', 'M', 14+108+x*y*4, 0, 0, 14+108, // file header + 108, x,y, 1,32, 3,0,0,0,0,0, 0xff0000,0xff00,0xff,0xff000000u, 0, 0,0,0, 0,0,0, 0,0,0, 0,0,0); // bitmap V4 header + } +} + +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_bmp_core(&s, x, y, comp, data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_bmp_core(&s, x, y, comp, data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif //!STBI_WRITE_NO_STDIO + +static int stbi_write_tga_core(stbi__write_context *s, int x, int y, int comp, void *data) +{ + int has_alpha = (comp == 2 || comp == 4); + int colorbytes = has_alpha ? comp-1 : comp; + int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 + + if (y < 0 || x < 0) + return 0; + + if (!stbi_write_tga_with_rle) { + return stbiw__outfile(s, -1, -1, x, y, comp, 0, (void *) data, has_alpha, 0, + "111 221 2222 11", 0, 0, format, 0, 0, 0, 0, 0, x, y, (colorbytes + has_alpha) * 8, has_alpha * 8); + } else { + int i,j,k; + int jend, jdir; + + stbiw__writef(s, "111 221 2222 11", 0,0,format+8, 0,0,0, 0,0,x,y, (colorbytes + has_alpha) * 8, has_alpha * 8); + + if (stbi__flip_vertically_on_write) { + j = 0; + jend = y; + jdir = 1; + } else { + j = y-1; + jend = -1; + jdir = -1; + } + for (; j != jend; j += jdir) { + unsigned char *row = (unsigned char *) data + j * x * comp; + int len; + + for (i = 0; i < x; i += len) { + unsigned char *begin = row + i * comp; + int diff = 1; + len = 1; + + if (i < x - 1) { + ++len; + diff = memcmp(begin, row + (i + 1) * comp, comp); + if (diff) { + const unsigned char *prev = begin; + for (k = i + 2; k < x && len < 128; ++k) { + if (memcmp(prev, row + k * comp, comp)) { + prev += comp; + ++len; + } else { + --len; + break; + } + } + } else { + for (k = i + 2; k < x && len < 128; ++k) { + if (!memcmp(begin, row + k * comp, comp)) { + ++len; + } else { + break; + } + } + } + } + + if (diff) { + unsigned char header = STBIW_UCHAR(len - 1); + stbiw__write1(s, header); + for (k = 0; k < len; ++k) { + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin + k * comp); + } + } else { + unsigned char header = STBIW_UCHAR(len - 129); + stbiw__write1(s, header); + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin); + } + } + } + stbiw__write_flush(s); + } + return 1; +} + +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_tga_core(&s, x, y, comp, (void *) data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_tga_core(&s, x, y, comp, (void *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR writer +// by Baldur Karlsson + +#define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) + +#ifndef STBI_WRITE_NO_STDIO + +static void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) +{ + int exponent; + float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); + + if (maxcomp < 1e-32f) { + rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; + } else { + float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; + + rgbe[0] = (unsigned char)(linear[0] * normalize); + rgbe[1] = (unsigned char)(linear[1] * normalize); + rgbe[2] = (unsigned char)(linear[2] * normalize); + rgbe[3] = (unsigned char)(exponent + 128); + } +} + +static void stbiw__write_run_data(stbi__write_context *s, int length, unsigned char databyte) +{ + unsigned char lengthbyte = STBIW_UCHAR(length+128); + STBIW_ASSERT(length+128 <= 255); + s->func(s->context, &lengthbyte, 1); + s->func(s->context, &databyte, 1); +} + +static void stbiw__write_dump_data(stbi__write_context *s, int length, unsigned char *data) +{ + unsigned char lengthbyte = STBIW_UCHAR(length); + STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code + s->func(s->context, &lengthbyte, 1); + s->func(s->context, data, length); +} + +static void stbiw__write_hdr_scanline(stbi__write_context *s, int width, int ncomp, unsigned char *scratch, float *scanline) +{ + unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; + unsigned char rgbe[4]; + float linear[3]; + int x; + + scanlineheader[2] = (width&0xff00)>>8; + scanlineheader[3] = (width&0x00ff); + + /* skip RLE for images too small or large */ + if (width < 8 || width >= 32768) { + for (x=0; x < width; x++) { + switch (ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + s->func(s->context, rgbe, 4); + } + } else { + int c,r; + /* encode into scratch buffer */ + for (x=0; x < width; x++) { + switch(ncomp) { + case 4: /* fallthrough */ + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; + break; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; + break; + } + stbiw__linear_to_rgbe(rgbe, linear); + scratch[x + width*0] = rgbe[0]; + scratch[x + width*1] = rgbe[1]; + scratch[x + width*2] = rgbe[2]; + scratch[x + width*3] = rgbe[3]; + } + + s->func(s->context, scanlineheader, 4); + + /* RLE each component separately */ + for (c=0; c < 4; c++) { + unsigned char *comp = &scratch[width*c]; + + x = 0; + while (x < width) { + // find first run + r = x; + while (r+2 < width) { + if (comp[r] == comp[r+1] && comp[r] == comp[r+2]) + break; + ++r; + } + if (r+2 >= width) + r = width; + // dump up to first run + while (x < r) { + int len = r-x; + if (len > 128) len = 128; + stbiw__write_dump_data(s, len, &comp[x]); + x += len; + } + // if there's a run, output it + if (r+2 < width) { // same test as what we break out of in search loop, so only true if we break'd + // find next byte after run + while (r < width && comp[r] == comp[x]) + ++r; + // output run up to r + while (x < r) { + int len = r-x; + if (len > 127) len = 127; + stbiw__write_run_data(s, len, comp[x]); + x += len; + } + } + } + } + } +} + +static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, float *data) +{ + if (y <= 0 || x <= 0 || data == NULL) + return 0; + else { + // Each component is stored separately. Allocate scratch space for full output scanline. + unsigned char *scratch = (unsigned char *) STBIW_MALLOC(x*4); + int i, len; + char buffer[128]; + char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n"; + s->func(s->context, header, sizeof(header)-1); + +#ifdef __STDC_LIB_EXT1__ + len = sprintf_s(buffer, sizeof(buffer), "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#else + len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#endif + s->func(s->context, buffer, len); + + for(i=0; i < y; i++) + stbiw__write_hdr_scanline(s, x, comp, scratch, data + comp*x*(stbi__flip_vertically_on_write ? y-1-i : i)); + STBIW_FREE(scratch); + return 1; + } +} + +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const float *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_hdr_core(&s, x, y, comp, (float *) data); +} + +STBIWDEF int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_hdr_core(&s, x, y, comp, (float *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif // STBI_WRITE_NO_STDIO + + +////////////////////////////////////////////////////////////////////////////// +// +// PNG writer +// + +#ifndef STBIW_ZLIB_COMPRESS +// stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() +#define stbiw__sbraw(a) ((int *) (void *) (a) - 2) +#define stbiw__sbm(a) stbiw__sbraw(a)[0] +#define stbiw__sbn(a) stbiw__sbraw(a)[1] + +#define stbiw__sbneedgrow(a,n) ((a)==0 || stbiw__sbn(a)+n >= stbiw__sbm(a)) +#define stbiw__sbmaybegrow(a,n) (stbiw__sbneedgrow(a,(n)) ? stbiw__sbgrow(a,n) : 0) +#define stbiw__sbgrow(a,n) stbiw__sbgrowf((void **) &(a), (n), sizeof(*(a))) + +#define stbiw__sbpush(a, v) (stbiw__sbmaybegrow(a,1), (a)[stbiw__sbn(a)++] = (v)) +#define stbiw__sbcount(a) ((a) ? stbiw__sbn(a) : 0) +#define stbiw__sbfree(a) ((a) ? STBIW_FREE(stbiw__sbraw(a)),0 : 0) + +static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) +{ + int m = *arr ? 2*stbiw__sbm(*arr)+increment : increment+1; + void *p = STBIW_REALLOC_SIZED(*arr ? stbiw__sbraw(*arr) : 0, *arr ? (stbiw__sbm(*arr)*itemsize + sizeof(int)*2) : 0, itemsize * m + sizeof(int)*2); + STBIW_ASSERT(p); + if (p) { + if (!*arr) ((int *) p)[1] = 0; + *arr = (void *) ((int *) p + 2); + stbiw__sbm(*arr) = m; + } + return *arr; +} + +static unsigned char *stbiw__zlib_flushf(unsigned char *data, unsigned int *bitbuffer, int *bitcount) +{ + while (*bitcount >= 8) { + stbiw__sbpush(data, STBIW_UCHAR(*bitbuffer)); + *bitbuffer >>= 8; + *bitcount -= 8; + } + return data; +} + +static int stbiw__zlib_bitrev(int code, int codebits) +{ + int res=0; + while (codebits--) { + res = (res << 1) | (code & 1); + code >>= 1; + } + return res; +} + +static unsigned int stbiw__zlib_countm(unsigned char *a, unsigned char *b, int limit) +{ + int i; + for (i=0; i < limit && i < 258; ++i) + if (a[i] != b[i]) break; + return i; +} + +static unsigned int stbiw__zhash(unsigned char *data) +{ + stbiw_uint32 hash = data[0] + (data[1] << 8) + (data[2] << 16); + hash ^= hash << 3; + hash += hash >> 5; + hash ^= hash << 4; + hash += hash >> 17; + hash ^= hash << 25; + hash += hash >> 6; + return hash; +} + +#define stbiw__zlib_flush() (out = stbiw__zlib_flushf(out, &bitbuf, &bitcount)) +#define stbiw__zlib_add(code,codebits) \ + (bitbuf |= (code) << bitcount, bitcount += (codebits), stbiw__zlib_flush()) +#define stbiw__zlib_huffa(b,c) stbiw__zlib_add(stbiw__zlib_bitrev(b,c),c) +// default huffman tables +#define stbiw__zlib_huff1(n) stbiw__zlib_huffa(0x30 + (n), 8) +#define stbiw__zlib_huff2(n) stbiw__zlib_huffa(0x190 + (n)-144, 9) +#define stbiw__zlib_huff3(n) stbiw__zlib_huffa(0 + (n)-256,7) +#define stbiw__zlib_huff4(n) stbiw__zlib_huffa(0xc0 + (n)-280,8) +#define stbiw__zlib_huff(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : (n) <= 255 ? stbiw__zlib_huff2(n) : (n) <= 279 ? stbiw__zlib_huff3(n) : stbiw__zlib_huff4(n)) +#define stbiw__zlib_huffb(n) ((n) <= 143 ? stbiw__zlib_huff1(n) : stbiw__zlib_huff2(n)) + +#define stbiw__ZHASH 16384 + +#endif // STBIW_ZLIB_COMPRESS + +STBIWDEF unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) +{ +#ifdef STBIW_ZLIB_COMPRESS + // user provided a zlib compress implementation, use that + return STBIW_ZLIB_COMPRESS(data, data_len, out_len, quality); +#else // use builtin + static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; + static unsigned char lengtheb[]= { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; + static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; + static unsigned char disteb[] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13 }; + unsigned int bitbuf=0; + int i,j, bitcount=0; + unsigned char *out = NULL; + unsigned char ***hash_table = (unsigned char***) STBIW_MALLOC(stbiw__ZHASH * sizeof(unsigned char**)); + if (hash_table == NULL) + return NULL; + if (quality < 5) quality = 5; + + stbiw__sbpush(out, 0x78); // DEFLATE 32K window + stbiw__sbpush(out, 0x5e); // FLEVEL = 1 + stbiw__zlib_add(1,1); // BFINAL = 1 + stbiw__zlib_add(1,2); // BTYPE = 1 -- fixed huffman + + for (i=0; i < stbiw__ZHASH; ++i) + hash_table[i] = NULL; + + i=0; + while (i < data_len-3) { + // hash next 3 bytes of data to be compressed + int h = stbiw__zhash(data+i)&(stbiw__ZHASH-1), best=3; + unsigned char *bestloc = 0; + unsigned char **hlist = hash_table[h]; + int n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32768) { // if entry lies within window + int d = stbiw__zlib_countm(hlist[j], data+i, data_len-i); + if (d >= best) { best=d; bestloc=hlist[j]; } + } + } + // when hash table entry is too long, delete half the entries + if (hash_table[h] && stbiw__sbn(hash_table[h]) == 2*quality) { + STBIW_MEMMOVE(hash_table[h], hash_table[h]+quality, sizeof(hash_table[h][0])*quality); + stbiw__sbn(hash_table[h]) = quality; + } + stbiw__sbpush(hash_table[h],data+i); + + if (bestloc) { + // "lazy matching" - check match at *next* byte, and if it's better, do cur byte as literal + h = stbiw__zhash(data+i+1)&(stbiw__ZHASH-1); + hlist = hash_table[h]; + n = stbiw__sbcount(hlist); + for (j=0; j < n; ++j) { + if (hlist[j]-data > i-32767) { + int e = stbiw__zlib_countm(hlist[j], data+i+1, data_len-i-1); + if (e > best) { // if next match is better, bail on current match + bestloc = NULL; + break; + } + } + } + } + + if (bestloc) { + int d = (int) (data+i - bestloc); // distance back + STBIW_ASSERT(d <= 32767 && best <= 258); + for (j=0; best > lengthc[j+1]-1; ++j); + stbiw__zlib_huff(j+257); + if (lengtheb[j]) stbiw__zlib_add(best - lengthc[j], lengtheb[j]); + for (j=0; d > distc[j+1]-1; ++j); + stbiw__zlib_add(stbiw__zlib_bitrev(j,5),5); + if (disteb[j]) stbiw__zlib_add(d - distc[j], disteb[j]); + i += best; + } else { + stbiw__zlib_huffb(data[i]); + ++i; + } + } + // write out final bytes + for (;i < data_len; ++i) + stbiw__zlib_huffb(data[i]); + stbiw__zlib_huff(256); // end of block + // pad with 0 bits to byte boundary + while (bitcount) + stbiw__zlib_add(0,1); + + for (i=0; i < stbiw__ZHASH; ++i) + (void) stbiw__sbfree(hash_table[i]); + STBIW_FREE(hash_table); + + // store uncompressed instead if compression was worse + if (stbiw__sbn(out) > data_len + 2 + ((data_len+32766)/32767)*5) { + stbiw__sbn(out) = 2; // truncate to DEFLATE 32K window and FLEVEL = 1 + for (j = 0; j < data_len;) { + int blocklen = data_len - j; + if (blocklen > 32767) blocklen = 32767; + stbiw__sbpush(out, data_len - j == blocklen); // BFINAL = ?, BTYPE = 0 -- no compression + stbiw__sbpush(out, STBIW_UCHAR(blocklen)); // LEN + stbiw__sbpush(out, STBIW_UCHAR(blocklen >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(~blocklen)); // NLEN + stbiw__sbpush(out, STBIW_UCHAR(~blocklen >> 8)); + memcpy(out+stbiw__sbn(out), data+j, blocklen); + stbiw__sbn(out) += blocklen; + j += blocklen; + } + } + + { + // compute adler32 on input + unsigned int s1=1, s2=0; + int blocklen = (int) (data_len % 5552); + j=0; + while (j < data_len) { + for (i=0; i < blocklen; ++i) { s1 += data[j+i]; s2 += s1; } + s1 %= 65521; s2 %= 65521; + j += blocklen; + blocklen = 5552; + } + stbiw__sbpush(out, STBIW_UCHAR(s2 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s2)); + stbiw__sbpush(out, STBIW_UCHAR(s1 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s1)); + } + *out_len = stbiw__sbn(out); + // make returned pointer freeable + STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); + return (unsigned char *) stbiw__sbraw(out); +#endif // STBIW_ZLIB_COMPRESS +} + +static unsigned int stbiw__crc32(unsigned char *buffer, int len) +{ +#ifdef STBIW_CRC32 + return STBIW_CRC32(buffer, len); +#else + static unsigned int crc_table[256] = + { + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0eDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D + }; + + unsigned int crc = ~0u; + int i; + for (i=0; i < len; ++i) + crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; + return ~crc; +#endif +} + +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=STBIW_UCHAR(a),(o)[1]=STBIW_UCHAR(b),(o)[2]=STBIW_UCHAR(c),(o)[3]=STBIW_UCHAR(d),(o)+=4) +#define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); +#define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) + +static void stbiw__wpcrc(unsigned char **data, int len) +{ + unsigned int crc = stbiw__crc32(*data - len - 4, len+4); + stbiw__wp32(*data, crc); +} + +static unsigned char stbiw__paeth(int a, int b, int c) +{ + int p = a + b - c, pa = abs(p-a), pb = abs(p-b), pc = abs(p-c); + if (pa <= pb && pa <= pc) return STBIW_UCHAR(a); + if (pb <= pc) return STBIW_UCHAR(b); + return STBIW_UCHAR(c); +} + +// @OPTIMIZE: provide an option that always forces left-predict or paeth predict +static void stbiw__encode_png_line(unsigned char *pixels, int stride_bytes, int width, int height, int y, int n, int filter_type, signed char *line_buffer) +{ + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int *mymap = (y != 0) ? mapping : firstmap; + int i; + int type = mymap[filter_type]; + unsigned char *z = pixels + stride_bytes * (stbi__flip_vertically_on_write ? height-1-y : y); + int signed_stride = stbi__flip_vertically_on_write ? -stride_bytes : stride_bytes; + + if (type==0) { + memcpy(line_buffer, z, width*n); + return; + } + + // first loop isn't optimized since it's just one pixel + for (i = 0; i < n; ++i) { + switch (type) { + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: line_buffer[i] = z[i] - (z[i-signed_stride]>>1); break; + case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-signed_stride],0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + } + switch (type) { + case 1: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - z[i-n]; break; + case 2: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - ((z[i-n] + z[i-signed_stride])>>1); break; + case 4: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-signed_stride], z[i-signed_stride-n]); break; + case 5: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - (z[i-n]>>1); break; + case 6: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; + } +} + +STBIWDEF unsigned char *stbi_write_png_to_mem(const unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) +{ + int force_filter = stbi_write_force_png_filter; + int ctype[5] = { -1, 0, 4, 2, 6 }; + unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; + unsigned char *out,*o, *filt, *zlib; + signed char *line_buffer; + int j,zlen; + + if (stride_bytes == 0) + stride_bytes = x * n; + + if (force_filter >= 5) { + force_filter = -1; + } + + filt = (unsigned char *) STBIW_MALLOC((x*n+1) * y); if (!filt) return 0; + line_buffer = (signed char *) STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } + for (j=0; j < y; ++j) { + int filter_type; + if (force_filter > -1) { + filter_type = force_filter; + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, force_filter, line_buffer); + } else { // Estimate the best filter by running through all of them: + int best_filter = 0, best_filter_val = 0x7fffffff, est, i; + for (filter_type = 0; filter_type < 5; filter_type++) { + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, filter_type, line_buffer); + + // Estimate the entropy of the line using this filter; the less, the better. + est = 0; + for (i = 0; i < x*n; ++i) { + est += abs((signed char) line_buffer[i]); + } + if (est < best_filter_val) { + best_filter_val = est; + best_filter = filter_type; + } + } + if (filter_type != best_filter) { // If the last iteration already got us the best filter, don't redo it + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, best_filter, line_buffer); + filter_type = best_filter; + } + } + // when we get here, filter_type contains the filter type, and line_buffer contains the data + filt[j*(x*n+1)] = (unsigned char) filter_type; + STBIW_MEMMOVE(filt+j*(x*n+1)+1, line_buffer, x*n); + } + STBIW_FREE(line_buffer); + zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, stbi_write_png_compression_level); + STBIW_FREE(filt); + if (!zlib) return 0; + + // each tag requires 12 bytes of overhead + out = (unsigned char *) STBIW_MALLOC(8 + 12+13 + 12+zlen + 12); + if (!out) return 0; + *out_len = 8 + 12+13 + 12+zlen + 12; + + o=out; + STBIW_MEMMOVE(o,sig,8); o+= 8; + stbiw__wp32(o, 13); // header length + stbiw__wptag(o, "IHDR"); + stbiw__wp32(o, x); + stbiw__wp32(o, y); + *o++ = 8; + *o++ = STBIW_UCHAR(ctype[n]); + *o++ = 0; + *o++ = 0; + *o++ = 0; + stbiw__wpcrc(&o,13); + + stbiw__wp32(o, zlen); + stbiw__wptag(o, "IDAT"); + STBIW_MEMMOVE(o, zlib, zlen); + o += zlen; + STBIW_FREE(zlib); + stbiw__wpcrc(&o, zlen); + + stbiw__wp32(o,0); + stbiw__wptag(o, "IEND"); + stbiw__wpcrc(&o,0); + + STBIW_ASSERT(o == out + *out_len); + + return out; +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) +{ + FILE *f; + int len; + unsigned char *png = stbi_write_png_to_mem((const unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + + f = stbiw__fopen(filename, "wb"); + if (!f) { STBIW_FREE(png); return 0; } + fwrite(png, 1, len, f); + fclose(f); + STBIW_FREE(png); + return 1; +} +#endif + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int stride_bytes) +{ + int len; + unsigned char *png = stbi_write_png_to_mem((const unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + func(context, png, len); + STBIW_FREE(png); + return 1; +} + + +/* *************************************************************************** + * + * JPEG writer + * + * This is based on Jon Olick's jo_jpeg.cpp: + * public domain Simple, Minimalistic JPEG writer - http://www.jonolick.com/code.html + */ + +static const unsigned char stbiw__jpg_ZigZag[] = { 0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18, + 24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63 }; + +static void stbiw__jpg_writeBits(stbi__write_context *s, int *bitBufP, int *bitCntP, const unsigned short *bs) { + int bitBuf = *bitBufP, bitCnt = *bitCntP; + bitCnt += bs[1]; + bitBuf |= bs[0] << (24 - bitCnt); + while(bitCnt >= 8) { + unsigned char c = (bitBuf >> 16) & 255; + stbiw__putc(s, c); + if(c == 255) { + stbiw__putc(s, 0); + } + bitBuf <<= 8; + bitCnt -= 8; + } + *bitBufP = bitBuf; + *bitCntP = bitCnt; +} + +static void stbiw__jpg_DCT(float *d0p, float *d1p, float *d2p, float *d3p, float *d4p, float *d5p, float *d6p, float *d7p) { + float d0 = *d0p, d1 = *d1p, d2 = *d2p, d3 = *d3p, d4 = *d4p, d5 = *d5p, d6 = *d6p, d7 = *d7p; + float z1, z2, z3, z4, z5, z11, z13; + + float tmp0 = d0 + d7; + float tmp7 = d0 - d7; + float tmp1 = d1 + d6; + float tmp6 = d1 - d6; + float tmp2 = d2 + d5; + float tmp5 = d2 - d5; + float tmp3 = d3 + d4; + float tmp4 = d3 - d4; + + // Even part + float tmp10 = tmp0 + tmp3; // phase 2 + float tmp13 = tmp0 - tmp3; + float tmp11 = tmp1 + tmp2; + float tmp12 = tmp1 - tmp2; + + d0 = tmp10 + tmp11; // phase 3 + d4 = tmp10 - tmp11; + + z1 = (tmp12 + tmp13) * 0.707106781f; // c4 + d2 = tmp13 + z1; // phase 5 + d6 = tmp13 - z1; + + // Odd part + tmp10 = tmp4 + tmp5; // phase 2 + tmp11 = tmp5 + tmp6; + tmp12 = tmp6 + tmp7; + + // The rotator is modified from fig 4-8 to avoid extra negations. + z5 = (tmp10 - tmp12) * 0.382683433f; // c6 + z2 = tmp10 * 0.541196100f + z5; // c2-c6 + z4 = tmp12 * 1.306562965f + z5; // c2+c6 + z3 = tmp11 * 0.707106781f; // c4 + + z11 = tmp7 + z3; // phase 5 + z13 = tmp7 - z3; + + *d5p = z13 + z2; // phase 6 + *d3p = z13 - z2; + *d1p = z11 + z4; + *d7p = z11 - z4; + + *d0p = d0; *d2p = d2; *d4p = d4; *d6p = d6; +} + +static void stbiw__jpg_calcBits(int val, unsigned short bits[2]) { + int tmp1 = val < 0 ? -val : val; + val = val < 0 ? val-1 : val; + bits[1] = 1; + while(tmp1 >>= 1) { + ++bits[1]; + } + bits[0] = val & ((1<0)&&(DU[end0pos]==0); --end0pos) { + } + // end0pos = first element in reverse order !=0 + if(end0pos == 0) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + return DU[0]; + } + for(i = 1; i <= end0pos; ++i) { + int startpos = i; + int nrzeroes; + unsigned short bits[2]; + for (; DU[i]==0 && i<=end0pos; ++i) { + } + nrzeroes = i-startpos; + if ( nrzeroes >= 16 ) { + int lng = nrzeroes>>4; + int nrmarker; + for (nrmarker=1; nrmarker <= lng; ++nrmarker) + stbiw__jpg_writeBits(s, bitBuf, bitCnt, M16zeroes); + nrzeroes &= 15; + } + stbiw__jpg_calcBits(DU[i], bits); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTAC[(nrzeroes<<4)+bits[1]]); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, bits); + } + if(end0pos != 63) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + } + return DU[0]; +} + +static int stbi_write_jpg_core(stbi__write_context *s, int width, int height, int comp, const void* data, int quality) { + // Constants that don't pollute global namespace + static const unsigned char std_dc_luminance_nrcodes[] = {0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0}; + static const unsigned char std_dc_luminance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_luminance_nrcodes[] = {0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d}; + static const unsigned char std_ac_luminance_values[] = { + 0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08, + 0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28, + 0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59, + 0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89, + 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6, + 0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2, + 0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + static const unsigned char std_dc_chrominance_nrcodes[] = {0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0}; + static const unsigned char std_dc_chrominance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_chrominance_nrcodes[] = {0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77}; + static const unsigned char std_ac_chrominance_values[] = { + 0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91, + 0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26, + 0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58, + 0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87, + 0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4, + 0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda, + 0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + // Huffman tables + static const unsigned short YDC_HT[256][2] = { {0,2},{2,3},{3,3},{4,3},{5,3},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9}}; + static const unsigned short UVDC_HT[256][2] = { {0,2},{1,2},{2,2},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9},{1022,10},{2046,11}}; + static const unsigned short YAC_HT[256][2] = { + {10,4},{0,2},{1,2},{4,3},{11,4},{26,5},{120,7},{248,8},{1014,10},{65410,16},{65411,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {12,4},{27,5},{121,7},{502,9},{2038,11},{65412,16},{65413,16},{65414,16},{65415,16},{65416,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {28,5},{249,8},{1015,10},{4084,12},{65417,16},{65418,16},{65419,16},{65420,16},{65421,16},{65422,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{503,9},{4085,12},{65423,16},{65424,16},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1016,10},{65430,16},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2039,11},{65438,16},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {123,7},{4086,12},{65446,16},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {250,8},{4087,12},{65454,16},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{32704,15},{65462,16},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65470,16},{65471,16},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65479,16},{65480,16},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1017,10},{65488,16},{65489,16},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{65497,16},{65498,16},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2040,11},{65506,16},{65507,16},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {65515,16},{65516,16},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65525,16},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const unsigned short UVAC_HT[256][2] = { + {0,2},{1,2},{4,3},{10,4},{24,5},{25,5},{56,6},{120,7},{500,9},{1014,10},{4084,12},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {11,4},{57,6},{246,8},{501,9},{2038,11},{4085,12},{65416,16},{65417,16},{65418,16},{65419,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {26,5},{247,8},{1015,10},{4086,12},{32706,15},{65420,16},{65421,16},{65422,16},{65423,16},{65424,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {27,5},{248,8},{1016,10},{4087,12},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{65430,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{502,9},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{65438,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1017,10},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{65446,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {121,7},{2039,11},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{65454,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2040,11},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{65462,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {249,8},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{65470,16},{65471,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {503,9},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{65479,16},{65480,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{65488,16},{65489,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{65497,16},{65498,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{65506,16},{65507,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{65515,16},{65516,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {16352,14},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{65525,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{32707,15},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const int YQT[] = {16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22, + 37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99}; + static const int UVQT[] = {17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99, + 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99}; + static const float aasf[] = { 1.0f * 2.828427125f, 1.387039845f * 2.828427125f, 1.306562965f * 2.828427125f, 1.175875602f * 2.828427125f, + 1.0f * 2.828427125f, 0.785694958f * 2.828427125f, 0.541196100f * 2.828427125f, 0.275899379f * 2.828427125f }; + + int row, col, i, k, subsample; + float fdtbl_Y[64], fdtbl_UV[64]; + unsigned char YTable[64], UVTable[64]; + + if(!data || !width || !height || comp > 4 || comp < 1) { + return 0; + } + + quality = quality ? quality : 90; + subsample = quality <= 90 ? 1 : 0; + quality = quality < 1 ? 1 : quality > 100 ? 100 : quality; + quality = quality < 50 ? 5000 / quality : 200 - quality * 2; + + for(i = 0; i < 64; ++i) { + int uvti, yti = (YQT[i]*quality+50)/100; + YTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (yti < 1 ? 1 : yti > 255 ? 255 : yti); + uvti = (UVQT[i]*quality+50)/100; + UVTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (uvti < 1 ? 1 : uvti > 255 ? 255 : uvti); + } + + for(row = 0, k = 0; row < 8; ++row) { + for(col = 0; col < 8; ++col, ++k) { + fdtbl_Y[k] = 1 / (YTable [stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + fdtbl_UV[k] = 1 / (UVTable[stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + } + } + + // Write Headers + { + static const unsigned char head0[] = { 0xFF,0xD8,0xFF,0xE0,0,0x10,'J','F','I','F',0,1,1,0,0,1,0,1,0,0,0xFF,0xDB,0,0x84,0 }; + static const unsigned char head2[] = { 0xFF,0xDA,0,0xC,3,1,0,2,0x11,3,0x11,0,0x3F,0 }; + const unsigned char head1[] = { 0xFF,0xC0,0,0x11,8,(unsigned char)(height>>8),STBIW_UCHAR(height),(unsigned char)(width>>8),STBIW_UCHAR(width), + 3,1,(unsigned char)(subsample?0x22:0x11),0,2,0x11,1,3,0x11,1,0xFF,0xC4,0x01,0xA2,0 }; + s->func(s->context, (void*)head0, sizeof(head0)); + s->func(s->context, (void*)YTable, sizeof(YTable)); + stbiw__putc(s, 1); + s->func(s->context, UVTable, sizeof(UVTable)); + s->func(s->context, (void*)head1, sizeof(head1)); + s->func(s->context, (void*)(std_dc_luminance_nrcodes+1), sizeof(std_dc_luminance_nrcodes)-1); + s->func(s->context, (void*)std_dc_luminance_values, sizeof(std_dc_luminance_values)); + stbiw__putc(s, 0x10); // HTYACinfo + s->func(s->context, (void*)(std_ac_luminance_nrcodes+1), sizeof(std_ac_luminance_nrcodes)-1); + s->func(s->context, (void*)std_ac_luminance_values, sizeof(std_ac_luminance_values)); + stbiw__putc(s, 1); // HTUDCinfo + s->func(s->context, (void*)(std_dc_chrominance_nrcodes+1), sizeof(std_dc_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_dc_chrominance_values, sizeof(std_dc_chrominance_values)); + stbiw__putc(s, 0x11); // HTUACinfo + s->func(s->context, (void*)(std_ac_chrominance_nrcodes+1), sizeof(std_ac_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_ac_chrominance_values, sizeof(std_ac_chrominance_values)); + s->func(s->context, (void*)head2, sizeof(head2)); + } + + // Encode 8x8 macroblocks + { + static const unsigned short fillBits[] = {0x7F, 7}; + int DCY=0, DCU=0, DCV=0; + int bitBuf=0, bitCnt=0; + // comp == 2 is grey+alpha (alpha is ignored) + int ofsG = comp > 2 ? 1 : 0, ofsB = comp > 2 ? 2 : 0; + const unsigned char *dataR = (const unsigned char *)data; + const unsigned char *dataG = dataR + ofsG; + const unsigned char *dataB = dataR + ofsB; + int x, y, pos; + if(subsample) { + for(y = 0; y < height; y += 16) { + for(x = 0; x < width; x += 16) { + float Y[256], U[256], V[256]; + for(row = y, pos = 0; row < y+16; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height-1-clamped_row) : clamped_row)*width*comp; + for(col = x; col < x+16; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width-1))*comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos]= +0.29900f*r + 0.58700f*g + 0.11400f*b - 128; + U[pos]= -0.16874f*r - 0.33126f*g + 0.50000f*b; + V[pos]= +0.50000f*r - 0.41869f*g - 0.08131f*b; + } + } + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+0, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+8, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+128, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+136, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + + // subsample U,V + { + float subU[64], subV[64]; + int yy, xx; + for(yy = 0, pos = 0; yy < 8; ++yy) { + for(xx = 0; xx < 8; ++xx, ++pos) { + int j = yy*32+xx*2; + subU[pos] = (U[j+0] + U[j+1] + U[j+16] + U[j+17]) * 0.25f; + subV[pos] = (V[j+0] + V[j+1] + V[j+16] + V[j+17]) * 0.25f; + } + } + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subU, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subV, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + } else { + for(y = 0; y < height; y += 8) { + for(x = 0; x < width; x += 8) { + float Y[64], U[64], V[64]; + for(row = y, pos = 0; row < y+8; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height-1-clamped_row) : clamped_row)*width*comp; + for(col = x; col < x+8; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width-1))*comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos]= +0.29900f*r + 0.58700f*g + 0.11400f*b - 128; + U[pos]= -0.16874f*r - 0.33126f*g + 0.50000f*b; + V[pos]= +0.50000f*r - 0.41869f*g - 0.08131f*b; + } + } + + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y, 8, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, U, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, V, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + + // Do the bit alignment of the EOI marker + stbiw__jpg_writeBits(s, &bitBuf, &bitCnt, fillBits); + } + + // EOI + stbiw__putc(s, 0xFF); + stbiw__putc(s, 0xD9); + + return 1; +} + +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality); +} + + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_jpg_core(&s, x, y, comp, data, quality); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + +#endif // STB_IMAGE_WRITE_IMPLEMENTATION + +/* Revision history + 1.16 (2021-07-11) + make Deflate code emit uncompressed blocks when it would otherwise expand + support writing BMPs with alpha channel + 1.15 (2020-07-13) unknown + 1.14 (2020-02-02) updated JPEG writer to downsample chroma channels + 1.13 + 1.12 + 1.11 (2019-08-11) + + 1.10 (2019-02-07) + support utf8 filenames in Windows; fix warnings and platform ifdefs + 1.09 (2018-02-11) + fix typo in zlib quality API, improve STB_I_W_STATIC in C++ + 1.08 (2018-01-29) + add stbi__flip_vertically_on_write, external zlib, zlib quality, choose PNG filter + 1.07 (2017-07-24) + doc fix + 1.06 (2017-07-23) + writing JPEG (using Jon Olick's code) + 1.05 ??? + 1.04 (2017-03-03) + monochrome BMP expansion + 1.03 ??? + 1.02 (2016-04-02) + avoid allocating large structures on the stack + 1.01 (2016-01-16) + STBIW_REALLOC_SIZED: support allocators with no realloc support + avoid race-condition in crc initialization + minor compile issues + 1.00 (2015-09-14) + installable file IO function + 0.99 (2015-09-13) + warning fixes; TGA rle support + 0.98 (2015-04-08) + added STBIW_MALLOC, STBIW_ASSERT etc + 0.97 (2015-01-18) + fixed HDR asserts, rewrote HDR rle logic + 0.96 (2015-01-17) + add HDR output + fix monochrome BMP + 0.95 (2014-08-17) + add monochrome TGA output + 0.94 (2014-05-31) + rename private functions to avoid conflicts with stb_image.h + 0.93 (2014-05-27) + warning fixes + 0.92 (2010-08-01) + casts to unsigned char to fix warnings + 0.91 (2010-07-17) + first public release + 0.90 first internal release +*/ + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/tinygltf/tiny_gltf.h b/src/tinygltf/tiny_gltf.h new file mode 100644 index 00000000..2480c835 --- /dev/null +++ b/src/tinygltf/tiny_gltf.h @@ -0,0 +1,8483 @@ +// +// Header-only tiny glTF 2.0 loader and serializer. +// +// +// The MIT License (MIT) +// +// Copyright (c) 2015 - Present Syoyo Fujita, Aurélien Chatelain and many +// contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +// Version: - v2.8.10 +// See https://github.com/syoyo/tinygltf/releases for release history. +// +// Tiny glTF loader is using following third party libraries: +// +// - jsonhpp: C++ JSON library. +// - base64: base64 decode/encode library. +// - stb_image: Image loading library. +// +#ifndef TINY_GLTF_H_ +#define TINY_GLTF_H_ + +#include +#include +#include // std::fabs +#include +#include +#include +#include +#include +#include +#include + +// Auto-detect C++14 standard version +#if !defined(TINYGLTF_USE_CPP14) && defined(__cplusplus) && \ + (__cplusplus >= 201402L) +#define TINYGLTF_USE_CPP14 +#endif + +#ifdef __ANDROID__ +#ifdef TINYGLTF_ANDROID_LOAD_FROM_ASSETS +#include +#endif +#endif + +#ifdef __GNUC__ +#if (__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ <= 8)) +#define TINYGLTF_NOEXCEPT +#else +#define TINYGLTF_NOEXCEPT noexcept +#endif +#else +#define TINYGLTF_NOEXCEPT noexcept +#endif + +#define DEFAULT_METHODS(x) \ + ~x() = default; \ + x(const x &) = default; \ + x(x &&) TINYGLTF_NOEXCEPT = default; \ + x &operator=(const x &) = default; \ + x &operator=(x &&) TINYGLTF_NOEXCEPT = default; + +namespace tinygltf { + +#define TINYGLTF_MODE_POINTS (0) +#define TINYGLTF_MODE_LINE (1) +#define TINYGLTF_MODE_LINE_LOOP (2) +#define TINYGLTF_MODE_LINE_STRIP (3) +#define TINYGLTF_MODE_TRIANGLES (4) +#define TINYGLTF_MODE_TRIANGLE_STRIP (5) +#define TINYGLTF_MODE_TRIANGLE_FAN (6) + +#define TINYGLTF_COMPONENT_TYPE_BYTE (5120) +#define TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE (5121) +#define TINYGLTF_COMPONENT_TYPE_SHORT (5122) +#define TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT (5123) +#define TINYGLTF_COMPONENT_TYPE_INT (5124) +#define TINYGLTF_COMPONENT_TYPE_UNSIGNED_INT (5125) +#define TINYGLTF_COMPONENT_TYPE_FLOAT (5126) +#define TINYGLTF_COMPONENT_TYPE_DOUBLE \ + (5130) // OpenGL double type. Note that some of glTF 2.0 validator does not + // support double type even the schema seems allow any value of + // integer: + // https://github.com/KhronosGroup/glTF/blob/b9884a2fd45130b4d673dd6c8a706ee21ee5c5f7/specification/2.0/schema/accessor.schema.json#L22 + +#define TINYGLTF_TEXTURE_FILTER_NEAREST (9728) +#define TINYGLTF_TEXTURE_FILTER_LINEAR (9729) +#define TINYGLTF_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST (9984) +#define TINYGLTF_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST (9985) +#define TINYGLTF_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR (9986) +#define TINYGLTF_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR (9987) + +#define TINYGLTF_TEXTURE_WRAP_REPEAT (10497) +#define TINYGLTF_TEXTURE_WRAP_CLAMP_TO_EDGE (33071) +#define TINYGLTF_TEXTURE_WRAP_MIRRORED_REPEAT (33648) + +// Redeclarations of the above for technique.parameters. +#define TINYGLTF_PARAMETER_TYPE_BYTE (5120) +#define TINYGLTF_PARAMETER_TYPE_UNSIGNED_BYTE (5121) +#define TINYGLTF_PARAMETER_TYPE_SHORT (5122) +#define TINYGLTF_PARAMETER_TYPE_UNSIGNED_SHORT (5123) +#define TINYGLTF_PARAMETER_TYPE_INT (5124) +#define TINYGLTF_PARAMETER_TYPE_UNSIGNED_INT (5125) +#define TINYGLTF_PARAMETER_TYPE_FLOAT (5126) + +#define TINYGLTF_PARAMETER_TYPE_FLOAT_VEC2 (35664) +#define TINYGLTF_PARAMETER_TYPE_FLOAT_VEC3 (35665) +#define TINYGLTF_PARAMETER_TYPE_FLOAT_VEC4 (35666) + +#define TINYGLTF_PARAMETER_TYPE_INT_VEC2 (35667) +#define TINYGLTF_PARAMETER_TYPE_INT_VEC3 (35668) +#define TINYGLTF_PARAMETER_TYPE_INT_VEC4 (35669) + +#define TINYGLTF_PARAMETER_TYPE_BOOL (35670) +#define TINYGLTF_PARAMETER_TYPE_BOOL_VEC2 (35671) +#define TINYGLTF_PARAMETER_TYPE_BOOL_VEC3 (35672) +#define TINYGLTF_PARAMETER_TYPE_BOOL_VEC4 (35673) + +#define TINYGLTF_PARAMETER_TYPE_FLOAT_MAT2 (35674) +#define TINYGLTF_PARAMETER_TYPE_FLOAT_MAT3 (35675) +#define TINYGLTF_PARAMETER_TYPE_FLOAT_MAT4 (35676) + +#define TINYGLTF_PARAMETER_TYPE_SAMPLER_2D (35678) + +// End parameter types + +#define TINYGLTF_TYPE_VEC2 (2) +#define TINYGLTF_TYPE_VEC3 (3) +#define TINYGLTF_TYPE_VEC4 (4) +#define TINYGLTF_TYPE_MAT2 (32 + 2) +#define TINYGLTF_TYPE_MAT3 (32 + 3) +#define TINYGLTF_TYPE_MAT4 (32 + 4) +#define TINYGLTF_TYPE_SCALAR (64 + 1) +#define TINYGLTF_TYPE_VECTOR (64 + 4) +#define TINYGLTF_TYPE_MATRIX (64 + 16) + +#define TINYGLTF_IMAGE_FORMAT_JPEG (0) +#define TINYGLTF_IMAGE_FORMAT_PNG (1) +#define TINYGLTF_IMAGE_FORMAT_BMP (2) +#define TINYGLTF_IMAGE_FORMAT_GIF (3) + +#define TINYGLTF_TEXTURE_FORMAT_ALPHA (6406) +#define TINYGLTF_TEXTURE_FORMAT_RGB (6407) +#define TINYGLTF_TEXTURE_FORMAT_RGBA (6408) +#define TINYGLTF_TEXTURE_FORMAT_LUMINANCE (6409) +#define TINYGLTF_TEXTURE_FORMAT_LUMINANCE_ALPHA (6410) + +#define TINYGLTF_TEXTURE_TARGET_TEXTURE2D (3553) +#define TINYGLTF_TEXTURE_TYPE_UNSIGNED_BYTE (5121) + +#define TINYGLTF_TARGET_ARRAY_BUFFER (34962) +#define TINYGLTF_TARGET_ELEMENT_ARRAY_BUFFER (34963) + +#define TINYGLTF_SHADER_TYPE_VERTEX_SHADER (35633) +#define TINYGLTF_SHADER_TYPE_FRAGMENT_SHADER (35632) + +#define TINYGLTF_DOUBLE_EPS (1.e-12) +#define TINYGLTF_DOUBLE_EQUAL(a, b) (std::fabs((b) - (a)) < TINYGLTF_DOUBLE_EPS) + +#ifdef __ANDROID__ +#ifdef TINYGLTF_ANDROID_LOAD_FROM_ASSETS +#ifdef TINYGLTF_IMPLEMENTATION +AAssetManager *asset_manager = nullptr; +#else +extern AAssetManager *asset_manager; +#endif +#endif +#endif + +typedef enum { + NULL_TYPE, + REAL_TYPE, + INT_TYPE, + BOOL_TYPE, + STRING_TYPE, + ARRAY_TYPE, + BINARY_TYPE, + OBJECT_TYPE +} Type; + +typedef enum { + Permissive, + Strict +} ParseStrictness; + +static inline int32_t GetComponentSizeInBytes(uint32_t componentType) { + if (componentType == TINYGLTF_COMPONENT_TYPE_BYTE) { + return 1; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE) { + return 1; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_SHORT) { + return 2; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT) { + return 2; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_INT) { + return 4; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_UNSIGNED_INT) { + return 4; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_FLOAT) { + return 4; + } else if (componentType == TINYGLTF_COMPONENT_TYPE_DOUBLE) { + return 8; + } else { + // Unknown component type + return -1; + } +} + +static inline int32_t GetNumComponentsInType(uint32_t ty) { + if (ty == TINYGLTF_TYPE_SCALAR) { + return 1; + } else if (ty == TINYGLTF_TYPE_VEC2) { + return 2; + } else if (ty == TINYGLTF_TYPE_VEC3) { + return 3; + } else if (ty == TINYGLTF_TYPE_VEC4) { + return 4; + } else if (ty == TINYGLTF_TYPE_MAT2) { + return 4; + } else if (ty == TINYGLTF_TYPE_MAT3) { + return 9; + } else if (ty == TINYGLTF_TYPE_MAT4) { + return 16; + } else { + // Unknown component type + return -1; + } +} + +// TODO(syoyo): Move these functions to TinyGLTF class +bool IsDataURI(const std::string &in); +bool DecodeDataURI(std::vector *out, std::string &mime_type, + const std::string &in, size_t reqBytes, bool checkSize); + +#ifdef __clang__ +#pragma clang diagnostic push +// Suppress warning for : static Value null_value +#pragma clang diagnostic ignored "-Wexit-time-destructors" +#pragma clang diagnostic ignored "-Wpadded" +#endif + +// Simple class to represent JSON object +class Value { + public: + typedef std::vector Array; + typedef std::map Object; + + Value() = default; + + explicit Value(bool b) : type_(BOOL_TYPE) { boolean_value_ = b; } + explicit Value(int i) : type_(INT_TYPE) { + int_value_ = i; + real_value_ = i; + } + explicit Value(double n) : type_(REAL_TYPE) { real_value_ = n; } + explicit Value(const std::string &s) : type_(STRING_TYPE) { + string_value_ = s; + } + explicit Value(std::string &&s) + : type_(STRING_TYPE), string_value_(std::move(s)) {} + explicit Value(const char *s) : type_(STRING_TYPE) { string_value_ = s; } + explicit Value(const unsigned char *p, size_t n) : type_(BINARY_TYPE) { + binary_value_.resize(n); + memcpy(binary_value_.data(), p, n); + } + explicit Value(std::vector &&v) noexcept + : type_(BINARY_TYPE), + binary_value_(std::move(v)) {} + explicit Value(const Array &a) : type_(ARRAY_TYPE) { array_value_ = a; } + explicit Value(Array &&a) noexcept : type_(ARRAY_TYPE), + array_value_(std::move(a)) {} + + explicit Value(const Object &o) : type_(OBJECT_TYPE) { object_value_ = o; } + explicit Value(Object &&o) noexcept : type_(OBJECT_TYPE), + object_value_(std::move(o)) {} + + DEFAULT_METHODS(Value) + + char Type() const { return static_cast(type_); } + + bool IsBool() const { return (type_ == BOOL_TYPE); } + + bool IsInt() const { return (type_ == INT_TYPE); } + + bool IsNumber() const { return (type_ == REAL_TYPE) || (type_ == INT_TYPE); } + + bool IsReal() const { return (type_ == REAL_TYPE); } + + bool IsString() const { return (type_ == STRING_TYPE); } + + bool IsBinary() const { return (type_ == BINARY_TYPE); } + + bool IsArray() const { return (type_ == ARRAY_TYPE); } + + bool IsObject() const { return (type_ == OBJECT_TYPE); } + + // Use this function if you want to have number value as double. + double GetNumberAsDouble() const { + if (type_ == INT_TYPE) { + return double(int_value_); + } else { + return real_value_; + } + } + + // Use this function if you want to have number value as int. + // TODO(syoyo): Support int value larger than 32 bits + int GetNumberAsInt() const { + if (type_ == REAL_TYPE) { + return int(real_value_); + } else { + return int_value_; + } + } + + // Accessor + template + const T &Get() const; + template + T &Get(); + + // Lookup value from an array + const Value &Get(int idx) const { + static Value null_value; + assert(IsArray()); + assert(idx >= 0); + return (static_cast(idx) < array_value_.size()) + ? array_value_[static_cast(idx)] + : null_value; + } + + // Lookup value from a key-value pair + const Value &Get(const std::string &key) const { + static Value null_value; + assert(IsObject()); + Object::const_iterator it = object_value_.find(key); + return (it != object_value_.end()) ? it->second : null_value; + } + + size_t ArrayLen() const { + if (!IsArray()) return 0; + return array_value_.size(); + } + + // Valid only for object type. + bool Has(const std::string &key) const { + if (!IsObject()) return false; + Object::const_iterator it = object_value_.find(key); + return (it != object_value_.end()) ? true : false; + } + + // List keys + std::vector Keys() const { + std::vector keys; + if (!IsObject()) return keys; // empty + + for (Object::const_iterator it = object_value_.begin(); + it != object_value_.end(); ++it) { + keys.push_back(it->first); + } + + return keys; + } + + size_t Size() const { return (IsArray() ? ArrayLen() : Keys().size()); } + + bool operator==(const tinygltf::Value &other) const; + + protected: + int type_ = NULL_TYPE; + + int int_value_ = 0; + double real_value_ = 0.0; + std::string string_value_; + std::vector binary_value_; + Array array_value_; + Object object_value_; + bool boolean_value_ = false; +}; + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#define TINYGLTF_VALUE_GET(ctype, var) \ + template <> \ + inline const ctype &Value::Get() const { \ + return var; \ + } \ + template <> \ + inline ctype &Value::Get() { \ + return var; \ + } +TINYGLTF_VALUE_GET(bool, boolean_value_) +TINYGLTF_VALUE_GET(double, real_value_) +TINYGLTF_VALUE_GET(int, int_value_) +TINYGLTF_VALUE_GET(std::string, string_value_) +TINYGLTF_VALUE_GET(std::vector, binary_value_) +TINYGLTF_VALUE_GET(Value::Array, array_value_) +TINYGLTF_VALUE_GET(Value::Object, object_value_) +#undef TINYGLTF_VALUE_GET + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wc++98-compat" +#pragma clang diagnostic ignored "-Wpadded" +#endif + +/// Aggregate object for representing a color +using ColorValue = std::array; + +// === legacy interface ==== +// TODO(syoyo): Deprecate `Parameter` class. +struct Parameter { + bool bool_value = false; + bool has_number_value = false; + std::string string_value; + std::vector number_array; + std::map json_double_value; + double number_value = 0.0; + + // context sensitive methods. depending the type of the Parameter you are + // accessing, these are either valid or not + // If this parameter represent a texture map in a material, will return the + // texture index + + /// Return the index of a texture if this Parameter is a texture map. + /// Returned value is only valid if the parameter represent a texture from a + /// material + int TextureIndex() const { + const auto it = json_double_value.find("index"); + if (it != std::end(json_double_value)) { + return int(it->second); + } + return -1; + } + + /// Return the index of a texture coordinate set if this Parameter is a + /// texture map. Returned value is only valid if the parameter represent a + /// texture from a material + int TextureTexCoord() const { + const auto it = json_double_value.find("texCoord"); + if (it != std::end(json_double_value)) { + return int(it->second); + } + // As per the spec, if texCoord is omitted, this parameter is 0 + return 0; + } + + /// Return the scale of a texture if this Parameter is a normal texture map. + /// Returned value is only valid if the parameter represent a normal texture + /// from a material + double TextureScale() const { + const auto it = json_double_value.find("scale"); + if (it != std::end(json_double_value)) { + return it->second; + } + // As per the spec, if scale is omitted, this parameter is 1 + return 1; + } + + /// Return the strength of a texture if this Parameter is a an occlusion map. + /// Returned value is only valid if the parameter represent an occlusion map + /// from a material + double TextureStrength() const { + const auto it = json_double_value.find("strength"); + if (it != std::end(json_double_value)) { + return it->second; + } + // As per the spec, if strength is omitted, this parameter is 1 + return 1; + } + + /// Material factor, like the roughness or metalness of a material + /// Returned value is only valid if the parameter represent a texture from a + /// material + double Factor() const { return number_value; } + + /// Return the color of a material + /// Returned value is only valid if the parameter represent a texture from a + /// material + ColorValue ColorFactor() const { + return { + {// this aggregate initialize the std::array object, and uses C++11 RVO. + number_array[0], number_array[1], number_array[2], + (number_array.size() > 3 ? number_array[3] : 1.0)}}; + } + + Parameter() = default; + DEFAULT_METHODS(Parameter) + bool operator==(const Parameter &) const; +}; + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpadded" +#endif + +typedef std::map ParameterMap; +typedef std::map ExtensionMap; + +struct AnimationChannel { + int sampler{-1}; // required + int target_node{-1}; // optional index of the node to target (alternative + // target should be provided by extension) + std::string target_path; // required with standard values of ["translation", + // "rotation", "scale", "weights"] + Value extras; + ExtensionMap extensions; + Value target_extras; + ExtensionMap target_extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + std::string target_extras_json_string; + std::string target_extensions_json_string; + + AnimationChannel() = default; + DEFAULT_METHODS(AnimationChannel) + bool operator==(const AnimationChannel &) const; +}; + +struct AnimationSampler { + int input{-1}; // required + int output{-1}; // required + std::string interpolation; // "LINEAR", "STEP","CUBICSPLINE" or user defined + // string. default "LINEAR" + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + AnimationSampler() : interpolation("LINEAR") {} + DEFAULT_METHODS(AnimationSampler) + bool operator==(const AnimationSampler &) const; +}; + +struct Animation { + std::string name; + std::vector channels; + std::vector samplers; + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Animation() = default; + DEFAULT_METHODS(Animation) + bool operator==(const Animation &) const; +}; + +struct Skin { + std::string name; + int inverseBindMatrices{-1}; // required here but not in the spec + int skeleton{-1}; // The index of the node used as a skeleton root + std::vector joints; // Indices of skeleton nodes + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Skin() = default; + DEFAULT_METHODS(Skin) + bool operator==(const Skin &) const; +}; + +struct Sampler { + std::string name; + // glTF 2.0 spec does not define default value for `minFilter` and + // `magFilter`. Set -1 in TinyGLTF(issue #186) + int minFilter = + -1; // optional. -1 = no filter defined. ["NEAREST", "LINEAR", + // "NEAREST_MIPMAP_NEAREST", "LINEAR_MIPMAP_NEAREST", + // "NEAREST_MIPMAP_LINEAR", "LINEAR_MIPMAP_LINEAR"] + int magFilter = + -1; // optional. -1 = no filter defined. ["NEAREST", "LINEAR"] + int wrapS = + TINYGLTF_TEXTURE_WRAP_REPEAT; // ["CLAMP_TO_EDGE", "MIRRORED_REPEAT", + // "REPEAT"], default "REPEAT" + int wrapT = + TINYGLTF_TEXTURE_WRAP_REPEAT; // ["CLAMP_TO_EDGE", "MIRRORED_REPEAT", + // "REPEAT"], default "REPEAT" + // int wrapR = TINYGLTF_TEXTURE_WRAP_REPEAT; // TinyGLTF extension. currently + // not used. + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Sampler() = default; + DEFAULT_METHODS(Sampler) + bool operator==(const Sampler &) const; +}; + +struct Image { + std::string name; + int width{-1}; + int height{-1}; + int component{-1}; + int bits{-1}; // bit depth per channel. 8(byte), 16 or 32. + int pixel_type{-1}; // pixel type(TINYGLTF_COMPONENT_TYPE_***). usually + // UBYTE(bits = 8) or USHORT(bits = 16) + std::vector image; + int bufferView{-1}; // (required if no uri) + std::string mimeType; // (required if no uri) ["image/jpeg", "image/png", + // "image/bmp", "image/gif"] + std::string uri; // (required if no mimeType) uri is not decoded(e.g. + // whitespace may be represented as %20) + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + // When this flag is true, data is stored to `image` in as-is format(e.g. jpeg + // compressed for "image/jpeg" mime) This feature is good if you use custom + // image loader function. (e.g. delayed decoding of images for faster glTF + // parsing) Default parser for Image does not provide as-is loading feature at + // the moment. (You can manipulate this by providing your own LoadImageData + // function) + bool as_is{false}; + + Image() = default; + DEFAULT_METHODS(Image) + + bool operator==(const Image &) const; +}; + +struct Texture { + std::string name; + + int sampler{-1}; + int source{-1}; + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Texture() = default; + DEFAULT_METHODS(Texture) + + bool operator==(const Texture &) const; +}; + +struct TextureInfo { + int index{-1}; // required. + int texCoord{0}; // The set index of texture's TEXCOORD attribute used for + // texture coordinate mapping. + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + TextureInfo() = default; + DEFAULT_METHODS(TextureInfo) + bool operator==(const TextureInfo &) const; +}; + +struct NormalTextureInfo { + int index{-1}; // required + int texCoord{0}; // The set index of texture's TEXCOORD attribute used for + // texture coordinate mapping. + double scale{ + 1.0}; // scaledNormal = normalize(( + // * 2.0 - 1.0) * vec3(, , 1.0)) + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + NormalTextureInfo() = default; + DEFAULT_METHODS(NormalTextureInfo) + bool operator==(const NormalTextureInfo &) const; +}; + +struct OcclusionTextureInfo { + int index{-1}; // required + int texCoord{0}; // The set index of texture's TEXCOORD attribute used for + // texture coordinate mapping. + double strength{1.0}; // occludedColor = lerp(color, color * , ) + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + OcclusionTextureInfo() = default; + DEFAULT_METHODS(OcclusionTextureInfo) + bool operator==(const OcclusionTextureInfo &) const; +}; + +// pbrMetallicRoughness class defined in glTF 2.0 spec. +struct PbrMetallicRoughness { + std::vector baseColorFactor; // len = 4. default [1,1,1,1] + TextureInfo baseColorTexture; + double metallicFactor{1.0}; // default 1 + double roughnessFactor{1.0}; // default 1 + TextureInfo metallicRoughnessTexture; + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + PbrMetallicRoughness() + : baseColorFactor(std::vector{1.0, 1.0, 1.0, 1.0}) {} + DEFAULT_METHODS(PbrMetallicRoughness) + bool operator==(const PbrMetallicRoughness &) const; +}; + +// Each extension should be stored in a ParameterMap. +// members not in the values could be included in the ParameterMap +// to keep a single material model +struct Material { + std::string name; + + std::vector emissiveFactor; // length 3. default [0, 0, 0] + std::string alphaMode; // default "OPAQUE" + double alphaCutoff{0.5}; // default 0.5 + bool doubleSided{false}; // default false; + + PbrMetallicRoughness pbrMetallicRoughness; + + NormalTextureInfo normalTexture; + OcclusionTextureInfo occlusionTexture; + TextureInfo emissiveTexture; + + // For backward compatibility + // TODO(syoyo): Remove `values` and `additionalValues` in the next release. + ParameterMap values; + ParameterMap additionalValues; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Material() : alphaMode("OPAQUE") {} + DEFAULT_METHODS(Material) + + bool operator==(const Material &) const; +}; + +struct BufferView { + std::string name; + int buffer{-1}; // Required + size_t byteOffset{0}; // minimum 0, default 0 + size_t byteLength{0}; // required, minimum 1. 0 = invalid + size_t byteStride{0}; // minimum 4, maximum 252 (multiple of 4), default 0 = + // understood to be tightly packed + int target{0}; // ["ARRAY_BUFFER", "ELEMENT_ARRAY_BUFFER"] for vertex indices + // or attribs. Could be 0 for other data + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + bool dracoDecoded{false}; // Flag indicating this has been draco decoded + + BufferView() = default; + DEFAULT_METHODS(BufferView) + bool operator==(const BufferView &) const; +}; + +struct Accessor { + int bufferView{-1}; // optional in spec but required here since sparse + // accessor are not supported + std::string name; + size_t byteOffset{0}; + bool normalized{false}; // optional. + int componentType{-1}; // (required) One of TINYGLTF_COMPONENT_TYPE_*** + size_t count{0}; // required + int type{-1}; // (required) One of TINYGLTF_TYPE_*** .. + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + std::vector + minValues; // optional. integer value is promoted to double + std::vector + maxValues; // optional. integer value is promoted to double + + struct Sparse { + int count; + bool isSparse; + struct { + size_t byteOffset; + int bufferView; + int componentType; // a TINYGLTF_COMPONENT_TYPE_ value + Value extras; + ExtensionMap extensions; + std::string extras_json_string; + std::string extensions_json_string; + } indices; + struct { + int bufferView; + size_t byteOffset; + Value extras; + ExtensionMap extensions; + std::string extras_json_string; + std::string extensions_json_string; + } values; + Value extras; + ExtensionMap extensions; + std::string extras_json_string; + std::string extensions_json_string; + }; + + Sparse sparse; + + /// + /// Utility function to compute byteStride for a given bufferView object. + /// Returns -1 upon invalid glTF value or parameter configuration. + /// + int ByteStride(const BufferView &bufferViewObject) const { + if (bufferViewObject.byteStride == 0) { + // Assume data is tightly packed. + int componentSizeInBytes = + GetComponentSizeInBytes(static_cast(componentType)); + if (componentSizeInBytes <= 0) { + return -1; + } + + int numComponents = GetNumComponentsInType(static_cast(type)); + if (numComponents <= 0) { + return -1; + } + + return componentSizeInBytes * numComponents; + } else { + // Check if byteStride is a multiple of the size of the accessor's + // component type. + int componentSizeInBytes = + GetComponentSizeInBytes(static_cast(componentType)); + if (componentSizeInBytes <= 0) { + return -1; + } + + if ((bufferViewObject.byteStride % uint32_t(componentSizeInBytes)) != 0) { + return -1; + } + return static_cast(bufferViewObject.byteStride); + } + + // unreachable return 0; + } + + Accessor() + + { + sparse.isSparse = false; + } + DEFAULT_METHODS(Accessor) + bool operator==(const tinygltf::Accessor &) const; +}; + +struct PerspectiveCamera { + double aspectRatio{0.0}; // min > 0 + double yfov{0.0}; // required. min > 0 + double zfar{0.0}; // min > 0 + double znear{0.0}; // required. min > 0 + + PerspectiveCamera() = default; + DEFAULT_METHODS(PerspectiveCamera) + bool operator==(const PerspectiveCamera &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct OrthographicCamera { + double xmag{0.0}; // required. must not be zero. + double ymag{0.0}; // required. must not be zero. + double zfar{0.0}; // required. `zfar` must be greater than `znear`. + double znear{0.0}; // required + + OrthographicCamera() = default; + DEFAULT_METHODS(OrthographicCamera) + bool operator==(const OrthographicCamera &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct Camera { + std::string type; // required. "perspective" or "orthographic" + std::string name; + + PerspectiveCamera perspective; + OrthographicCamera orthographic; + + Camera() = default; + DEFAULT_METHODS(Camera) + bool operator==(const Camera &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct Primitive { + std::map attributes; // (required) A dictionary object of + // integer, where each integer + // is the index of the accessor + // containing an attribute. + int material{-1}; // The index of the material to apply to this primitive + // when rendering. + int indices{-1}; // The index of the accessor that contains the indices. + int mode{-1}; // one of TINYGLTF_MODE_*** + std::vector > targets; // array of morph targets, + // where each target is a dict with attributes in ["POSITION, "NORMAL", + // "TANGENT"] pointing + // to their corresponding accessors + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Primitive() = default; + DEFAULT_METHODS(Primitive) + bool operator==(const Primitive &) const; +}; + +struct Mesh { + std::string name; + std::vector primitives; + std::vector weights; // weights to be applied to the Morph Targets + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Mesh() = default; + DEFAULT_METHODS(Mesh) + bool operator==(const Mesh &) const; +}; + +class Node { + public: + Node() = default; + + DEFAULT_METHODS(Node) + + bool operator==(const Node &) const; + + int camera{-1}; // the index of the camera referenced by this node + + std::string name; + int skin{-1}; + int mesh{-1}; + int light{-1}; // light source index (KHR_lights_punctual) + int emitter{-1}; // audio emitter index (KHR_audio) + std::vector children; + std::vector rotation; // length must be 0 or 4 + std::vector scale; // length must be 0 or 3 + std::vector translation; // length must be 0 or 3 + std::vector matrix; // length must be 0 or 16 + std::vector weights; // The weights of the instantiated Morph Target + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct Buffer { + std::string name; + std::vector data; + std::string + uri; // considered as required here but not in the spec (need to clarify) + // uri is not decoded(e.g. whitespace may be represented as %20) + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Buffer() = default; + DEFAULT_METHODS(Buffer) + bool operator==(const Buffer &) const; +}; + +struct Asset { + std::string version = "2.0"; // required + std::string generator; + std::string minVersion; + std::string copyright; + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Asset() = default; + DEFAULT_METHODS(Asset) + bool operator==(const Asset &) const; +}; + +struct Scene { + std::string name; + std::vector nodes; + std::vector audioEmitters; // KHR_audio global emitters + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; + + Scene() = default; + DEFAULT_METHODS(Scene) + bool operator==(const Scene &) const; +}; + +struct SpotLight { + double innerConeAngle{0.0}; + double outerConeAngle{0.7853981634}; + + SpotLight() = default; + DEFAULT_METHODS(SpotLight) + bool operator==(const SpotLight &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct Light { + std::string name; + std::vector color; + double intensity{1.0}; + std::string type; + double range{0.0}; // 0.0 = infinite + SpotLight spot; + + Light() = default; + DEFAULT_METHODS(Light) + + bool operator==(const Light &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct PositionalEmitter { + double coneInnerAngle{6.283185307179586}; + double coneOuterAngle{6.283185307179586}; + double coneOuterGain{0.0}; + double maxDistance{100.0}; + double refDistance{1.0}; + double rolloffFactor{1.0}; + + PositionalEmitter() = default; + DEFAULT_METHODS(PositionalEmitter) + bool operator==(const PositionalEmitter &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct AudioEmitter { + std::string name; + double gain{1.0}; + bool loop{false}; + bool playing{false}; + std::string + type; // positional - Positional audio emitters. Using sound cones, the + // orientation is +Z having the same front side for a glTF asset. + // global - Global audio emitters are not affected by the position + // of audio listeners. coneInnerAngle, coneOuterAngle, + // coneOuterGain, distanceModel, maxDistance, refDistance, and + // rolloffFactor should all be ignored when set. + std::string + distanceModel; // linear - A linear distance model calculating the + // gain induced by the distance according to: 1.0 + // - rolloffFactor * (distance - refDistance) / + // (maxDistance - refDistance) + // inverse - (default) An inverse distance model + // calculating the gain induced by the distance according + // to: refDistance / (refDistance + rolloffFactor * + // (Math.max(distance, refDistance) - refDistance)) + // exponential - An exponential distance model calculating + // the gain induced by the distance according to: + // pow((Math.max(distance, refDistance) / refDistance, + // -rolloffFactor)) + PositionalEmitter positional; + int source{-1}; + + AudioEmitter() : type("global"), distanceModel("inverse") {} + DEFAULT_METHODS(AudioEmitter) + + bool operator==(const AudioEmitter &) const; + + ExtensionMap extensions; + Value extras; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +struct AudioSource { + std::string name; + std::string uri; + int bufferView{-1}; // (required if no uri) + std::string + mimeType; // (required if no uri) The audio's MIME type. Required if + // bufferView is defined. Unless specified by another + // extension, the only supported mimeType is audio/mpeg. + + AudioSource() = default; + DEFAULT_METHODS(AudioSource) + + bool operator==(const AudioSource &) const; + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +class Model { + public: + Model() = default; + DEFAULT_METHODS(Model) + + bool operator==(const Model &) const; + + std::vector accessors; + std::vector animations; + std::vector buffers; + std::vector bufferViews; + std::vector materials; + std::vector meshes; + std::vector nodes; + std::vector textures; + std::vector images; + std::vector skins; + std::vector samplers; + std::vector cameras; + std::vector scenes; + std::vector lights; + std::vector audioEmitters; + std::vector audioSources; + + int defaultScene{-1}; + std::vector extensionsUsed; + std::vector extensionsRequired; + + Asset asset; + + Value extras; + ExtensionMap extensions; + + // Filled when SetStoreOriginalJSONForExtrasAndExtensions is enabled. + std::string extras_json_string; + std::string extensions_json_string; +}; + +enum SectionCheck { + NO_REQUIRE = 0x00, + REQUIRE_VERSION = 0x01, + REQUIRE_SCENE = 0x02, + REQUIRE_SCENES = 0x04, + REQUIRE_NODES = 0x08, + REQUIRE_ACCESSORS = 0x10, + REQUIRE_BUFFERS = 0x20, + REQUIRE_BUFFER_VIEWS = 0x40, + REQUIRE_ALL = 0x7f +}; + +/// +/// URIEncodeFunction type. Signature for custom URI encoding of external +/// resources such as .bin and image files. Used by tinygltf to re-encode the +/// final location of saved files. object_type may be used to encode buffer and +/// image URIs differently, for example. See +/// https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#uris +/// +typedef bool (*URIEncodeFunction)(const std::string &in_uri, + const std::string &object_type, + std::string *out_uri, void *user_data); + +/// +/// URIDecodeFunction type. Signature for custom URI decoding of external +/// resources such as .bin and image files. Used by tinygltf when computing +/// filenames to write resources. +/// +typedef bool (*URIDecodeFunction)(const std::string &in_uri, + std::string *out_uri, void *user_data); + +// Declaration of default uri decode function +bool URIDecode(const std::string &in_uri, std::string *out_uri, + void *user_data); + +/// +/// A structure containing URI callbacks and a pointer to their user data. +/// +struct URICallbacks { + URIEncodeFunction encode; // Optional encode method + URIDecodeFunction decode; // Required decode method + + void *user_data; // An argument that is passed to all uri callbacks +}; + +/// +/// LoadImageDataFunction type. Signature for custom image loading callbacks. +/// +typedef bool (*LoadImageDataFunction)(Image *, const int, std::string *, + std::string *, int, int, + const unsigned char *, int, + void *user_pointer); + +/// +/// WriteImageDataFunction type. Signature for custom image writing callbacks. +/// The out_uri parameter becomes the URI written to the gltf and may reference +/// a file or contain a data URI. +/// +typedef bool (*WriteImageDataFunction)(const std::string *basepath, + const std::string *filename, + const Image *image, bool embedImages, + const URICallbacks *uri_cb, + std::string *out_uri, + void *user_pointer); + +#ifndef TINYGLTF_NO_STB_IMAGE +// Declaration of default image loader callback +bool LoadImageData(Image *image, const int image_idx, std::string *err, + std::string *warn, int req_width, int req_height, + const unsigned char *bytes, int size, void *); +#endif + +#ifndef TINYGLTF_NO_STB_IMAGE_WRITE +// Declaration of default image writer callback +bool WriteImageData(const std::string *basepath, const std::string *filename, + const Image *image, bool embedImages, + const URICallbacks *uri_cb, std::string *out_uri, void *); +#endif + +/// +/// FilExistsFunction type. Signature for custom filesystem callbacks. +/// +typedef bool (*FileExistsFunction)(const std::string &abs_filename, void *); + +/// +/// ExpandFilePathFunction type. Signature for custom filesystem callbacks. +/// +typedef std::string (*ExpandFilePathFunction)(const std::string &, void *); + +/// +/// ReadWholeFileFunction type. Signature for custom filesystem callbacks. +/// +typedef bool (*ReadWholeFileFunction)(std::vector *, + std::string *, const std::string &, + void *); + +/// +/// WriteWholeFileFunction type. Signature for custom filesystem callbacks. +/// +typedef bool (*WriteWholeFileFunction)(std::string *, const std::string &, + const std::vector &, + void *); + +/// +/// GetFileSizeFunction type. Signature for custom filesystem callbacks. +/// +typedef bool (*GetFileSizeFunction)(size_t *filesize_out, std::string *err, + const std::string &abs_filename, + void *userdata); + +/// +/// A structure containing all required filesystem callbacks and a pointer to +/// their user data. +/// +struct FsCallbacks { + FileExistsFunction FileExists; + ExpandFilePathFunction ExpandFilePath; + ReadWholeFileFunction ReadWholeFile; + WriteWholeFileFunction WriteWholeFile; + GetFileSizeFunction GetFileSizeInBytes; // To avoid GetFileSize Win32 API, + // add `InBytes` suffix. + + void *user_data; // An argument that is passed to all fs callbacks +}; + +#ifndef TINYGLTF_NO_FS +// Declaration of default filesystem callbacks + +bool FileExists(const std::string &abs_filename, void *); + +/// +/// Expand file path(e.g. `~` to home directory on posix, `%APPDATA%` to +/// `C:\\Users\\tinygltf\\AppData`) +/// +/// @param[in] filepath File path string. Assume UTF-8 +/// @param[in] userdata User data. Set to `nullptr` if you don't need it. +/// +std::string ExpandFilePath(const std::string &filepath, void *userdata); + +bool ReadWholeFile(std::vector *out, std::string *err, + const std::string &filepath, void *); + +bool WriteWholeFile(std::string *err, const std::string &filepath, + const std::vector &contents, void *); + +bool GetFileSizeInBytes(size_t *filesize_out, std::string *err, + const std::string &filepath, void *); +#endif + +/// +/// glTF Parser/Serializer context. +/// +class TinyGLTF { + public: +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wc++98-compat" +#endif + + TinyGLTF() = default; + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + + ~TinyGLTF() = default; + + /// + /// Loads glTF ASCII asset from a file. + /// Set warning message to `warn` for example it fails to load asserts. + /// Returns false and set error string to `err` if there's an error. + /// + bool LoadASCIIFromFile(Model *model, std::string *err, std::string *warn, + const std::string &filename, + unsigned int check_sections = REQUIRE_VERSION); + + /// + /// Loads glTF ASCII asset from string(memory). + /// `length` = strlen(str); + /// `base_dir` is a search path of glTF asset(e.g. images). Path Must be an + /// expanded path (e.g. no tilde(`~`), no environment variables). Set warning + /// message to `warn` for example it fails to load asserts. Returns false and + /// set error string to `err` if there's an error. + /// + bool LoadASCIIFromString(Model *model, std::string *err, std::string *warn, + const char *str, const unsigned int length, + const std::string &base_dir, + unsigned int check_sections = REQUIRE_VERSION); + + /// + /// Loads glTF binary asset from a file. + /// Set warning message to `warn` for example it fails to load asserts. + /// Returns false and set error string to `err` if there's an error. + /// + bool LoadBinaryFromFile(Model *model, std::string *err, std::string *warn, + const std::string &filename, + unsigned int check_sections = REQUIRE_VERSION); + + /// + /// Loads glTF binary asset from memory. + /// `length` = strlen(str); + /// `base_dir` is a search path of glTF asset(e.g. images). Path Must be an + /// expanded path (e.g. no tilde(`~`), no environment variables). + /// Set warning message to `warn` for example it fails to load asserts. + /// Returns false and set error string to `err` if there's an error. + /// + bool LoadBinaryFromMemory(Model *model, std::string *err, std::string *warn, + const unsigned char *bytes, + const unsigned int length, + const std::string &base_dir = "", + unsigned int check_sections = REQUIRE_VERSION); + + /// + /// Write glTF to stream, buffers and images will be embedded + /// + bool WriteGltfSceneToStream(const Model *model, std::ostream &stream, + bool prettyPrint, bool writeBinary); + + /// + /// Write glTF to file. + /// + bool WriteGltfSceneToFile(const Model *model, const std::string &filename, + bool embedImages, bool embedBuffers, + bool prettyPrint, bool writeBinary); + + /// + /// Sets the parsing strictness. + /// + void SetParseStrictness(ParseStrictness strictness); + + /// + /// Set callback to use for loading image data + /// + void SetImageLoader(LoadImageDataFunction LoadImageData, void *user_data); + + /// + /// Unset(remove) callback of loading image data + /// + void RemoveImageLoader(); + + /// + /// Set callback to use for writing image data + /// + void SetImageWriter(WriteImageDataFunction WriteImageData, void *user_data); + + /// + /// Set callbacks to use for URI encoding and decoding and their user data + /// + void SetURICallbacks(URICallbacks callbacks); + + /// + /// Set callbacks to use for filesystem (fs) access and their user data + /// + void SetFsCallbacks(FsCallbacks callbacks); + + /// + /// Set serializing default values(default = false). + /// When true, default values are force serialized to .glTF. + /// This may be helpful if you want to serialize a full description of glTF + /// data. + /// + /// TODO(LTE): Supply parsing option as function arguments to + /// `LoadASCIIFromFile()` and others, not by a class method + /// + void SetSerializeDefaultValues(const bool enabled) { + serialize_default_values_ = enabled; + } + + bool GetSerializeDefaultValues() const { return serialize_default_values_; } + + /// + /// Store original JSON string for `extras` and `extensions`. + /// This feature will be useful when the user want to reconstruct custom data + /// structure from JSON string. + /// + void SetStoreOriginalJSONForExtrasAndExtensions(const bool enabled) { + store_original_json_for_extras_and_extensions_ = enabled; + } + + bool GetStoreOriginalJSONForExtrasAndExtensions() const { + return store_original_json_for_extras_and_extensions_; + } + + /// + /// Specify whether preserve image channels when loading images or not. + /// (Not effective when the user supplies their own LoadImageData callbacks) + /// + void SetPreserveImageChannels(bool onoff) { + preserve_image_channels_ = onoff; + } + + /// + /// Set maximum allowed external file size in bytes. + /// Default: 2GB + /// Only effective for built-in ReadWholeFileFunction FS function. + /// + void SetMaxExternalFileSize(size_t max_bytes) { + max_external_file_size_ = max_bytes; + } + + size_t GetMaxExternalFileSize() const { return max_external_file_size_; } + + bool GetPreserveImageChannels() const { return preserve_image_channels_; } + + private: + /// + /// Loads glTF asset from string(memory). + /// `length` = strlen(str); + /// Set warning message to `warn` for example it fails to load asserts + /// Returns false and set error string to `err` if there's an error. + /// + bool LoadFromString(Model *model, std::string *err, std::string *warn, + const char *str, const unsigned int length, + const std::string &base_dir, unsigned int check_sections); + + const unsigned char *bin_data_ = nullptr; + size_t bin_size_ = 0; + bool is_binary_ = false; + + ParseStrictness strictness_ = ParseStrictness::Strict; + + bool serialize_default_values_ = false; ///< Serialize default values? + + bool store_original_json_for_extras_and_extensions_ = false; + + bool preserve_image_channels_ = false; /// Default false(expand channels to + /// RGBA) for backward compatibility. + + size_t max_external_file_size_{ + size_t((std::numeric_limits::max)())}; // Default 2GB + + // Warning & error messages + std::string warn_; + std::string err_; + + FsCallbacks fs = { +#ifndef TINYGLTF_NO_FS + &tinygltf::FileExists, + &tinygltf::ExpandFilePath, + &tinygltf::ReadWholeFile, + &tinygltf::WriteWholeFile, + &tinygltf::GetFileSizeInBytes, + + nullptr // Fs callback user data +#else + nullptr, nullptr, nullptr, nullptr, nullptr, + + nullptr // Fs callback user data +#endif + }; + + URICallbacks uri_cb = { + // Use paths as-is by default. This will use JSON string escaping. + nullptr, + // Decode all URIs before using them as paths as the application may have + // percent encoded them. + &tinygltf::URIDecode, + // URI callback user data + nullptr}; + + LoadImageDataFunction LoadImageData = +#ifndef TINYGLTF_NO_STB_IMAGE + &tinygltf::LoadImageData; +#else + nullptr; +#endif + void *load_image_user_data_{nullptr}; + bool user_image_loader_{false}; + + WriteImageDataFunction WriteImageData = +#ifndef TINYGLTF_NO_STB_IMAGE_WRITE + &tinygltf::WriteImageData; +#else + nullptr; +#endif + void *write_image_user_data_{nullptr}; +}; + +#ifdef __clang__ +#pragma clang diagnostic pop // -Wpadded +#endif + +} // namespace tinygltf + +#endif // TINY_GLTF_H_ + +#if defined(TINYGLTF_IMPLEMENTATION) || defined(__INTELLISENSE__) +#include +// #include +#ifndef TINYGLTF_NO_FS +#include // for is_directory check + +#include +#include +#endif +#include + +#ifdef __clang__ +// Disable some warnings for external files. +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wfloat-equal" +#pragma clang diagnostic ignored "-Wexit-time-destructors" +#pragma clang diagnostic ignored "-Wconversion" +#pragma clang diagnostic ignored "-Wold-style-cast" +#pragma clang diagnostic ignored "-Wglobal-constructors" +#if __has_warning("-Wreserved-id-macro") +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#endif +#pragma clang diagnostic ignored "-Wdisabled-macro-expansion" +#pragma clang diagnostic ignored "-Wpadded" +#pragma clang diagnostic ignored "-Wc++98-compat" +#pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#pragma clang diagnostic ignored "-Wswitch-enum" +#pragma clang diagnostic ignored "-Wimplicit-fallthrough" +#pragma clang diagnostic ignored "-Wweak-vtables" +#pragma clang diagnostic ignored "-Wcovered-switch-default" +#if __has_warning("-Wdouble-promotion") +#pragma clang diagnostic ignored "-Wdouble-promotion" +#endif +#if __has_warning("-Wcomma") +#pragma clang diagnostic ignored "-Wcomma" +#endif +#if __has_warning("-Wzero-as-null-pointer-constant") +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#endif +#if __has_warning("-Wcast-qual") +#pragma clang diagnostic ignored "-Wcast-qual" +#endif +#if __has_warning("-Wmissing-variable-declarations") +#pragma clang diagnostic ignored "-Wmissing-variable-declarations" +#endif +#if __has_warning("-Wmissing-prototypes") +#pragma clang diagnostic ignored "-Wmissing-prototypes" +#endif +#if __has_warning("-Wcast-align") +#pragma clang diagnostic ignored "-Wcast-align" +#endif +#if __has_warning("-Wnewline-eof") +#pragma clang diagnostic ignored "-Wnewline-eof" +#endif +#if __has_warning("-Wunused-parameter") +#pragma clang diagnostic ignored "-Wunused-parameter" +#endif +#if __has_warning("-Wmismatched-tags") +#pragma clang diagnostic ignored "-Wmismatched-tags" +#endif +#if __has_warning("-Wextra-semi-stmt") +#pragma clang diagnostic ignored "-Wextra-semi-stmt" +#endif +#endif + +// Disable GCC warnings +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wtype-limits" +#endif // __GNUC__ + +#ifndef TINYGLTF_NO_INCLUDE_JSON +#ifndef TINYGLTF_USE_RAPIDJSON +#include "json.hpp" +#else +#ifndef TINYGLTF_NO_INCLUDE_RAPIDJSON +#include "document.h" +#include "prettywriter.h" +#include "rapidjson.h" +#include "stringbuffer.h" +#include "writer.h" +#endif +#endif +#endif + +#ifdef TINYGLTF_ENABLE_DRACO +#include "draco/compression/decode.h" +#include "draco/core/decoder_buffer.h" +#endif + +#ifndef TINYGLTF_NO_STB_IMAGE +#ifndef TINYGLTF_NO_INCLUDE_STB_IMAGE +#include "stb_image.h" +#endif +#endif + +#ifndef TINYGLTF_NO_STB_IMAGE_WRITE +#ifndef TINYGLTF_NO_INCLUDE_STB_IMAGE_WRITE +#include "stb_image_write.h" +#endif +#endif + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + +#ifdef _WIN32 + +// issue 143. +// Define NOMINMAX to avoid min/max defines, +// but undef it after included Windows.h +#ifndef NOMINMAX +#define TINYGLTF_INTERNAL_NOMINMAX +#define NOMINMAX +#endif + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#define TINYGLTF_INTERNAL_WIN32_LEAN_AND_MEAN +#endif +#ifndef __MINGW32__ +#include // include API for expanding a file path +#else +#include +#endif + +#ifdef TINYGLTF_INTERNAL_WIN32_LEAN_AND_MEAN +#undef WIN32_LEAN_AND_MEAN +#endif + +#if defined(TINYGLTF_INTERNAL_NOMINMAX) +#undef NOMINMAX +#endif + +#if defined(__GLIBCXX__) // mingw + +#include // _O_RDONLY + +#include // fstream (all sorts of IO stuff) + stdio_filebuf (=streambuf) + +#endif + +#elif !defined(__ANDROID__) && !defined(__OpenBSD__) +// #include +#endif + +#if defined(__sparcv9) || defined(__powerpc__) +// Big endian +#else +#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || MINIZ_X86_OR_X64_CPU +#define TINYGLTF_LITTLE_ENDIAN 1 +#endif +#endif + +namespace tinygltf { +namespace detail { +#ifdef TINYGLTF_USE_RAPIDJSON + +#ifdef TINYGLTF_USE_RAPIDJSON_CRTALLOCATOR +// This uses the RapidJSON CRTAllocator. It is thread safe and multiple +// documents may be active at once. +using json = + rapidjson::GenericValue, rapidjson::CrtAllocator>; +using json_iterator = json::MemberIterator; +using json_const_iterator = json::ConstMemberIterator; +using json_const_array_iterator = json const *; +using JsonDocument = + rapidjson::GenericDocument, rapidjson::CrtAllocator>; +rapidjson::CrtAllocator s_CrtAllocator; // stateless and thread safe +rapidjson::CrtAllocator &GetAllocator() { return s_CrtAllocator; } +#else +// This uses the default RapidJSON MemoryPoolAllocator. It is very fast, but +// not thread safe. Only a single JsonDocument may be active at any one time, +// meaning only a single gltf load/save can be active any one time. +using json = rapidjson::Value; +using json_iterator = json::MemberIterator; +using json_const_iterator = json::ConstMemberIterator; +using json_const_array_iterator = json const *; +rapidjson::Document *s_pActiveDocument = nullptr; +rapidjson::Document::AllocatorType &GetAllocator() { + assert(s_pActiveDocument); // Root json node must be JsonDocument type + return s_pActiveDocument->GetAllocator(); +} + +#ifdef __clang__ +#pragma clang diagnostic push +// Suppress JsonDocument(JsonDocument &&rhs) noexcept +#pragma clang diagnostic ignored "-Wunused-member-function" +#endif + +struct JsonDocument : public rapidjson::Document { + JsonDocument() { + assert(s_pActiveDocument == + nullptr); // When using default allocator, only one document can be + // active at a time, if you need multiple active at once, + // define TINYGLTF_USE_RAPIDJSON_CRTALLOCATOR + s_pActiveDocument = this; + } + JsonDocument(const JsonDocument &) = delete; + JsonDocument(JsonDocument &&rhs) noexcept + : rapidjson::Document(std::move(rhs)) { + s_pActiveDocument = this; + rhs.isNil = true; + } + ~JsonDocument() { + if (!isNil) { + s_pActiveDocument = nullptr; + } + } + + private: + bool isNil = false; +}; + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#endif // TINYGLTF_USE_RAPIDJSON_CRTALLOCATOR + +#else +using nlohmann::json; +using json_iterator = json::iterator; +using json_const_iterator = json::const_iterator; +using json_const_array_iterator = json_const_iterator; +using JsonDocument = json; +#endif + +void JsonParse(JsonDocument &doc, const char *str, size_t length, + bool throwExc = false) { +#ifdef TINYGLTF_USE_RAPIDJSON + (void)throwExc; + doc.Parse(str, length); +#else + doc = detail::json::parse(str, str + length, nullptr, throwExc); +#endif +} +} // namespace detail +} // namespace tinygltf + +#ifdef __APPLE__ +#include "TargetConditionals.h" +#endif + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wc++98-compat" +#endif + +namespace tinygltf { + +/// +/// Internal LoadImageDataOption struct. +/// This struct is passed through `user_pointer` in LoadImageData. +/// The struct is not passed when the user supply their own LoadImageData +/// callbacks. +/// +struct LoadImageDataOption { + // true: preserve image channels(e.g. load as RGB image if the image has RGB + // channels) default `false`(channels are expanded to RGBA for backward + // compatibility). + bool preserve_channels{false}; +}; + +// Equals function for Value, for recursivity +static bool Equals(const tinygltf::Value &one, const tinygltf::Value &other) { + if (one.Type() != other.Type()) return false; + + switch (one.Type()) { + case NULL_TYPE: + return true; + case BOOL_TYPE: + return one.Get() == other.Get(); + case REAL_TYPE: + return TINYGLTF_DOUBLE_EQUAL(one.Get(), other.Get()); + case INT_TYPE: + return one.Get() == other.Get(); + case OBJECT_TYPE: { + auto oneObj = one.Get(); + auto otherObj = other.Get(); + if (oneObj.size() != otherObj.size()) return false; + for (auto &it : oneObj) { + auto otherIt = otherObj.find(it.first); + if (otherIt == otherObj.end()) return false; + + if (!Equals(it.second, otherIt->second)) return false; + } + return true; + } + case ARRAY_TYPE: { + if (one.Size() != other.Size()) return false; + for (int i = 0; i < int(one.Size()); ++i) + if (!Equals(one.Get(i), other.Get(i))) return false; + return true; + } + case STRING_TYPE: + return one.Get() == other.Get(); + case BINARY_TYPE: + return one.Get >() == + other.Get >(); + default: { + // unhandled type + return false; + } + } +} + +// Equals function for std::vector using TINYGLTF_DOUBLE_EPSILON +static bool Equals(const std::vector &one, + const std::vector &other) { + if (one.size() != other.size()) return false; + for (int i = 0; i < int(one.size()); ++i) { + if (!TINYGLTF_DOUBLE_EQUAL(one[size_t(i)], other[size_t(i)])) return false; + } + return true; +} + +bool Accessor::operator==(const Accessor &other) const { + return this->bufferView == other.bufferView && + this->byteOffset == other.byteOffset && + this->componentType == other.componentType && + this->count == other.count && this->extensions == other.extensions && + this->extras == other.extras && + Equals(this->maxValues, other.maxValues) && + Equals(this->minValues, other.minValues) && this->name == other.name && + this->normalized == other.normalized && this->type == other.type; +} +bool Animation::operator==(const Animation &other) const { + return this->channels == other.channels && + this->extensions == other.extensions && this->extras == other.extras && + this->name == other.name && this->samplers == other.samplers; +} +bool AnimationChannel::operator==(const AnimationChannel &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->target_node == other.target_node && + this->target_path == other.target_path && + this->sampler == other.sampler; +} +bool AnimationSampler::operator==(const AnimationSampler &other) const { + return this->extras == other.extras && this->extensions == other.extensions && + this->input == other.input && + this->interpolation == other.interpolation && + this->output == other.output; +} +bool Asset::operator==(const Asset &other) const { + return this->copyright == other.copyright && + this->extensions == other.extensions && this->extras == other.extras && + this->generator == other.generator && + this->minVersion == other.minVersion && this->version == other.version; +} +bool Buffer::operator==(const Buffer &other) const { + return this->data == other.data && this->extensions == other.extensions && + this->extras == other.extras && this->name == other.name && + this->uri == other.uri; +} +bool BufferView::operator==(const BufferView &other) const { + return this->buffer == other.buffer && this->byteLength == other.byteLength && + this->byteOffset == other.byteOffset && + this->byteStride == other.byteStride && this->name == other.name && + this->target == other.target && this->extensions == other.extensions && + this->extras == other.extras && + this->dracoDecoded == other.dracoDecoded; +} +bool Camera::operator==(const Camera &other) const { + return this->name == other.name && this->extensions == other.extensions && + this->extras == other.extras && + this->orthographic == other.orthographic && + this->perspective == other.perspective && this->type == other.type; +} +bool Image::operator==(const Image &other) const { + return this->bufferView == other.bufferView && + this->component == other.component && + this->extensions == other.extensions && this->extras == other.extras && + this->height == other.height && this->image == other.image && + this->mimeType == other.mimeType && this->name == other.name && + this->uri == other.uri && this->width == other.width; +} +bool Light::operator==(const Light &other) const { + return Equals(this->color, other.color) && this->name == other.name && + this->type == other.type; +} +bool AudioEmitter::operator==(const AudioEmitter &other) const { + return this->name == other.name && + TINYGLTF_DOUBLE_EQUAL(this->gain, other.gain) && + this->loop == other.loop && this->playing == other.playing && + this->type == other.type && + this->distanceModel == other.distanceModel && + this->source == other.source; +} +bool AudioSource::operator==(const AudioSource &other) const { + return this->name == other.name && this->uri == other.uri; +} +bool Material::operator==(const Material &other) const { + return (this->pbrMetallicRoughness == other.pbrMetallicRoughness) && + (this->normalTexture == other.normalTexture) && + (this->occlusionTexture == other.occlusionTexture) && + (this->emissiveTexture == other.emissiveTexture) && + Equals(this->emissiveFactor, other.emissiveFactor) && + (this->alphaMode == other.alphaMode) && + TINYGLTF_DOUBLE_EQUAL(this->alphaCutoff, other.alphaCutoff) && + (this->doubleSided == other.doubleSided) && + (this->extensions == other.extensions) && + (this->extras == other.extras) && (this->values == other.values) && + (this->additionalValues == other.additionalValues) && + (this->name == other.name); +} +bool Mesh::operator==(const Mesh &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->name == other.name && Equals(this->weights, other.weights) && + this->primitives == other.primitives; +} +bool Model::operator==(const Model &other) const { + return this->accessors == other.accessors && + this->animations == other.animations && this->asset == other.asset && + this->buffers == other.buffers && + this->bufferViews == other.bufferViews && + this->cameras == other.cameras && + this->defaultScene == other.defaultScene && + this->extensions == other.extensions && + this->extensionsRequired == other.extensionsRequired && + this->extensionsUsed == other.extensionsUsed && + this->extras == other.extras && this->images == other.images && + this->lights == other.lights && this->materials == other.materials && + this->meshes == other.meshes && this->nodes == other.nodes && + this->samplers == other.samplers && this->scenes == other.scenes && + this->skins == other.skins && this->textures == other.textures; +} +bool Node::operator==(const Node &other) const { + return this->camera == other.camera && this->children == other.children && + this->extensions == other.extensions && this->extras == other.extras && + Equals(this->matrix, other.matrix) && this->mesh == other.mesh && + (this->light == other.light) && (this->emitter == other.emitter) && + this->name == other.name && Equals(this->rotation, other.rotation) && + Equals(this->scale, other.scale) && this->skin == other.skin && + Equals(this->translation, other.translation) && + Equals(this->weights, other.weights); +} +bool SpotLight::operator==(const SpotLight &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + TINYGLTF_DOUBLE_EQUAL(this->innerConeAngle, other.innerConeAngle) && + TINYGLTF_DOUBLE_EQUAL(this->outerConeAngle, other.outerConeAngle); +} +bool PositionalEmitter::operator==(const PositionalEmitter &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + TINYGLTF_DOUBLE_EQUAL(this->coneInnerAngle, other.coneInnerAngle) && + TINYGLTF_DOUBLE_EQUAL(this->coneOuterAngle, other.coneOuterAngle) && + TINYGLTF_DOUBLE_EQUAL(this->coneOuterGain, other.coneOuterGain) && + TINYGLTF_DOUBLE_EQUAL(this->maxDistance, other.maxDistance) && + TINYGLTF_DOUBLE_EQUAL(this->refDistance, other.refDistance) && + TINYGLTF_DOUBLE_EQUAL(this->rolloffFactor, other.rolloffFactor); +} +bool OrthographicCamera::operator==(const OrthographicCamera &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + TINYGLTF_DOUBLE_EQUAL(this->xmag, other.xmag) && + TINYGLTF_DOUBLE_EQUAL(this->ymag, other.ymag) && + TINYGLTF_DOUBLE_EQUAL(this->zfar, other.zfar) && + TINYGLTF_DOUBLE_EQUAL(this->znear, other.znear); +} +bool Parameter::operator==(const Parameter &other) const { + if (this->bool_value != other.bool_value || + this->has_number_value != other.has_number_value) + return false; + + if (!TINYGLTF_DOUBLE_EQUAL(this->number_value, other.number_value)) + return false; + + if (this->json_double_value.size() != other.json_double_value.size()) + return false; + for (auto &it : this->json_double_value) { + auto otherIt = other.json_double_value.find(it.first); + if (otherIt == other.json_double_value.end()) return false; + + if (!TINYGLTF_DOUBLE_EQUAL(it.second, otherIt->second)) return false; + } + + if (!Equals(this->number_array, other.number_array)) return false; + + if (this->string_value != other.string_value) return false; + + return true; +} +bool PerspectiveCamera::operator==(const PerspectiveCamera &other) const { + return TINYGLTF_DOUBLE_EQUAL(this->aspectRatio, other.aspectRatio) && + this->extensions == other.extensions && this->extras == other.extras && + TINYGLTF_DOUBLE_EQUAL(this->yfov, other.yfov) && + TINYGLTF_DOUBLE_EQUAL(this->zfar, other.zfar) && + TINYGLTF_DOUBLE_EQUAL(this->znear, other.znear); +} +bool Primitive::operator==(const Primitive &other) const { + return this->attributes == other.attributes && this->extras == other.extras && + this->indices == other.indices && this->material == other.material && + this->mode == other.mode && this->targets == other.targets; +} +bool Sampler::operator==(const Sampler &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->magFilter == other.magFilter && + this->minFilter == other.minFilter && this->name == other.name && + this->wrapS == other.wrapS && this->wrapT == other.wrapT; + + // this->wrapR == other.wrapR +} +bool Scene::operator==(const Scene &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->name == other.name && this->nodes == other.nodes; +} +bool Skin::operator==(const Skin &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->inverseBindMatrices == other.inverseBindMatrices && + this->joints == other.joints && this->name == other.name && + this->skeleton == other.skeleton; +} +bool Texture::operator==(const Texture &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->name == other.name && this->sampler == other.sampler && + this->source == other.source; +} +bool TextureInfo::operator==(const TextureInfo &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->index == other.index && this->texCoord == other.texCoord; +} +bool NormalTextureInfo::operator==(const NormalTextureInfo &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->index == other.index && this->texCoord == other.texCoord && + TINYGLTF_DOUBLE_EQUAL(this->scale, other.scale); +} +bool OcclusionTextureInfo::operator==(const OcclusionTextureInfo &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + this->index == other.index && this->texCoord == other.texCoord && + TINYGLTF_DOUBLE_EQUAL(this->strength, other.strength); +} +bool PbrMetallicRoughness::operator==(const PbrMetallicRoughness &other) const { + return this->extensions == other.extensions && this->extras == other.extras && + (this->baseColorTexture == other.baseColorTexture) && + (this->metallicRoughnessTexture == other.metallicRoughnessTexture) && + Equals(this->baseColorFactor, other.baseColorFactor) && + TINYGLTF_DOUBLE_EQUAL(this->metallicFactor, other.metallicFactor) && + TINYGLTF_DOUBLE_EQUAL(this->roughnessFactor, other.roughnessFactor); +} +bool Value::operator==(const Value &other) const { + return Equals(*this, other); +} + +static void swap4(unsigned int *val) { +#ifdef TINYGLTF_LITTLE_ENDIAN + (void)val; +#else + unsigned int tmp = *val; + unsigned char *dst = reinterpret_cast(val); + unsigned char *src = reinterpret_cast(&tmp); + + dst[0] = src[3]; + dst[1] = src[2]; + dst[2] = src[1]; + dst[3] = src[0]; +#endif +} + +static std::string JoinPath(const std::string &path0, + const std::string &path1) { + if (path0.empty()) { + return path1; + } else { + // check '/' + char lastChar = *path0.rbegin(); + if (lastChar != '/') { + return path0 + std::string("/") + path1; + } else { + return path0 + path1; + } + } +} + +static std::string FindFile(const std::vector &paths, + const std::string &filepath, FsCallbacks *fs) { + if (fs == nullptr || fs->ExpandFilePath == nullptr || + fs->FileExists == nullptr) { + // Error, fs callback[s] missing + return std::string(); + } + + // https://github.com/syoyo/tinygltf/issues/416 + // Use strlen() since std::string's size/length reports the number of elements + // in the buffer, not the length of string(null-terminated) strip + // null-character in the middle of string. + size_t slength = strlen(filepath.c_str()); + if (slength == 0) { + return std::string(); + } + + std::string cleaned_filepath = std::string(filepath.c_str()); + + for (size_t i = 0; i < paths.size(); i++) { + std::string absPath = + fs->ExpandFilePath(JoinPath(paths[i], cleaned_filepath), fs->user_data); + if (fs->FileExists(absPath, fs->user_data)) { + return absPath; + } + } + + return std::string(); +} + +static std::string GetFilePathExtension(const std::string &FileName) { + if (FileName.find_last_of(".") != std::string::npos) + return FileName.substr(FileName.find_last_of(".") + 1); + return ""; +} + +static std::string GetBaseDir(const std::string &filepath) { + if (filepath.find_last_of("/\\") != std::string::npos) + return filepath.substr(0, filepath.find_last_of("/\\")); + return ""; +} + +static std::string GetBaseFilename(const std::string &filepath) { + auto idx = filepath.find_last_of("/\\"); + if (idx != std::string::npos) return filepath.substr(idx + 1); + return filepath; +} + +std::string base64_encode(unsigned char const *, unsigned int len); +std::string base64_decode(std::string const &s); + +/* + base64.cpp and base64.h + + Copyright (C) 2004-2008 René Nyffenegger + + This source code is provided 'as-is', without any express or implied + warranty. In no event will the author be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. + + 3. This notice may not be removed or altered from any source distribution. + + René Nyffenegger rene.nyffenegger@adp-gmbh.ch + +*/ + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wsign-conversion" +#pragma clang diagnostic ignored "-Wconversion" +#endif + +static inline bool is_base64(unsigned char c) { + return (isalnum(c) || (c == '+') || (c == '/')); +} + +std::string base64_encode(unsigned char const *bytes_to_encode, + unsigned int in_len) { + std::string ret; + int i = 0; + int j = 0; + unsigned char char_array_3[3]; + unsigned char char_array_4[4]; + + const char *base64_chars = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; + + while (in_len--) { + char_array_3[i++] = *(bytes_to_encode++); + if (i == 3) { + char_array_4[0] = (char_array_3[0] & 0xfc) >> 2; + char_array_4[1] = + ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4); + char_array_4[2] = + ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6); + char_array_4[3] = char_array_3[2] & 0x3f; + + for (i = 0; (i < 4); i++) ret += base64_chars[char_array_4[i]]; + i = 0; + } + } + + if (i) { + for (j = i; j < 3; j++) char_array_3[j] = '\0'; + + char_array_4[0] = (char_array_3[0] & 0xfc) >> 2; + char_array_4[1] = + ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4); + char_array_4[2] = + ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6); + + for (j = 0; (j < i + 1); j++) ret += base64_chars[char_array_4[j]]; + + while ((i++ < 3)) ret += '='; + } + + return ret; +} + +std::string base64_decode(std::string const &encoded_string) { + int in_len = static_cast(encoded_string.size()); + int i = 0; + int j = 0; + int in_ = 0; + unsigned char char_array_4[4], char_array_3[3]; + std::string ret; + + const std::string base64_chars = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; + + while (in_len-- && (encoded_string[in_] != '=') && + is_base64(encoded_string[in_])) { + char_array_4[i++] = encoded_string[in_]; + in_++; + if (i == 4) { + for (i = 0; i < 4; i++) + char_array_4[i] = + static_cast(base64_chars.find(char_array_4[i])); + + char_array_3[0] = + (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4); + char_array_3[1] = + ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); + char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; + + for (i = 0; (i < 3); i++) ret += char_array_3[i]; + i = 0; + } + } + + if (i) { + for (j = i; j < 4; j++) char_array_4[j] = 0; + + for (j = 0; j < 4; j++) + char_array_4[j] = + static_cast(base64_chars.find(char_array_4[j])); + + char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4); + char_array_3[1] = + ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); + char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; + + for (j = 0; (j < i - 1); j++) ret += char_array_3[j]; + } + + return ret; +} +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +// https://github.com/syoyo/tinygltf/issues/228 +// TODO(syoyo): Use uriparser https://uriparser.github.io/ for stricter Uri +// decoding? +// +// Uri Decoding from DLIB +// http://dlib.net/dlib/server/server_http.cpp.html +// --- dlib begin ------------------------------------------------------------ +// Copyright (C) 2003 Davis E. King (davis@dlib.net) +// License: Boost Software License +// Boost Software License - Version 1.0 - August 17th, 2003 + +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// +namespace dlib { + +inline unsigned char from_hex(unsigned char ch) { + if (ch <= '9' && ch >= '0') + ch -= '0'; + else if (ch <= 'f' && ch >= 'a') + ch -= 'a' - 10; + else if (ch <= 'F' && ch >= 'A') + ch -= 'A' - 10; + else + ch = 0; + return ch; +} + +static const std::string urldecode(const std::string &str) { + using namespace std; + string result; + string::size_type i; + for (i = 0; i < str.size(); ++i) { + if (str[i] == '+') { + result += ' '; + } else if (str[i] == '%' && str.size() > i + 2) { + const unsigned char ch1 = + from_hex(static_cast(str[i + 1])); + const unsigned char ch2 = + from_hex(static_cast(str[i + 2])); + const unsigned char ch = static_cast((ch1 << 4) | ch2); + result += static_cast(ch); + i += 2; + } else { + result += str[i]; + } + } + return result; +} + +} // namespace dlib +// --- dlib end -------------------------------------------------------------- + +bool URIDecode(const std::string &in_uri, std::string *out_uri, + void *user_data) { + (void)user_data; + *out_uri = dlib::urldecode(in_uri); + return true; +} + +static bool LoadExternalFile(std::vector *out, std::string *err, + std::string *warn, const std::string &filename, + const std::string &basedir, bool required, + size_t reqBytes, bool checkSize, + size_t maxFileSize, FsCallbacks *fs) { + if (fs == nullptr || fs->FileExists == nullptr || + fs->ExpandFilePath == nullptr || fs->ReadWholeFile == nullptr) { + // This is a developer error, assert() ? + if (err) { + (*err) += "FS callback[s] not set\n"; + } + return false; + } + + std::string *failMsgOut = required ? err : warn; + + out->clear(); + + std::vector paths; + paths.push_back(basedir); + paths.push_back("."); + + std::string filepath = FindFile(paths, filename, fs); + if (filepath.empty() || filename.empty()) { + if (failMsgOut) { + (*failMsgOut) += "File not found : " + filename + "\n"; + } + return false; + } + + // Check file size + if (fs->GetFileSizeInBytes) { + size_t file_size{0}; + std::string _err; + bool ok = + fs->GetFileSizeInBytes(&file_size, &_err, filepath, fs->user_data); + if (!ok) { + if (_err.size()) { + if (failMsgOut) { + (*failMsgOut) += "Getting file size failed : " + filename + + ", err = " + _err + "\n"; + } + } + return false; + } + + if (file_size > maxFileSize) { + if (failMsgOut) { + (*failMsgOut) += "File size " + std::to_string(file_size) + + " exceeds maximum allowed file size " + + std::to_string(maxFileSize) + " : " + filepath + "\n"; + } + return false; + } + } + + std::vector buf; + std::string fileReadErr; + bool fileRead = + fs->ReadWholeFile(&buf, &fileReadErr, filepath, fs->user_data); + if (!fileRead) { + if (failMsgOut) { + (*failMsgOut) += + "File read error : " + filepath + " : " + fileReadErr + "\n"; + } + return false; + } + + size_t sz = buf.size(); + if (sz == 0) { + if (failMsgOut) { + (*failMsgOut) += "File is empty : " + filepath + "\n"; + } + return false; + } + + if (checkSize) { + if (reqBytes == sz) { + out->swap(buf); + return true; + } else { + std::stringstream ss; + ss << "File size mismatch : " << filepath << ", requestedBytes " + << reqBytes << ", but got " << sz << std::endl; + if (failMsgOut) { + (*failMsgOut) += ss.str(); + } + return false; + } + } + + out->swap(buf); + return true; +} + +void TinyGLTF::SetParseStrictness(ParseStrictness strictness) { + strictness_ = strictness; +} + +void TinyGLTF::SetImageLoader(LoadImageDataFunction func, void *user_data) { + LoadImageData = func; + load_image_user_data_ = user_data; + user_image_loader_ = true; +} + +void TinyGLTF::RemoveImageLoader() { + LoadImageData = +#ifndef TINYGLTF_NO_STB_IMAGE + &tinygltf::LoadImageData; +#else + nullptr; +#endif + + load_image_user_data_ = nullptr; + user_image_loader_ = false; +} + +#ifndef TINYGLTF_NO_STB_IMAGE +bool LoadImageData(Image *image, const int image_idx, std::string *err, + std::string *warn, int req_width, int req_height, + const unsigned char *bytes, int size, void *user_data) { + (void)warn; + + LoadImageDataOption option; + if (user_data) { + option = *reinterpret_cast(user_data); + } + + int w = 0, h = 0, comp = 0, req_comp = 0; + + unsigned char *data = nullptr; + + // preserve_channels true: Use channels stored in the image file. + // false: force 32-bit textures for common Vulkan compatibility. It appears + // that some GPU drivers do not support 24-bit images for Vulkan + req_comp = option.preserve_channels ? 0 : 4; + int bits = 8; + int pixel_type = TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE; + + // It is possible that the image we want to load is a 16bit per channel image + // We are going to attempt to load it as 16bit per channel, and if it worked, + // set the image data accordingly. We are casting the returned pointer into + // unsigned char, because we are representing "bytes". But we are updating + // the Image metadata to signal that this image uses 2 bytes (16bits) per + // channel: + if (stbi_is_16_bit_from_memory(bytes, size)) { + data = reinterpret_cast( + stbi_load_16_from_memory(bytes, size, &w, &h, &comp, req_comp)); + if (data) { + bits = 16; + pixel_type = TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT; + } + } + + // at this point, if data is still NULL, it means that the image wasn't + // 16bit per channel, we are going to load it as a normal 8bit per channel + // image as we used to do: + // if image cannot be decoded, ignore parsing and keep it by its path + // don't break in this case + // FIXME we should only enter this function if the image is embedded. If + // image->uri references + // an image file, it should be left as it is. Image loading should not be + // mandatory (to support other formats) + if (!data) data = stbi_load_from_memory(bytes, size, &w, &h, &comp, req_comp); + if (!data) { + // NOTE: you can use `warn` instead of `err` + if (err) { + (*err) += + "Unknown image format. STB cannot decode image data for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + "\".\n"; + } + return false; + } + + if ((w < 1) || (h < 1)) { + stbi_image_free(data); + if (err) { + (*err) += "Invalid image data for image[" + std::to_string(image_idx) + + "] name = \"" + image->name + "\"\n"; + } + return false; + } + + if (req_width > 0) { + if (req_width != w) { + stbi_image_free(data); + if (err) { + (*err) += "Image width mismatch for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + return false; + } + } + + if (req_height > 0) { + if (req_height != h) { + stbi_image_free(data); + if (err) { + (*err) += "Image height mismatch. for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + return false; + } + } + + if (req_comp != 0) { + // loaded data has `req_comp` channels(components) + comp = req_comp; + } + + image->width = w; + image->height = h; + image->component = comp; + image->bits = bits; + image->pixel_type = pixel_type; + image->image.resize(static_cast(w * h * comp) * size_t(bits / 8)); + std::copy(data, data + w * h * comp * (bits / 8), image->image.begin()); + stbi_image_free(data); + + return true; +} +#endif + +void TinyGLTF::SetImageWriter(WriteImageDataFunction func, void *user_data) { + WriteImageData = func; + write_image_user_data_ = user_data; +} + +#ifndef TINYGLTF_NO_STB_IMAGE_WRITE +static void WriteToMemory_stbi(void *context, void *data, int size) { + std::vector *buffer = + reinterpret_cast *>(context); + + unsigned char *pData = reinterpret_cast(data); + + buffer->insert(buffer->end(), pData, pData + size); +} + +bool WriteImageData(const std::string *basepath, const std::string *filename, + const Image *image, bool embedImages, + const URICallbacks *uri_cb, std::string *out_uri, + void *fsPtr) { + const std::string ext = GetFilePathExtension(*filename); + + // Write image to temporary buffer + std::string header; + std::vector data; + + if (ext == "png") { + if ((image->bits != 8) || + (image->pixel_type != TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE)) { + // Unsupported pixel format + return false; + } + + if (!stbi_write_png_to_func(WriteToMemory_stbi, &data, image->width, + image->height, image->component, + &image->image[0], 0)) { + return false; + } + header = "data:image/png;base64,"; + } else if (ext == "jpg") { + if (!stbi_write_jpg_to_func(WriteToMemory_stbi, &data, image->width, + image->height, image->component, + &image->image[0], 100)) { + return false; + } + header = "data:image/jpeg;base64,"; + } else if (ext == "bmp") { + if (!stbi_write_bmp_to_func(WriteToMemory_stbi, &data, image->width, + image->height, image->component, + &image->image[0])) { + return false; + } + header = "data:image/bmp;base64,"; + } else if (!embedImages) { + // Error: can't output requested format to file + return false; + } + + if (embedImages) { + // Embed base64-encoded image into URI + if (data.size()) { + *out_uri = header + base64_encode(&data[0], + static_cast(data.size())); + } else { + // Throw error? + } + } else { + // Write image to disc + FsCallbacks *fs = reinterpret_cast(fsPtr); + if ((fs != nullptr) && (fs->WriteWholeFile != nullptr)) { + const std::string imagefilepath = JoinPath(*basepath, *filename); + std::string writeError; + if (!fs->WriteWholeFile(&writeError, imagefilepath, data, + fs->user_data)) { + // Could not write image file to disc; Throw error ? + return false; + } + } else { + // Throw error? + } + if (uri_cb->encode) { + if (!uri_cb->encode(*filename, "image", out_uri, uri_cb->user_data)) { + return false; + } + } else { + *out_uri = *filename; + } + } + + return true; +} +#endif + +void TinyGLTF::SetURICallbacks(URICallbacks callbacks) { + assert(callbacks.decode); + if (callbacks.decode) { + uri_cb = callbacks; + } +} + +void TinyGLTF::SetFsCallbacks(FsCallbacks callbacks) { fs = callbacks; } + +#ifdef _WIN32 +static inline std::wstring UTF8ToWchar(const std::string &str) { + int wstr_size = + MultiByteToWideChar(CP_UTF8, 0, str.data(), (int)str.size(), nullptr, 0); + std::wstring wstr((size_t)wstr_size, 0); + MultiByteToWideChar(CP_UTF8, 0, str.data(), (int)str.size(), &wstr[0], + (int)wstr.size()); + return wstr; +} + +static inline std::string WcharToUTF8(const std::wstring &wstr) { + int str_size = WideCharToMultiByte(CP_UTF8, 0, wstr.data(), (int)wstr.size(), + nullptr, 0, nullptr, nullptr); + std::string str((size_t)str_size, 0); + WideCharToMultiByte(CP_UTF8, 0, wstr.data(), (int)wstr.size(), &str[0], + (int)str.size(), nullptr, nullptr); + return str; +} +#endif + +#ifndef TINYGLTF_NO_FS +// Default implementations of filesystem functions + +bool FileExists(const std::string &abs_filename, void *) { + bool ret; +#ifdef TINYGLTF_ANDROID_LOAD_FROM_ASSETS + if (asset_manager) { + AAsset *asset = AAssetManager_open(asset_manager, abs_filename.c_str(), + AASSET_MODE_STREAMING); + if (!asset) { + return false; + } + AAsset_close(asset); + ret = true; + } else { + return false; + } +#else +#ifdef _WIN32 +#if defined(_MSC_VER) || defined(_LIBCPP_VERSION) + + // First check if a file is a directory. + DWORD result = GetFileAttributesW(UTF8ToWchar(abs_filename).c_str()); + if (result == INVALID_FILE_ATTRIBUTES) { + return false; + } + if (result & FILE_ATTRIBUTE_DIRECTORY) { + return false; + } + + FILE *fp = nullptr; + errno_t err = _wfopen_s(&fp, UTF8ToWchar(abs_filename).c_str(), L"rb"); + if (err != 0) { + return false; + } +#elif defined(__GLIBCXX__) + FILE *fp = fopen(abs_filename.c_str(), "rb"); + if (!fp) { + return false; + } +#else + // TODO: is_directory check + FILE *fp = nullptr; + errno_t err = fopen_s(&fp, abs_filename.c_str(), "rb"); + if (err != 0) { + return false; + } +#endif + +#else + struct stat sb; + if (stat(abs_filename.c_str(), &sb)) { + return false; + } + if (S_ISDIR(sb.st_mode)) { + return false; + } + + FILE *fp = fopen(abs_filename.c_str(), "rb"); +#endif + if (fp) { + ret = true; + fclose(fp); + } else { + ret = false; + } +#endif + + return ret; +} + +std::string ExpandFilePath(const std::string &filepath, void *) { + // https://github.com/syoyo/tinygltf/issues/368 + // + // No file path expansion in built-in FS function anymore, since glTF URI + // should not contain tilde('~') and environment variables, and for security + // reason(`wordexp`). + // + // Users need to supply `base_dir`(in `LoadASCIIFromString`, + // `LoadBinaryFromMemory`) in expanded absolute path. + + return filepath; + +#if 0 +#ifdef _WIN32 + // Assume input `filepath` is encoded in UTF-8 + std::wstring wfilepath = UTF8ToWchar(filepath); + DWORD wlen = ExpandEnvironmentStringsW(wfilepath.c_str(), nullptr, 0); + wchar_t *wstr = new wchar_t[wlen]; + ExpandEnvironmentStringsW(wfilepath.c_str(), wstr, wlen); + + std::wstring ws(wstr); + delete[] wstr; + return WcharToUTF8(ws); + +#else + +#if defined(TARGET_OS_IPHONE) || defined(TARGET_IPHONE_SIMULATOR) || \ + defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__OpenBSD__) + // no expansion + std::string s = filepath; +#else + std::string s; + wordexp_t p; + + if (filepath.empty()) { + return ""; + } + + // Quote the string to keep any spaces in filepath intact. + std::string quoted_path = "\"" + filepath + "\""; + // char** w; + int ret = wordexp(quoted_path.c_str(), &p, 0); + if (ret) { + // err + s = filepath; + return s; + } + + // Use first element only. + if (p.we_wordv) { + s = std::string(p.we_wordv[0]); + wordfree(&p); + } else { + s = filepath; + } + +#endif + + return s; +#endif +#endif +} + +bool GetFileSizeInBytes(size_t *filesize_out, std::string *err, + const std::string &filepath, void *userdata) { + (void)userdata; + +#ifdef TINYGLTF_ANDROID_LOAD_FROM_ASSETS + if (asset_manager) { + AAsset *asset = AAssetManager_open(asset_manager, filepath.c_str(), + AASSET_MODE_STREAMING); + if (!asset) { + if (err) { + (*err) += "File open error : " + filepath + "\n"; + } + return false; + } + size_t size = AAsset_getLength(asset); + + if (size == 0) { + if (err) { + (*err) += "Invalid file size : " + filepath + + " (does the path point to a directory?)"; + } + return false; + } + + return true; + } else { + if (err) { + (*err) += "No asset manager specified : " + filepath + "\n"; + } + return false; + } +#else +#ifdef _WIN32 +#if defined(__GLIBCXX__) // mingw + int file_descriptor = + _wopen(UTF8ToWchar(filepath).c_str(), _O_RDONLY | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf(file_descriptor, std::ios_base::in); + std::istream f(&wfile_buf); +#elif defined(_MSC_VER) || defined(_LIBCPP_VERSION) + // For libcxx, assume _LIBCPP_HAS_OPEN_WITH_WCHAR is defined to accept + // `wchar_t *` + std::ifstream f(UTF8ToWchar(filepath).c_str(), std::ifstream::binary); +#else + // Unknown compiler/runtime + std::ifstream f(filepath.c_str(), std::ifstream::binary); +#endif +#else + std::ifstream f(filepath.c_str(), std::ifstream::binary); +#endif + if (!f) { + if (err) { + (*err) += "File open error : " + filepath + "\n"; + } + return false; + } + + // For directory(and pipe?), peek() will fail(Posix gnustl/libc++ only) + f.peek(); + if (!f) { + if (err) { + (*err) += + "File read error. Maybe empty file or invalid file : " + filepath + + "\n"; + } + return false; + } + + f.seekg(0, f.end); + size_t sz = static_cast(f.tellg()); + + // std::cout << "sz = " << sz << "\n"; + f.seekg(0, f.beg); + + if (int64_t(sz) < 0) { + if (err) { + (*err) += "Invalid file size : " + filepath + + " (does the path point to a directory?)"; + } + return false; + } else if (sz == 0) { + if (err) { + (*err) += "File is empty : " + filepath + "\n"; + } + return false; + } else if (sz >= (std::numeric_limits::max)()) { + if (err) { + (*err) += "Invalid file size : " + filepath + "\n"; + } + return false; + } + + (*filesize_out) = sz; + return true; +#endif +} + +bool ReadWholeFile(std::vector *out, std::string *err, + const std::string &filepath, void *) { +#ifdef TINYGLTF_ANDROID_LOAD_FROM_ASSETS + if (asset_manager) { + AAsset *asset = AAssetManager_open(asset_manager, filepath.c_str(), + AASSET_MODE_STREAMING); + if (!asset) { + if (err) { + (*err) += "File open error : " + filepath + "\n"; + } + return false; + } + size_t size = AAsset_getLength(asset); + if (size == 0) { + if (err) { + (*err) += "Invalid file size : " + filepath + + " (does the path point to a directory?)"; + } + return false; + } + out->resize(size); + AAsset_read(asset, reinterpret_cast(&out->at(0)), size); + AAsset_close(asset); + return true; + } else { + if (err) { + (*err) += "No asset manager specified : " + filepath + "\n"; + } + return false; + } +#else +#ifdef _WIN32 +#if defined(__GLIBCXX__) // mingw + int file_descriptor = + _wopen(UTF8ToWchar(filepath).c_str(), _O_RDONLY | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf(file_descriptor, std::ios_base::in); + std::istream f(&wfile_buf); +#elif defined(_MSC_VER) || defined(_LIBCPP_VERSION) + // For libcxx, assume _LIBCPP_HAS_OPEN_WITH_WCHAR is defined to accept + // `wchar_t *` + std::ifstream f(UTF8ToWchar(filepath).c_str(), std::ifstream::binary); +#else + // Unknown compiler/runtime + std::ifstream f(filepath.c_str(), std::ifstream::binary); +#endif +#else + std::ifstream f(filepath.c_str(), std::ifstream::binary); +#endif + if (!f) { + if (err) { + (*err) += "File open error : " + filepath + "\n"; + } + return false; + } + + // For directory(and pipe?), peek() will fail(Posix gnustl/libc++ only) + f.peek(); + if (!f) { + if (err) { + (*err) += + "File read error. Maybe empty file or invalid file : " + filepath + + "\n"; + } + return false; + } + + f.seekg(0, f.end); + size_t sz = static_cast(f.tellg()); + + // std::cout << "sz = " << sz << "\n"; + f.seekg(0, f.beg); + + if (int64_t(sz) < 0) { + if (err) { + (*err) += "Invalid file size : " + filepath + + " (does the path point to a directory?)"; + } + return false; + } else if (sz == 0) { + if (err) { + (*err) += "File is empty : " + filepath + "\n"; + } + return false; + } else if (sz >= (std::numeric_limits::max)()) { + if (err) { + (*err) += "Invalid file size : " + filepath + "\n"; + } + return false; + } + + out->resize(sz); + f.read(reinterpret_cast(&out->at(0)), + static_cast(sz)); + + return true; +#endif +} + +bool WriteWholeFile(std::string *err, const std::string &filepath, + const std::vector &contents, void *) { +#ifdef _WIN32 +#if defined(__GLIBCXX__) // mingw + int file_descriptor = _wopen(UTF8ToWchar(filepath).c_str(), + _O_CREAT | _O_WRONLY | _O_TRUNC | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf( + file_descriptor, std::ios_base::out | std::ios_base::binary); + std::ostream f(&wfile_buf); +#elif defined(_MSC_VER) + std::ofstream f(UTF8ToWchar(filepath).c_str(), std::ofstream::binary); +#else // clang? + std::ofstream f(filepath.c_str(), std::ofstream::binary); +#endif +#else + std::ofstream f(filepath.c_str(), std::ofstream::binary); +#endif + if (!f) { + if (err) { + (*err) += "File open error for writing : " + filepath + "\n"; + } + return false; + } + + f.write(reinterpret_cast(&contents.at(0)), + static_cast(contents.size())); + if (!f) { + if (err) { + (*err) += "File write error: " + filepath + "\n"; + } + return false; + } + + return true; +} + +#endif // TINYGLTF_NO_FS + +static std::string MimeToExt(const std::string &mimeType) { + if (mimeType == "image/jpeg") { + return "jpg"; + } else if (mimeType == "image/png") { + return "png"; + } else if (mimeType == "image/bmp") { + return "bmp"; + } else if (mimeType == "image/gif") { + return "gif"; + } + + return ""; +} + +static bool UpdateImageObject(const Image &image, std::string &baseDir, + int index, bool embedImages, + const URICallbacks *uri_cb, + WriteImageDataFunction *WriteImageData, + void *user_data, std::string *out_uri) { + std::string filename; + std::string ext; + // If image has uri, use it as a filename + if (image.uri.size()) { + std::string decoded_uri; + if (!uri_cb->decode(image.uri, &decoded_uri, uri_cb->user_data)) { + // A decode failure results in a failure to write the gltf. + return false; + } + filename = GetBaseFilename(decoded_uri); + ext = GetFilePathExtension(filename); + } else if (image.bufferView != -1) { + // If there's no URI and the data exists in a buffer, + // don't change properties or write images + } else if (image.name.size()) { + ext = MimeToExt(image.mimeType); + // Otherwise use name as filename + filename = image.name + "." + ext; + } else { + ext = MimeToExt(image.mimeType); + // Fallback to index of image as filename + filename = std::to_string(index) + "." + ext; + } + + // If callback is set and image data exists, modify image data object. If + // image data does not exist, this is not considered a failure and the + // original uri should be maintained. + bool imageWritten = false; + if (*WriteImageData != nullptr && !filename.empty() && !image.image.empty()) { + imageWritten = (*WriteImageData)(&baseDir, &filename, &image, embedImages, + uri_cb, out_uri, user_data); + if (!imageWritten) { + return false; + } + } + + // Use the original uri if the image was not written. + if (!imageWritten) { + *out_uri = image.uri; + } + + return true; +} + +bool IsDataURI(const std::string &in) { + std::string header = "data:application/octet-stream;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:image/jpeg;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:image/png;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:image/bmp;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:image/gif;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:text/plain;base64,"; + if (in.find(header) == 0) { + return true; + } + + header = "data:application/gltf-buffer;base64,"; + if (in.find(header) == 0) { + return true; + } + + return false; +} + +bool DecodeDataURI(std::vector *out, std::string &mime_type, + const std::string &in, size_t reqBytes, bool checkSize) { + std::string header = "data:application/octet-stream;base64,"; + std::string data; + if (in.find(header) == 0) { + data = base64_decode(in.substr(header.size())); // cut mime string. + } + + if (data.empty()) { + header = "data:image/jpeg;base64,"; + if (in.find(header) == 0) { + mime_type = "image/jpeg"; + data = base64_decode(in.substr(header.size())); // cut mime string. + } + } + + if (data.empty()) { + header = "data:image/png;base64,"; + if (in.find(header) == 0) { + mime_type = "image/png"; + data = base64_decode(in.substr(header.size())); // cut mime string. + } + } + + if (data.empty()) { + header = "data:image/bmp;base64,"; + if (in.find(header) == 0) { + mime_type = "image/bmp"; + data = base64_decode(in.substr(header.size())); // cut mime string. + } + } + + if (data.empty()) { + header = "data:image/gif;base64,"; + if (in.find(header) == 0) { + mime_type = "image/gif"; + data = base64_decode(in.substr(header.size())); // cut mime string. + } + } + + if (data.empty()) { + header = "data:text/plain;base64,"; + if (in.find(header) == 0) { + mime_type = "text/plain"; + data = base64_decode(in.substr(header.size())); + } + } + + if (data.empty()) { + header = "data:application/gltf-buffer;base64,"; + if (in.find(header) == 0) { + data = base64_decode(in.substr(header.size())); + } + } + + // TODO(syoyo): Allow empty buffer? #229 + if (data.empty()) { + return false; + } + + if (checkSize) { + if (data.size() != reqBytes) { + return false; + } + out->resize(reqBytes); + } else { + out->resize(data.size()); + } + std::copy(data.begin(), data.end(), out->begin()); + return true; +} + +namespace detail { +bool GetInt(const detail::json &o, int &val) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (!o.IsDouble()) { + if (o.IsInt()) { + val = o.GetInt(); + return true; + } else if (o.IsUint()) { + val = static_cast(o.GetUint()); + return true; + } else if (o.IsInt64()) { + val = static_cast(o.GetInt64()); + return true; + } else if (o.IsUint64()) { + val = static_cast(o.GetUint64()); + return true; + } + } + + return false; +#else + auto type = o.type(); + + if ((type == detail::json::value_t::number_integer) || + (type == detail::json::value_t::number_unsigned)) { + val = static_cast(o.get()); + return true; + } + + return false; +#endif +} + +#ifdef TINYGLTF_USE_RAPIDJSON +bool GetDouble(const detail::json &o, double &val) { + if (o.IsDouble()) { + val = o.GetDouble(); + return true; + } + + return false; +} +#endif + +bool GetNumber(const detail::json &o, double &val) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (o.IsNumber()) { + val = o.GetDouble(); + return true; + } + + return false; +#else + if (o.is_number()) { + val = o.get(); + return true; + } + + return false; +#endif +} + +bool GetString(const detail::json &o, std::string &val) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (o.IsString()) { + val = o.GetString(); + return true; + } + + return false; +#else + if (o.type() == detail::json::value_t::string) { + val = o.get(); + return true; + } + + return false; +#endif +} + +bool IsArray(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.IsArray(); +#else + return o.is_array(); +#endif +} + +detail::json_const_array_iterator ArrayBegin(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.Begin(); +#else + return o.begin(); +#endif +} + +detail::json_const_array_iterator ArrayEnd(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.End(); +#else + return o.end(); +#endif +} + +bool IsObject(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.IsObject(); +#else + return o.is_object(); +#endif +} + +detail::json_const_iterator ObjectBegin(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.MemberBegin(); +#else + return o.begin(); +#endif +} + +detail::json_const_iterator ObjectEnd(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.MemberEnd(); +#else + return o.end(); +#endif +} + +// Making this a const char* results in a pointer to a temporary when +// TINYGLTF_USE_RAPIDJSON is off. +std::string GetKey(detail::json_const_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + return it->name.GetString(); +#else + return it.key().c_str(); +#endif +} + +bool FindMember(const detail::json &o, const char *member, + detail::json_const_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (!o.IsObject()) { + return false; + } + it = o.FindMember(member); + return it != o.MemberEnd(); +#else + it = o.find(member); + return it != o.end(); +#endif +} + +bool FindMember(detail::json &o, const char *member, + detail::json_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (!o.IsObject()) { + return false; + } + it = o.FindMember(member); + return it != o.MemberEnd(); +#else + it = o.find(member); + return it != o.end(); +#endif +} + +void Erase(detail::json &o, detail::json_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + o.EraseMember(it); +#else + o.erase(it); +#endif +} + +bool IsEmpty(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.ObjectEmpty(); +#else + return o.empty(); +#endif +} + +const detail::json &GetValue(detail::json_const_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + return it->value; +#else + return it.value(); +#endif +} + +detail::json &GetValue(detail::json_iterator &it) { +#ifdef TINYGLTF_USE_RAPIDJSON + return it->value; +#else + return it.value(); +#endif +} + +std::string JsonToString(const detail::json &o, int spacing = -1) { +#ifdef TINYGLTF_USE_RAPIDJSON + using namespace rapidjson; + StringBuffer buffer; + if (spacing == -1) { + Writer writer(buffer); + // TODO: Better error handling. + // https://github.com/syoyo/tinygltf/issues/332 + if (!o.Accept(writer)) { + return "tiny_gltf::JsonToString() failed rapidjson conversion"; + } + } else { + PrettyWriter writer(buffer); + writer.SetIndent(' ', uint32_t(spacing)); + if (!o.Accept(writer)) { + return "tiny_gltf::JsonToString() failed rapidjson conversion"; + } + } + return buffer.GetString(); +#else + return o.dump(spacing); +#endif +} + +} // namespace detail + +static bool ParseJsonAsValue(Value *ret, const detail::json &o) { + Value val{}; +#ifdef TINYGLTF_USE_RAPIDJSON + using rapidjson::Type; + switch (o.GetType()) { + case Type::kObjectType: { + Value::Object value_object; + for (auto it = o.MemberBegin(); it != o.MemberEnd(); ++it) { + Value entry; + ParseJsonAsValue(&entry, it->value); + if (entry.Type() != NULL_TYPE) + value_object.emplace(detail::GetKey(it), std::move(entry)); + } + if (value_object.size() > 0) val = Value(std::move(value_object)); + } break; + case Type::kArrayType: { + Value::Array value_array; + value_array.reserve(o.Size()); + for (auto it = o.Begin(); it != o.End(); ++it) { + Value entry; + ParseJsonAsValue(&entry, *it); + if (entry.Type() != NULL_TYPE) + value_array.emplace_back(std::move(entry)); + } + if (value_array.size() > 0) val = Value(std::move(value_array)); + } break; + case Type::kStringType: + val = Value(std::string(o.GetString())); + break; + case Type::kFalseType: + case Type::kTrueType: + val = Value(o.GetBool()); + break; + case Type::kNumberType: + if (!o.IsDouble()) { + int i = 0; + detail::GetInt(o, i); + val = Value(i); + } else { + double d = 0.0; + detail::GetDouble(o, d); + val = Value(d); + } + break; + case Type::kNullType: + break; + // all types are covered, so no `case default` + } +#else + switch (o.type()) { + case detail::json::value_t::object: { + Value::Object value_object; + for (auto it = o.begin(); it != o.end(); it++) { + Value entry; + ParseJsonAsValue(&entry, it.value()); + if (entry.Type() != NULL_TYPE) + value_object.emplace(it.key(), std::move(entry)); + } + if (value_object.size() > 0) val = Value(std::move(value_object)); + } break; + case detail::json::value_t::array: { + Value::Array value_array; + value_array.reserve(o.size()); + for (auto it = o.begin(); it != o.end(); it++) { + Value entry; + ParseJsonAsValue(&entry, it.value()); + if (entry.Type() != NULL_TYPE) + value_array.emplace_back(std::move(entry)); + } + if (value_array.size() > 0) val = Value(std::move(value_array)); + } break; + case detail::json::value_t::string: + val = Value(o.get()); + break; + case detail::json::value_t::boolean: + val = Value(o.get()); + break; + case detail::json::value_t::number_integer: + case detail::json::value_t::number_unsigned: + val = Value(static_cast(o.get())); + break; + case detail::json::value_t::number_float: + val = Value(o.get()); + break; + case detail::json::value_t::null: + case detail::json::value_t::discarded: + case detail::json::value_t::binary: + // default: + break; + } +#endif + const bool isNotNull = val.Type() != NULL_TYPE; + + if (ret) *ret = std::move(val); + + return isNotNull; +} + +static bool ParseExtrasProperty(Value *ret, const detail::json &o) { + detail::json_const_iterator it; + if (!detail::FindMember(o, "extras", it)) { + return false; + } + + return ParseJsonAsValue(ret, detail::GetValue(it)); +} + +static bool ParseBooleanProperty(bool *ret, std::string *err, + const detail::json &o, + const std::string &property, + const bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + auto &value = detail::GetValue(it); + + bool isBoolean; + bool boolValue = false; +#ifdef TINYGLTF_USE_RAPIDJSON + isBoolean = value.IsBool(); + if (isBoolean) { + boolValue = value.GetBool(); + } +#else + isBoolean = value.is_boolean(); + if (isBoolean) { + boolValue = value.get(); + } +#endif + if (!isBoolean) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a bool type.\n"; + } + } + return false; + } + + if (ret) { + (*ret) = boolValue; + } + + return true; +} + +static bool ParseIntegerProperty(int *ret, std::string *err, + const detail::json &o, + const std::string &property, + const bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + int intValue; + bool isInt = detail::GetInt(detail::GetValue(it), intValue); + if (!isInt) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not an integer type.\n"; + } + } + return false; + } + + if (ret) { + (*ret) = intValue; + } + + return true; +} + +static bool ParseUnsignedProperty(size_t *ret, std::string *err, + const detail::json &o, + const std::string &property, + const bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + auto &value = detail::GetValue(it); + + size_t uValue = 0; + bool isUValue; +#ifdef TINYGLTF_USE_RAPIDJSON + isUValue = false; + if (value.IsUint()) { + uValue = value.GetUint(); + isUValue = true; + } else if (value.IsUint64()) { + uValue = value.GetUint64(); + isUValue = true; + } +#else + isUValue = value.is_number_unsigned(); + if (isUValue) { + uValue = value.get(); + } +#endif + if (!isUValue) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a positive integer.\n"; + } + } + return false; + } + + if (ret) { + (*ret) = uValue; + } + + return true; +} + +static bool ParseNumberProperty(double *ret, std::string *err, + const detail::json &o, + const std::string &property, + const bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + double numberValue; + bool isNumber = detail::GetNumber(detail::GetValue(it), numberValue); + + if (!isNumber) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a number type.\n"; + } + } + return false; + } + + if (ret) { + (*ret) = numberValue; + } + + return true; +} + +static bool ParseNumberArrayProperty(std::vector *ret, std::string *err, + const detail::json &o, + const std::string &property, bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + if (!detail::IsArray(detail::GetValue(it))) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not an array"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + ret->clear(); + auto end = detail::ArrayEnd(detail::GetValue(it)); + for (auto i = detail::ArrayBegin(detail::GetValue(it)); i != end; ++i) { + double numberValue; + const bool isNumber = detail::GetNumber(*i, numberValue); + if (!isNumber) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a number.\n"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + ret->push_back(numberValue); + } + + return true; +} + +static bool ParseIntegerArrayProperty(std::vector *ret, std::string *err, + const detail::json &o, + const std::string &property, + bool required, + const std::string &parent_node = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + if (!detail::IsArray(detail::GetValue(it))) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not an array"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + + ret->clear(); + auto end = detail::ArrayEnd(detail::GetValue(it)); + for (auto i = detail::ArrayBegin(detail::GetValue(it)); i != end; ++i) { + int numberValue; + bool isNumber = detail::GetInt(*i, numberValue); + if (!isNumber) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not an integer type.\n"; + if (!parent_node.empty()) { + (*err) += " in " + parent_node; + } + (*err) += ".\n"; + } + } + return false; + } + ret->push_back(numberValue); + } + + return true; +} + +static bool ParseStringProperty( + std::string *ret, std::string *err, const detail::json &o, + const std::string &property, bool required, + const std::string &parent_node = std::string()) { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing"; + if (parent_node.empty()) { + (*err) += ".\n"; + } else { + (*err) += " in `" + parent_node + "'.\n"; + } + } + } + return false; + } + + std::string strValue; + if (!detail::GetString(detail::GetValue(it), strValue)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a string type.\n"; + } + } + return false; + } + + if (ret) { + (*ret) = std::move(strValue); + } + + return true; +} + +static bool ParseStringIntegerProperty(std::map *ret, + std::string *err, const detail::json &o, + const std::string &property, + bool required, + const std::string &parent = "") { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + if (!parent.empty()) { + (*err) += + "'" + property + "' property is missing in " + parent + ".\n"; + } else { + (*err) += "'" + property + "' property is missing.\n"; + } + } + } + return false; + } + + const detail::json &dict = detail::GetValue(it); + + // Make sure we are dealing with an object / dictionary. + if (!detail::IsObject(dict)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not an object.\n"; + } + } + return false; + } + + ret->clear(); + + detail::json_const_iterator dictIt(detail::ObjectBegin(dict)); + detail::json_const_iterator dictItEnd(detail::ObjectEnd(dict)); + + for (; dictIt != dictItEnd; ++dictIt) { + int intVal; + if (!detail::GetInt(detail::GetValue(dictIt), intVal)) { + if (required) { + if (err) { + (*err) += "'" + property + "' value is not an integer type.\n"; + } + } + return false; + } + + // Insert into the list. + (*ret)[detail::GetKey(dictIt)] = intVal; + } + return true; +} + +static bool ParseJSONProperty(std::map *ret, + std::string *err, const detail::json &o, + const std::string &property, bool required) { + detail::json_const_iterator it; + if (!detail::FindMember(o, property.c_str(), it)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is missing. \n'"; + } + } + return false; + } + + const detail::json &obj = detail::GetValue(it); + + if (!detail::IsObject(obj)) { + if (required) { + if (err) { + (*err) += "'" + property + "' property is not a JSON object.\n"; + } + } + return false; + } + + ret->clear(); + + detail::json_const_iterator it2(detail::ObjectBegin(obj)); + detail::json_const_iterator itEnd(detail::ObjectEnd(obj)); + for (; it2 != itEnd; ++it2) { + double numVal; + if (detail::GetNumber(detail::GetValue(it2), numVal)) + ret->emplace(std::string(detail::GetKey(it2)), numVal); + } + + return true; +} + +static bool ParseParameterProperty(Parameter *param, std::string *err, + const detail::json &o, + const std::string &prop, bool required) { + // A parameter value can either be a string or an array of either a boolean or + // a number. Booleans of any kind aren't supported here. Granted, it + // complicates the Parameter structure and breaks it semantically in the sense + // that the client probably works off the assumption that if the string is + // empty the vector is used, etc. Would a tagged union work? + if (ParseStringProperty(¶m->string_value, err, o, prop, false)) { + // Found string property. + return true; + } else if (ParseNumberArrayProperty(¶m->number_array, err, o, prop, + false)) { + // Found a number array. + return true; + } else if (ParseNumberProperty(¶m->number_value, err, o, prop, false)) { + param->has_number_value = true; + return true; + } else if (ParseJSONProperty(¶m->json_double_value, err, o, prop, + false)) { + return true; + } else if (ParseBooleanProperty(¶m->bool_value, err, o, prop, false)) { + return true; + } else { + if (required) { + if (err) { + (*err) += "parameter must be a string or number / number array.\n"; + } + } + return false; + } +} + +static bool ParseExtensionsProperty(ExtensionMap *ret, std::string *err, + const detail::json &o) { + (void)err; + + detail::json_const_iterator it; + if (!detail::FindMember(o, "extensions", it)) { + return false; + } + + auto &obj = detail::GetValue(it); + if (!detail::IsObject(obj)) { + return false; + } + ExtensionMap extensions; + detail::json_const_iterator extIt = + detail::ObjectBegin(obj); // it.value().begin(); + detail::json_const_iterator extEnd = detail::ObjectEnd(obj); + for (; extIt != extEnd; ++extIt) { + auto &itObj = detail::GetValue(extIt); + if (!detail::IsObject(itObj)) continue; + std::string key(detail::GetKey(extIt)); + if (!ParseJsonAsValue(&extensions[key], itObj)) { + if (!key.empty()) { + // create empty object so that an extension object is still of type + // object + extensions[key] = Value{Value::Object{}}; + } + } + } + if (ret) { + (*ret) = std::move(extensions); + } + return true; +} + +template +static bool ParseExtrasAndExtensions(GltfType *target, std::string *err, + const detail::json &o, + bool store_json_strings) { + ParseExtensionsProperty(&target->extensions, err, o); + ParseExtrasProperty(&target->extras, o); + + if (store_json_strings) { + { + detail::json_const_iterator it; + if (detail::FindMember(o, "extensions", it)) { + target->extensions_json_string = + detail::JsonToString(detail::GetValue(it)); + } + } + { + detail::json_const_iterator it; + if (detail::FindMember(o, "extras", it)) { + target->extras_json_string = detail::JsonToString(detail::GetValue(it)); + } + } + } + return true; +} + +static bool ParseAsset(Asset *asset, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&asset->version, err, o, "version", true, "Asset"); + ParseStringProperty(&asset->generator, err, o, "generator", false, "Asset"); + ParseStringProperty(&asset->minVersion, err, o, "minVersion", false, "Asset"); + ParseStringProperty(&asset->copyright, err, o, "copyright", false, "Asset"); + + ParseExtrasAndExtensions(asset, err, o, + store_original_json_for_extras_and_extensions); + return true; +} + +static bool ParseImage(Image *image, const int image_idx, std::string *err, + std::string *warn, const detail::json &o, + bool store_original_json_for_extras_and_extensions, + const std::string &basedir, const size_t max_file_size, + FsCallbacks *fs, const URICallbacks *uri_cb, + LoadImageDataFunction *LoadImageData = nullptr, + void *load_image_user_data = nullptr) { + // A glTF image must either reference a bufferView or an image uri + + // schema says oneOf [`bufferView`, `uri`] + // TODO(syoyo): Check the type of each parameters. + detail::json_const_iterator it; + bool hasBufferView = detail::FindMember(o, "bufferView", it); + bool hasURI = detail::FindMember(o, "uri", it); + + ParseStringProperty(&image->name, err, o, "name", false); + + if (hasBufferView && hasURI) { + // Should not both defined. + if (err) { + (*err) += + "Only one of `bufferView` or `uri` should be defined, but both are " + "defined for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + "\"\n"; + } + return false; + } + + if (!hasBufferView && !hasURI) { + if (err) { + (*err) += "Neither required `bufferView` nor `uri` defined for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + return false; + } + + ParseExtrasAndExtensions(image, err, o, + store_original_json_for_extras_and_extensions); + + if (hasBufferView) { + int bufferView = -1; + if (!ParseIntegerProperty(&bufferView, err, o, "bufferView", true)) { + if (err) { + (*err) += "Failed to parse `bufferView` for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + return false; + } + + std::string mime_type; + ParseStringProperty(&mime_type, err, o, "mimeType", false); + + int width = 0; + ParseIntegerProperty(&width, err, o, "width", false); + + int height = 0; + ParseIntegerProperty(&height, err, o, "height", false); + + // Just only save some information here. Loading actual image data from + // bufferView is done after this `ParseImage` function. + image->bufferView = bufferView; + image->mimeType = mime_type; + image->width = width; + image->height = height; + + return true; + } + + // Parse URI & Load image data. + + std::string uri; + std::string tmp_err; + if (!ParseStringProperty(&uri, &tmp_err, o, "uri", true)) { + if (err) { + (*err) += "Failed to parse `uri` for image[" + std::to_string(image_idx) + + "] name = \"" + image->name + "\".\n"; + } + return false; + } + + std::vector img; + + if (IsDataURI(uri)) { + if (!DecodeDataURI(&img, image->mimeType, uri, 0, false)) { + if (err) { + (*err) += "Failed to decode 'uri' for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + return false; + } + } else { + // Assume external file + // Keep texture path (for textures that cannot be decoded) + image->uri = uri; +#ifdef TINYGLTF_NO_EXTERNAL_IMAGE + return true; +#else + std::string decoded_uri; + if (!uri_cb->decode(uri, &decoded_uri, uri_cb->user_data)) { + if (warn) { + (*warn) += "Failed to decode 'uri' for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\"\n"; + } + + // Image loading failure is not critical to overall gltf loading. + return true; + } + + if (!LoadExternalFile(&img, err, warn, decoded_uri, basedir, + /* required */ false, /* required bytes */ 0, + /* checksize */ false, + /* max file size */ max_file_size, fs)) { + if (warn) { + (*warn) += "Failed to load external 'uri' for image[" + + std::to_string(image_idx) + "] name = \"" + decoded_uri + + "\"\n"; + } + // If the image cannot be loaded, keep uri as image->uri. + return true; + } + + if (img.empty()) { + if (warn) { + (*warn) += "Image data is empty for image[" + + std::to_string(image_idx) + "] name = \"" + image->name + + "\" \n"; + } + return false; + } +#endif + } + + if (*LoadImageData == nullptr) { + if (err) { + (*err) += "No LoadImageData callback specified.\n"; + } + return false; + } + return (*LoadImageData)(image, image_idx, err, warn, 0, 0, &img.at(0), + static_cast(img.size()), load_image_user_data); +} + +static bool ParseTexture(Texture *texture, std::string *err, + const detail::json &o, + bool store_original_json_for_extras_and_extensions, + const std::string &basedir) { + (void)basedir; + int sampler = -1; + int source = -1; + ParseIntegerProperty(&sampler, err, o, "sampler", false); + + ParseIntegerProperty(&source, err, o, "source", false); + + texture->sampler = sampler; + texture->source = source; + + ParseExtrasAndExtensions(texture, err, o, + store_original_json_for_extras_and_extensions); + + ParseStringProperty(&texture->name, err, o, "name", false); + + return true; +} + +static bool ParseTextureInfo( + TextureInfo *texinfo, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (texinfo == nullptr) { + return false; + } + + if (!ParseIntegerProperty(&texinfo->index, err, o, "index", + /* required */ true, "TextureInfo")) { + return false; + } + + ParseIntegerProperty(&texinfo->texCoord, err, o, "texCoord", false); + + ParseExtrasAndExtensions(texinfo, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseNormalTextureInfo( + NormalTextureInfo *texinfo, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (texinfo == nullptr) { + return false; + } + + if (!ParseIntegerProperty(&texinfo->index, err, o, "index", + /* required */ true, "NormalTextureInfo")) { + return false; + } + + ParseIntegerProperty(&texinfo->texCoord, err, o, "texCoord", false); + ParseNumberProperty(&texinfo->scale, err, o, "scale", false); + + ParseExtrasAndExtensions(texinfo, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseOcclusionTextureInfo( + OcclusionTextureInfo *texinfo, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (texinfo == nullptr) { + return false; + } + + if (!ParseIntegerProperty(&texinfo->index, err, o, "index", + /* required */ true, "NormalTextureInfo")) { + return false; + } + + ParseIntegerProperty(&texinfo->texCoord, err, o, "texCoord", false); + ParseNumberProperty(&texinfo->strength, err, o, "strength", false); + + ParseExtrasAndExtensions(texinfo, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseBuffer(Buffer *buffer, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions, + FsCallbacks *fs, const URICallbacks *uri_cb, + const std::string &basedir, + const size_t max_buffer_size, bool is_binary = false, + const unsigned char *bin_data = nullptr, + size_t bin_size = 0) { + size_t byteLength; + if (!ParseUnsignedProperty(&byteLength, err, o, "byteLength", true, + "Buffer")) { + return false; + } + + // In glTF 2.0, uri is not mandatory anymore + buffer->uri.clear(); + ParseStringProperty(&buffer->uri, err, o, "uri", false, "Buffer"); + + // having an empty uri for a non embedded image should not be valid + if (!is_binary && buffer->uri.empty()) { + if (err) { + (*err) += "'uri' is missing from non binary glTF file buffer.\n"; + } + } + + detail::json_const_iterator type; + if (detail::FindMember(o, "type", type)) { + std::string typeStr; + if (detail::GetString(detail::GetValue(type), typeStr)) { + if (typeStr.compare("arraybuffer") == 0) { + // buffer.type = "arraybuffer"; + } + } + } + + if (is_binary) { + // Still binary glTF accepts external dataURI. + if (!buffer->uri.empty()) { + // First try embedded data URI. + if (IsDataURI(buffer->uri)) { + std::string mime_type; + if (!DecodeDataURI(&buffer->data, mime_type, buffer->uri, byteLength, + true)) { + if (err) { + (*err) += + "Failed to decode 'uri' : " + buffer->uri + " in Buffer\n"; + } + return false; + } + } else { + // External .bin file. + std::string decoded_uri; + if (!uri_cb->decode(buffer->uri, &decoded_uri, uri_cb->user_data)) { + return false; + } + if (!LoadExternalFile(&buffer->data, err, /* warn */ nullptr, + decoded_uri, basedir, /* required */ true, + byteLength, /* checkSize */ true, + /* max_file_size */ max_buffer_size, fs)) { + return false; + } + } + } else { + // load data from (embedded) binary data + + if ((bin_size == 0) || (bin_data == nullptr)) { + if (err) { + (*err) += + "Invalid binary data in `Buffer', or GLB with empty BIN chunk.\n"; + } + return false; + } + + if (byteLength > bin_size) { + if (err) { + std::stringstream ss; + ss << "Invalid `byteLength'. Must be equal or less than binary size: " + "`byteLength' = " + << byteLength << ", binary size = " << bin_size << std::endl; + (*err) += ss.str(); + } + return false; + } + + // Read buffer data + buffer->data.resize(static_cast(byteLength)); + memcpy(&(buffer->data.at(0)), bin_data, static_cast(byteLength)); + } + + } else { + if (IsDataURI(buffer->uri)) { + std::string mime_type; + if (!DecodeDataURI(&buffer->data, mime_type, buffer->uri, byteLength, + true)) { + if (err) { + (*err) += "Failed to decode 'uri' : " + buffer->uri + " in Buffer\n"; + } + return false; + } + } else { + // Assume external .bin file. + std::string decoded_uri; + if (!uri_cb->decode(buffer->uri, &decoded_uri, uri_cb->user_data)) { + return false; + } + if (!LoadExternalFile(&buffer->data, err, /* warn */ nullptr, decoded_uri, + basedir, /* required */ true, byteLength, + /* checkSize */ true, + /* max file size */ max_buffer_size, fs)) { + return false; + } + } + } + + ParseStringProperty(&buffer->name, err, o, "name", false); + + ParseExtrasAndExtensions(buffer, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseBufferView( + BufferView *bufferView, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + int buffer = -1; + if (!ParseIntegerProperty(&buffer, err, o, "buffer", true, "BufferView")) { + return false; + } + + size_t byteOffset = 0; + ParseUnsignedProperty(&byteOffset, err, o, "byteOffset", false); + + size_t byteLength = 1; + if (!ParseUnsignedProperty(&byteLength, err, o, "byteLength", true, + "BufferView")) { + return false; + } + + size_t byteStride = 0; + if (!ParseUnsignedProperty(&byteStride, err, o, "byteStride", false)) { + // Spec says: When byteStride of referenced bufferView is not defined, it + // means that accessor elements are tightly packed, i.e., effective stride + // equals the size of the element. + // We cannot determine the actual byteStride until Accessor are parsed, thus + // set 0(= tightly packed) here(as done in OpenGL's VertexAttribPoiner) + byteStride = 0; + } + + if ((byteStride > 252) || ((byteStride % 4) != 0)) { + if (err) { + std::stringstream ss; + ss << "Invalid `byteStride' value. `byteStride' must be the multiple of " + "4 : " + << byteStride << std::endl; + + (*err) += ss.str(); + } + return false; + } + + int target = 0; + ParseIntegerProperty(&target, err, o, "target", false); + if ((target == TINYGLTF_TARGET_ARRAY_BUFFER) || + (target == TINYGLTF_TARGET_ELEMENT_ARRAY_BUFFER)) { + // OK + } else { + target = 0; + } + bufferView->target = target; + + ParseStringProperty(&bufferView->name, err, o, "name", false); + + ParseExtrasAndExtensions(bufferView, err, o, + store_original_json_for_extras_and_extensions); + + bufferView->buffer = buffer; + bufferView->byteOffset = byteOffset; + bufferView->byteLength = byteLength; + bufferView->byteStride = byteStride; + return true; +} + +static bool ParseSparseAccessor( + Accessor::Sparse *sparse, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + sparse->isSparse = true; + + int count = 0; + if (!ParseIntegerProperty(&count, err, o, "count", true, "SparseAccessor")) { + return false; + } + + ParseExtrasAndExtensions(sparse, err, o, + store_original_json_for_extras_and_extensions); + + detail::json_const_iterator indices_iterator; + detail::json_const_iterator values_iterator; + if (!detail::FindMember(o, "indices", indices_iterator)) { + (*err) = "the sparse object of this accessor doesn't have indices"; + return false; + } + + if (!detail::FindMember(o, "values", values_iterator)) { + (*err) = "the sparse object of this accessor doesn't have values"; + return false; + } + + const detail::json &indices_obj = detail::GetValue(indices_iterator); + const detail::json &values_obj = detail::GetValue(values_iterator); + + int indices_buffer_view = 0, component_type = 0; + size_t indices_byte_offset = 0; + if (!ParseIntegerProperty(&indices_buffer_view, err, indices_obj, + "bufferView", true, "SparseAccessor")) { + return false; + } + ParseUnsignedProperty(&indices_byte_offset, err, indices_obj, "byteOffset", + false); + if (!ParseIntegerProperty(&component_type, err, indices_obj, "componentType", + true, "SparseAccessor")) { + return false; + } + + int values_buffer_view = 0; + size_t values_byte_offset = 0; + if (!ParseIntegerProperty(&values_buffer_view, err, values_obj, "bufferView", + true, "SparseAccessor")) { + return false; + } + ParseUnsignedProperty(&values_byte_offset, err, values_obj, "byteOffset", + false); + + sparse->count = count; + sparse->indices.bufferView = indices_buffer_view; + sparse->indices.byteOffset = indices_byte_offset; + sparse->indices.componentType = component_type; + ParseExtrasAndExtensions(&sparse->indices, err, indices_obj, + store_original_json_for_extras_and_extensions); + + sparse->values.bufferView = values_buffer_view; + sparse->values.byteOffset = values_byte_offset; + ParseExtrasAndExtensions(&sparse->values, err, values_obj, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseAccessor(Accessor *accessor, std::string *err, + const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + int bufferView = -1; + ParseIntegerProperty(&bufferView, err, o, "bufferView", false, "Accessor"); + + size_t byteOffset = 0; + ParseUnsignedProperty(&byteOffset, err, o, "byteOffset", false, "Accessor"); + + bool normalized = false; + ParseBooleanProperty(&normalized, err, o, "normalized", false, "Accessor"); + + size_t componentType = 0; + if (!ParseUnsignedProperty(&componentType, err, o, "componentType", true, + "Accessor")) { + return false; + } + + size_t count = 0; + if (!ParseUnsignedProperty(&count, err, o, "count", true, "Accessor")) { + return false; + } + + std::string type; + if (!ParseStringProperty(&type, err, o, "type", true, "Accessor")) { + return false; + } + + if (type.compare("SCALAR") == 0) { + accessor->type = TINYGLTF_TYPE_SCALAR; + } else if (type.compare("VEC2") == 0) { + accessor->type = TINYGLTF_TYPE_VEC2; + } else if (type.compare("VEC3") == 0) { + accessor->type = TINYGLTF_TYPE_VEC3; + } else if (type.compare("VEC4") == 0) { + accessor->type = TINYGLTF_TYPE_VEC4; + } else if (type.compare("MAT2") == 0) { + accessor->type = TINYGLTF_TYPE_MAT2; + } else if (type.compare("MAT3") == 0) { + accessor->type = TINYGLTF_TYPE_MAT3; + } else if (type.compare("MAT4") == 0) { + accessor->type = TINYGLTF_TYPE_MAT4; + } else { + std::stringstream ss; + ss << "Unsupported `type` for accessor object. Got \"" << type << "\"\n"; + if (err) { + (*err) += ss.str(); + } + return false; + } + + ParseStringProperty(&accessor->name, err, o, "name", false); + + accessor->minValues.clear(); + accessor->maxValues.clear(); + ParseNumberArrayProperty(&accessor->minValues, err, o, "min", false, + "Accessor"); + + ParseNumberArrayProperty(&accessor->maxValues, err, o, "max", false, + "Accessor"); + + accessor->count = count; + accessor->bufferView = bufferView; + accessor->byteOffset = byteOffset; + accessor->normalized = normalized; + { + if (componentType >= TINYGLTF_COMPONENT_TYPE_BYTE && + componentType <= TINYGLTF_COMPONENT_TYPE_DOUBLE) { + // OK + accessor->componentType = int(componentType); + } else { + std::stringstream ss; + ss << "Invalid `componentType` in accessor. Got " << componentType + << "\n"; + if (err) { + (*err) += ss.str(); + } + return false; + } + } + + ParseExtrasAndExtensions(accessor, err, o, + store_original_json_for_extras_and_extensions); + + // check if accessor has a "sparse" object: + detail::json_const_iterator iterator; + if (detail::FindMember(o, "sparse", iterator)) { + // here this accessor has a "sparse" subobject + return ParseSparseAccessor(&accessor->sparse, err, + detail::GetValue(iterator), + store_original_json_for_extras_and_extensions); + } + + return true; +} + +#ifdef TINYGLTF_ENABLE_DRACO + +static void DecodeIndexBuffer(draco::Mesh *mesh, size_t componentSize, + std::vector &outBuffer) { + if (componentSize == 4) { + assert(sizeof(mesh->face(draco::FaceIndex(0))[0]) == componentSize); + memcpy(outBuffer.data(), &mesh->face(draco::FaceIndex(0))[0], + outBuffer.size()); + } else { + size_t faceStride = componentSize * 3; + for (draco::FaceIndex f(0); f < mesh->num_faces(); ++f) { + const draco::Mesh::Face &face = mesh->face(f); + if (componentSize == 2) { + uint16_t indices[3] = {(uint16_t)face[0].value(), + (uint16_t)face[1].value(), + (uint16_t)face[2].value()}; + memcpy(outBuffer.data() + f.value() * faceStride, &indices[0], + faceStride); + } else { + uint8_t indices[3] = {(uint8_t)face[0].value(), + (uint8_t)face[1].value(), + (uint8_t)face[2].value()}; + memcpy(outBuffer.data() + f.value() * faceStride, &indices[0], + faceStride); + } + } + } +} + +template +static bool GetAttributeForAllPoints(draco::Mesh *mesh, + const draco::PointAttribute *pAttribute, + std::vector &outBuffer) { + size_t byteOffset = 0; + T values[4] = {0, 0, 0, 0}; + for (draco::PointIndex i(0); i < mesh->num_points(); ++i) { + const draco::AttributeValueIndex val_index = pAttribute->mapped_index(i); + if (!pAttribute->ConvertValue(val_index, pAttribute->num_components(), + values)) + return false; + + memcpy(outBuffer.data() + byteOffset, &values[0], + sizeof(T) * pAttribute->num_components()); + byteOffset += sizeof(T) * pAttribute->num_components(); + } + + return true; +} + +static bool GetAttributeForAllPoints(uint32_t componentType, draco::Mesh *mesh, + const draco::PointAttribute *pAttribute, + std::vector &outBuffer) { + bool decodeResult = false; + switch (componentType) { + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_BYTE: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_SHORT: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_INT: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_UNSIGNED_INT: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_FLOAT: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + case TINYGLTF_COMPONENT_TYPE_DOUBLE: + decodeResult = + GetAttributeForAllPoints(mesh, pAttribute, outBuffer); + break; + default: + return false; + } + + return decodeResult; +} + +static bool ParseDracoExtension(Primitive *primitive, Model *model, + std::string *err, std::string *warn, + const Value &dracoExtensionValue, + ParseStrictness strictness) { + (void)err; + auto bufferViewValue = dracoExtensionValue.Get("bufferView"); + if (!bufferViewValue.IsInt()) return false; + auto attributesValue = dracoExtensionValue.Get("attributes"); + if (!attributesValue.IsObject()) return false; + + auto attributesObject = attributesValue.Get(); + int bufferView = bufferViewValue.Get(); + + BufferView &view = model->bufferViews[bufferView]; + Buffer &buffer = model->buffers[view.buffer]; + // BufferView has already been decoded + if (view.dracoDecoded) return true; + view.dracoDecoded = true; + + const char *bufferViewData = + reinterpret_cast(buffer.data.data() + view.byteOffset); + size_t bufferViewSize = view.byteLength; + + // decode draco + draco::DecoderBuffer decoderBuffer; + decoderBuffer.Init(bufferViewData, bufferViewSize); + draco::Decoder decoder; + auto decodeResult = decoder.DecodeMeshFromBuffer(&decoderBuffer); + if (!decodeResult.ok()) { + return false; + } + const std::unique_ptr &mesh = decodeResult.value(); + + // create new bufferView for indices + if (primitive->indices >= 0) { + if (strictness == ParseStrictness::Permissive) { + const draco::PointIndex::ValueType numPoint = mesh->num_points(); + // handle the situation where the stored component type does not match the + // required type for the actual number of stored points + int supposedComponentType = TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE; + if (numPoint < static_cast( + std::numeric_limits::max())) { + supposedComponentType = TINYGLTF_COMPONENT_TYPE_UNSIGNED_BYTE; + } else if ( + numPoint < static_cast( + std::numeric_limits::max())) { + supposedComponentType = TINYGLTF_COMPONENT_TYPE_UNSIGNED_SHORT; + } else { + supposedComponentType = TINYGLTF_COMPONENT_TYPE_UNSIGNED_INT; + } + + if (supposedComponentType > model->accessors[primitive->indices].componentType) { + if (warn) { + (*warn) += + "GLTF component type " + std::to_string(model->accessors[primitive->indices].componentType) + + " is not sufficient for number of stored points," + " treating as " + std::to_string(supposedComponentType) + "\n"; + } + model->accessors[primitive->indices].componentType = supposedComponentType; + } + } + + int32_t componentSize = GetComponentSizeInBytes( + model->accessors[primitive->indices].componentType); + Buffer decodedIndexBuffer; + decodedIndexBuffer.data.resize(mesh->num_faces() * 3 * componentSize); + + DecodeIndexBuffer(mesh.get(), componentSize, decodedIndexBuffer.data); + + model->buffers.emplace_back(std::move(decodedIndexBuffer)); + + BufferView decodedIndexBufferView; + decodedIndexBufferView.buffer = int(model->buffers.size() - 1); + decodedIndexBufferView.byteLength = + int(mesh->num_faces() * 3 * componentSize); + decodedIndexBufferView.byteOffset = 0; + decodedIndexBufferView.byteStride = 0; + decodedIndexBufferView.target = TINYGLTF_TARGET_ARRAY_BUFFER; + model->bufferViews.emplace_back(std::move(decodedIndexBufferView)); + + model->accessors[primitive->indices].bufferView = + int(model->bufferViews.size() - 1); + model->accessors[primitive->indices].count = int(mesh->num_faces() * 3); + } + + for (const auto &attribute : attributesObject) { + if (!attribute.second.IsInt()) return false; + auto primitiveAttribute = primitive->attributes.find(attribute.first); + if (primitiveAttribute == primitive->attributes.end()) return false; + + int dracoAttributeIndex = attribute.second.Get(); + const auto pAttribute = mesh->GetAttributeByUniqueId(dracoAttributeIndex); + const auto componentType = + model->accessors[primitiveAttribute->second].componentType; + + // Create a new buffer for this decoded buffer + Buffer decodedBuffer; + size_t bufferSize = mesh->num_points() * pAttribute->num_components() * + GetComponentSizeInBytes(componentType); + decodedBuffer.data.resize(bufferSize); + + if (!GetAttributeForAllPoints(componentType, mesh.get(), pAttribute, + decodedBuffer.data)) + return false; + + model->buffers.emplace_back(std::move(decodedBuffer)); + + BufferView decodedBufferView; + decodedBufferView.buffer = int(model->buffers.size() - 1); + decodedBufferView.byteLength = bufferSize; + decodedBufferView.byteOffset = pAttribute->byte_offset(); + decodedBufferView.byteStride = pAttribute->byte_stride(); + decodedBufferView.target = primitive->indices >= 0 + ? TINYGLTF_TARGET_ELEMENT_ARRAY_BUFFER + : TINYGLTF_TARGET_ARRAY_BUFFER; + model->bufferViews.emplace_back(std::move(decodedBufferView)); + + model->accessors[primitiveAttribute->second].bufferView = + int(model->bufferViews.size() - 1); + model->accessors[primitiveAttribute->second].count = + int(mesh->num_points()); + } + + return true; +} +#endif + +static bool ParsePrimitive(Primitive *primitive, Model *model, + std::string *err, std::string *warn, + const detail::json &o, + bool store_original_json_for_extras_and_extensions, + ParseStrictness strictness) { + int material = -1; + ParseIntegerProperty(&material, err, o, "material", false); + primitive->material = material; + + int mode = TINYGLTF_MODE_TRIANGLES; + ParseIntegerProperty(&mode, err, o, "mode", false); + primitive->mode = mode; // Why only triangles were supported ? + + int indices = -1; + ParseIntegerProperty(&indices, err, o, "indices", false); + primitive->indices = indices; + if (!ParseStringIntegerProperty(&primitive->attributes, err, o, "attributes", + true, "Primitive")) { + return false; + } + + // Look for morph targets + detail::json_const_iterator targetsObject; + if (detail::FindMember(o, "targets", targetsObject) && + detail::IsArray(detail::GetValue(targetsObject))) { + auto targetsObjectEnd = detail::ArrayEnd(detail::GetValue(targetsObject)); + for (detail::json_const_array_iterator i = + detail::ArrayBegin(detail::GetValue(targetsObject)); + i != targetsObjectEnd; ++i) { + std::map targetAttribues; + + const detail::json &dict = *i; + if (detail::IsObject(dict)) { + detail::json_const_iterator dictIt(detail::ObjectBegin(dict)); + detail::json_const_iterator dictItEnd(detail::ObjectEnd(dict)); + + for (; dictIt != dictItEnd; ++dictIt) { + int iVal; + if (detail::GetInt(detail::GetValue(dictIt), iVal)) + targetAttribues[detail::GetKey(dictIt)] = iVal; + } + primitive->targets.emplace_back(std::move(targetAttribues)); + } + } + } + + ParseExtrasAndExtensions(primitive, err, o, + store_original_json_for_extras_and_extensions); + +#ifdef TINYGLTF_ENABLE_DRACO + auto dracoExtension = + primitive->extensions.find("KHR_draco_mesh_compression"); + if (dracoExtension != primitive->extensions.end()) { + ParseDracoExtension(primitive, model, err, warn, dracoExtension->second, strictness); + } +#else + (void)model; + (void)warn; + (void)strictness; +#endif + + return true; +} + +static bool ParseMesh(Mesh *mesh, Model *model, + std::string *err, std::string *warn, + const detail::json &o, + bool store_original_json_for_extras_and_extensions, + ParseStrictness strictness) { + ParseStringProperty(&mesh->name, err, o, "name", false); + + mesh->primitives.clear(); + detail::json_const_iterator primObject; + if (detail::FindMember(o, "primitives", primObject) && + detail::IsArray(detail::GetValue(primObject))) { + detail::json_const_array_iterator primEnd = + detail::ArrayEnd(detail::GetValue(primObject)); + for (detail::json_const_array_iterator i = + detail::ArrayBegin(detail::GetValue(primObject)); + i != primEnd; ++i) { + Primitive primitive; + if (ParsePrimitive(&primitive, model, err, warn, *i, + store_original_json_for_extras_and_extensions, + strictness)) { + // Only add the primitive if the parsing succeeds. + mesh->primitives.emplace_back(std::move(primitive)); + } + } + } + + // Should probably check if has targets and if dimensions fit + ParseNumberArrayProperty(&mesh->weights, err, o, "weights", false); + + ParseExtrasAndExtensions(mesh, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseNode(Node *node, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&node->name, err, o, "name", false); + + int skin = -1; + ParseIntegerProperty(&skin, err, o, "skin", false); + node->skin = skin; + + // Matrix and T/R/S are exclusive + if (!ParseNumberArrayProperty(&node->matrix, err, o, "matrix", false)) { + ParseNumberArrayProperty(&node->rotation, err, o, "rotation", false); + ParseNumberArrayProperty(&node->scale, err, o, "scale", false); + ParseNumberArrayProperty(&node->translation, err, o, "translation", false); + } + + int camera = -1; + ParseIntegerProperty(&camera, err, o, "camera", false); + node->camera = camera; + + int mesh = -1; + ParseIntegerProperty(&mesh, err, o, "mesh", false); + node->mesh = mesh; + + node->children.clear(); + ParseIntegerArrayProperty(&node->children, err, o, "children", false); + + ParseNumberArrayProperty(&node->weights, err, o, "weights", false); + + ParseExtrasAndExtensions(node, err, o, + store_original_json_for_extras_and_extensions); + + // KHR_lights_punctual: parse light source reference + int light = -1; + if (node->extensions.count("KHR_lights_punctual") != 0) { + auto const &light_ext = node->extensions["KHR_lights_punctual"]; + if (light_ext.Has("light")) { + light = light_ext.Get("light").GetNumberAsInt(); + } else { + if (err) { + *err += + "Node has extension KHR_lights_punctual, but does not reference " + "a light source.\n"; + } + return false; + } + } + node->light = light; + + // KHR_audio: parse audio source reference + int emitter = -1; + if (node->extensions.count("KHR_audio") != 0) { + auto const &audio_ext = node->extensions["KHR_audio"]; + if (audio_ext.Has("emitter")) { + emitter = audio_ext.Get("emitter").GetNumberAsInt(); + } else { + if (err) { + *err += + "Node has extension KHR_audio, but does not reference " + "a audio emitter.\n"; + } + return false; + } + } + node->emitter = emitter; + + return true; +} + +static bool ParseScene(Scene *scene, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&scene->name, err, o, "name", false); + ParseIntegerArrayProperty(&scene->nodes, err, o, "nodes", false); + + ParseExtrasAndExtensions(scene, err, o, + store_original_json_for_extras_and_extensions); + + // Parse KHR_audio global emitters + if (scene->extensions.count("KHR_audio") != 0) { + auto const &audio_ext = scene->extensions["KHR_audio"]; + if (audio_ext.Has("emitters")) { + auto emittersArr = audio_ext.Get("emitters"); + for (size_t i = 0; i < emittersArr.ArrayLen(); ++i) { + scene->audioEmitters.emplace_back(emittersArr.Get(i).GetNumberAsInt()); + } + } else { + if (err) { + *err += + "Node has extension KHR_audio, but does not reference " + "a audio emitter.\n"; + } + return false; + } + } + + return true; +} + +static bool ParsePbrMetallicRoughness( + PbrMetallicRoughness *pbr, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (pbr == nullptr) { + return false; + } + + std::vector baseColorFactor; + if (ParseNumberArrayProperty(&baseColorFactor, err, o, "baseColorFactor", + /* required */ false)) { + if (baseColorFactor.size() != 4) { + if (err) { + (*err) += + "Array length of `baseColorFactor` parameter in " + "pbrMetallicRoughness must be 4, but got " + + std::to_string(baseColorFactor.size()) + "\n"; + } + return false; + } + pbr->baseColorFactor = baseColorFactor; + } + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "baseColorTexture", it)) { + ParseTextureInfo(&pbr->baseColorTexture, err, detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "metallicRoughnessTexture", it)) { + ParseTextureInfo(&pbr->metallicRoughnessTexture, err, + detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + ParseNumberProperty(&pbr->metallicFactor, err, o, "metallicFactor", false); + ParseNumberProperty(&pbr->roughnessFactor, err, o, "roughnessFactor", false); + + ParseExtrasAndExtensions(pbr, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseMaterial(Material *material, std::string *err, std::string *warn, + const detail::json &o, + bool store_original_json_for_extras_and_extensions, + ParseStrictness strictness) { + ParseStringProperty(&material->name, err, o, "name", /* required */ false); + + if (ParseNumberArrayProperty(&material->emissiveFactor, err, o, + "emissiveFactor", + /* required */ false)) { + if (strictness==ParseStrictness::Permissive && material->emissiveFactor.size() == 4) { + if (warn) { + (*warn) += + "Array length of `emissiveFactor` parameter in " + "material must be 3, but got 4\n"; + } + material->emissiveFactor.resize(3); + } + else if (material->emissiveFactor.size() != 3) { + if (err) { + (*err) += + "Array length of `emissiveFactor` parameter in " + "material must be 3, but got " + + std::to_string(material->emissiveFactor.size()) + "\n"; + } + return false; + } + } else { + // fill with default values + material->emissiveFactor = {0.0, 0.0, 0.0}; + } + + ParseStringProperty(&material->alphaMode, err, o, "alphaMode", + /* required */ false); + ParseNumberProperty(&material->alphaCutoff, err, o, "alphaCutoff", + /* required */ false); + ParseBooleanProperty(&material->doubleSided, err, o, "doubleSided", + /* required */ false); + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "pbrMetallicRoughness", it)) { + ParsePbrMetallicRoughness(&material->pbrMetallicRoughness, err, + detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "normalTexture", it)) { + ParseNormalTextureInfo(&material->normalTexture, err, + detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "occlusionTexture", it)) { + ParseOcclusionTextureInfo(&material->occlusionTexture, err, + detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "emissiveTexture", it)) { + ParseTextureInfo(&material->emissiveTexture, err, detail::GetValue(it), + store_original_json_for_extras_and_extensions); + } + } + + // Old code path. For backward compatibility, we still store material values + // as Parameter. This will create duplicated information for + // example(pbrMetallicRoughness), but should be negligible in terms of memory + // consumption. + // TODO(syoyo): Remove in the next major release. + material->values.clear(); + material->additionalValues.clear(); + + detail::json_const_iterator it(detail::ObjectBegin(o)); + detail::json_const_iterator itEnd(detail::ObjectEnd(o)); + + for (; it != itEnd; ++it) { + std::string key(detail::GetKey(it)); + if (key == "pbrMetallicRoughness") { + if (detail::IsObject(detail::GetValue(it))) { + const detail::json &values_object = detail::GetValue(it); + + detail::json_const_iterator itVal(detail::ObjectBegin(values_object)); + detail::json_const_iterator itValEnd(detail::ObjectEnd(values_object)); + + for (; itVal != itValEnd; ++itVal) { + Parameter param; + if (ParseParameterProperty(¶m, err, values_object, + detail::GetKey(itVal), false)) { + material->values.emplace(detail::GetKey(itVal), std::move(param)); + } + } + } + } else if (key == "extensions" || key == "extras") { + // done later, skip, otherwise poorly parsed contents will be saved in the + // parametermap and serialized again later + } else { + Parameter param; + if (ParseParameterProperty(¶m, err, o, key, false)) { + // names of materials have already been parsed. Putting it in this map + // doesn't correctly reflect the glTF specification + if (key != "name") + material->additionalValues.emplace(std::move(key), std::move(param)); + } + } + } + + material->extensions.clear(); // Note(agnat): Why? + ParseExtrasAndExtensions(material, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseAnimationChannel( + AnimationChannel *channel, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + int samplerIndex = -1; + int targetIndex = -1; + if (!ParseIntegerProperty(&samplerIndex, err, o, "sampler", true, + "AnimationChannel")) { + if (err) { + (*err) += "`sampler` field is missing in animation channels\n"; + } + return false; + } + + detail::json_const_iterator targetIt; + if (detail::FindMember(o, "target", targetIt) && + detail::IsObject(detail::GetValue(targetIt))) { + const detail::json &target_object = detail::GetValue(targetIt); + + ParseIntegerProperty(&targetIndex, err, target_object, "node", false); + + if (!ParseStringProperty(&channel->target_path, err, target_object, "path", + true)) { + if (err) { + (*err) += "`path` field is missing in animation.channels.target\n"; + } + return false; + } + ParseExtensionsProperty(&channel->target_extensions, err, target_object); + ParseExtrasProperty(&channel->target_extras, target_object); + if (store_original_json_for_extras_and_extensions) { + { + detail::json_const_iterator it; + if (detail::FindMember(target_object, "extensions", it)) { + channel->target_extensions_json_string = + detail::JsonToString(detail::GetValue(it)); + } + } + { + detail::json_const_iterator it; + if (detail::FindMember(target_object, "extras", it)) { + channel->target_extras_json_string = + detail::JsonToString(detail::GetValue(it)); + } + } + } + } + + channel->sampler = samplerIndex; + channel->target_node = targetIndex; + + ParseExtrasAndExtensions(channel, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseAnimation(Animation *animation, std::string *err, + const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + { + detail::json_const_iterator channelsIt; + if (detail::FindMember(o, "channels", channelsIt) && + detail::IsArray(detail::GetValue(channelsIt))) { + detail::json_const_array_iterator channelEnd = + detail::ArrayEnd(detail::GetValue(channelsIt)); + for (detail::json_const_array_iterator i = + detail::ArrayBegin(detail::GetValue(channelsIt)); + i != channelEnd; ++i) { + AnimationChannel channel; + if (ParseAnimationChannel( + &channel, err, *i, + store_original_json_for_extras_and_extensions)) { + // Only add the channel if the parsing succeeds. + animation->channels.emplace_back(std::move(channel)); + } + } + } + } + + { + detail::json_const_iterator samplerIt; + if (detail::FindMember(o, "samplers", samplerIt) && + detail::IsArray(detail::GetValue(samplerIt))) { + const detail::json &sampler_array = detail::GetValue(samplerIt); + + detail::json_const_array_iterator it = detail::ArrayBegin(sampler_array); + detail::json_const_array_iterator itEnd = detail::ArrayEnd(sampler_array); + + for (; it != itEnd; ++it) { + const detail::json &s = *it; + + AnimationSampler sampler; + int inputIndex = -1; + int outputIndex = -1; + if (!ParseIntegerProperty(&inputIndex, err, s, "input", true)) { + if (err) { + (*err) += "`input` field is missing in animation.sampler\n"; + } + return false; + } + ParseStringProperty(&sampler.interpolation, err, s, "interpolation", + false); + if (!ParseIntegerProperty(&outputIndex, err, s, "output", true)) { + if (err) { + (*err) += "`output` field is missing in animation.sampler\n"; + } + return false; + } + sampler.input = inputIndex; + sampler.output = outputIndex; + ParseExtrasAndExtensions(&sampler, err, o, + store_original_json_for_extras_and_extensions); + + animation->samplers.emplace_back(std::move(sampler)); + } + } + } + + ParseStringProperty(&animation->name, err, o, "name", false); + + ParseExtrasAndExtensions(animation, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseSampler(Sampler *sampler, std::string *err, + const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&sampler->name, err, o, "name", false); + + int minFilter = -1; + int magFilter = -1; + int wrapS = TINYGLTF_TEXTURE_WRAP_REPEAT; + int wrapT = TINYGLTF_TEXTURE_WRAP_REPEAT; + // int wrapR = TINYGLTF_TEXTURE_WRAP_REPEAT; + ParseIntegerProperty(&minFilter, err, o, "minFilter", false); + ParseIntegerProperty(&magFilter, err, o, "magFilter", false); + ParseIntegerProperty(&wrapS, err, o, "wrapS", false); + ParseIntegerProperty(&wrapT, err, o, "wrapT", false); + // ParseIntegerProperty(&wrapR, err, o, "wrapR", false); // tinygltf + // extension + + // TODO(syoyo): Check the value is allowed one. + // (e.g. we allow 9728(NEAREST), but don't allow 9727) + + sampler->minFilter = minFilter; + sampler->magFilter = magFilter; + sampler->wrapS = wrapS; + sampler->wrapT = wrapT; + // sampler->wrapR = wrapR; + + ParseExtrasAndExtensions(sampler, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseSkin(Skin *skin, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&skin->name, err, o, "name", false, "Skin"); + + std::vector joints; + if (!ParseIntegerArrayProperty(&joints, err, o, "joints", false, "Skin")) { + return false; + } + skin->joints = std::move(joints); + + int skeleton = -1; + ParseIntegerProperty(&skeleton, err, o, "skeleton", false, "Skin"); + skin->skeleton = skeleton; + + int invBind = -1; + ParseIntegerProperty(&invBind, err, o, "inverseBindMatrices", true, "Skin"); + skin->inverseBindMatrices = invBind; + + ParseExtrasAndExtensions(skin, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParsePerspectiveCamera( + PerspectiveCamera *camera, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + double yfov = 0.0; + if (!ParseNumberProperty(&yfov, err, o, "yfov", true, "OrthographicCamera")) { + return false; + } + + double znear = 0.0; + if (!ParseNumberProperty(&znear, err, o, "znear", true, + "PerspectiveCamera")) { + return false; + } + + double aspectRatio = 0.0; // = invalid + ParseNumberProperty(&aspectRatio, err, o, "aspectRatio", false, + "PerspectiveCamera"); + + double zfar = 0.0; // = invalid + ParseNumberProperty(&zfar, err, o, "zfar", false, "PerspectiveCamera"); + + camera->aspectRatio = aspectRatio; + camera->zfar = zfar; + camera->yfov = yfov; + camera->znear = znear; + + ParseExtrasAndExtensions(camera, err, o, + store_original_json_for_extras_and_extensions); + + // TODO(syoyo): Validate parameter values. + + return true; +} + +static bool ParseSpotLight(SpotLight *light, std::string *err, + const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseNumberProperty(&light->innerConeAngle, err, o, "innerConeAngle", false); + ParseNumberProperty(&light->outerConeAngle, err, o, "outerConeAngle", false); + + ParseExtrasAndExtensions(light, err, o, + store_original_json_for_extras_and_extensions); + + // TODO(syoyo): Validate parameter values. + + return true; +} + +static bool ParseOrthographicCamera( + OrthographicCamera *camera, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + double xmag = 0.0; + if (!ParseNumberProperty(&xmag, err, o, "xmag", true, "OrthographicCamera")) { + return false; + } + + double ymag = 0.0; + if (!ParseNumberProperty(&ymag, err, o, "ymag", true, "OrthographicCamera")) { + return false; + } + + double zfar = 0.0; + if (!ParseNumberProperty(&zfar, err, o, "zfar", true, "OrthographicCamera")) { + return false; + } + + double znear = 0.0; + if (!ParseNumberProperty(&znear, err, o, "znear", true, + "OrthographicCamera")) { + return false; + } + + ParseExtrasAndExtensions(camera, err, o, + store_original_json_for_extras_and_extensions); + + camera->xmag = xmag; + camera->ymag = ymag; + camera->zfar = zfar; + camera->znear = znear; + + // TODO(syoyo): Validate parameter values. + + return true; +} + +static bool ParseCamera(Camera *camera, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (!ParseStringProperty(&camera->type, err, o, "type", true, "Camera")) { + return false; + } + + if (camera->type.compare("orthographic") == 0) { + detail::json_const_iterator orthoIt; + if (!detail::FindMember(o, "orthographic", orthoIt)) { + if (err) { + std::stringstream ss; + ss << "Orthographic camera description not found." << std::endl; + (*err) += ss.str(); + } + return false; + } + + const detail::json &v = detail::GetValue(orthoIt); + if (!detail::IsObject(v)) { + if (err) { + std::stringstream ss; + ss << "\"orthographic\" is not a JSON object." << std::endl; + (*err) += ss.str(); + } + return false; + } + + if (!ParseOrthographicCamera( + &camera->orthographic, err, v, + store_original_json_for_extras_and_extensions)) { + return false; + } + } else if (camera->type.compare("perspective") == 0) { + detail::json_const_iterator perspIt; + if (!detail::FindMember(o, "perspective", perspIt)) { + if (err) { + std::stringstream ss; + ss << "Perspective camera description not found." << std::endl; + (*err) += ss.str(); + } + return false; + } + + const detail::json &v = detail::GetValue(perspIt); + if (!detail::IsObject(v)) { + if (err) { + std::stringstream ss; + ss << "\"perspective\" is not a JSON object." << std::endl; + (*err) += ss.str(); + } + return false; + } + + if (!ParsePerspectiveCamera( + &camera->perspective, err, v, + store_original_json_for_extras_and_extensions)) { + return false; + } + } else { + if (err) { + std::stringstream ss; + ss << "Invalid camera type: \"" << camera->type + << "\". Must be \"perspective\" or \"orthographic\"" << std::endl; + (*err) += ss.str(); + } + return false; + } + + ParseStringProperty(&camera->name, err, o, "name", false); + + ParseExtrasAndExtensions(camera, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseLight(Light *light, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (!ParseStringProperty(&light->type, err, o, "type", true)) { + return false; + } + + if (light->type == "spot") { + detail::json_const_iterator spotIt; + if (!detail::FindMember(o, "spot", spotIt)) { + if (err) { + std::stringstream ss; + ss << "Spot light description not found." << std::endl; + (*err) += ss.str(); + } + return false; + } + + const detail::json &v = detail::GetValue(spotIt); + if (!detail::IsObject(v)) { + if (err) { + std::stringstream ss; + ss << "\"spot\" is not a JSON object." << std::endl; + (*err) += ss.str(); + } + return false; + } + + if (!ParseSpotLight(&light->spot, err, v, + store_original_json_for_extras_and_extensions)) { + return false; + } + } + + ParseStringProperty(&light->name, err, o, "name", false); + ParseNumberArrayProperty(&light->color, err, o, "color", false); + ParseNumberProperty(&light->range, err, o, "range", false); + ParseNumberProperty(&light->intensity, err, o, "intensity", false); + + ParseExtrasAndExtensions(light, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParsePositionalEmitter( + PositionalEmitter *positional, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseNumberProperty(&positional->coneInnerAngle, err, o, "coneInnerAngle", + false); + ParseNumberProperty(&positional->coneOuterAngle, err, o, "coneOuterAngle", + false); + ParseNumberProperty(&positional->coneOuterGain, err, o, "coneOuterGain", + false); + ParseNumberProperty(&positional->maxDistance, err, o, "maxDistance", false); + ParseNumberProperty(&positional->refDistance, err, o, "refDistance", false); + ParseNumberProperty(&positional->rolloffFactor, err, o, "rolloffFactor", + false); + + ParseExtrasAndExtensions(positional, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseAudioEmitter( + AudioEmitter *emitter, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + if (!ParseStringProperty(&emitter->type, err, o, "type", true)) { + return false; + } + + if (emitter->type == "positional") { + detail::json_const_iterator positionalIt; + if (!detail::FindMember(o, "positional", positionalIt)) { + if (err) { + std::stringstream ss; + ss << "Positional emitter description not found." << std::endl; + (*err) += ss.str(); + } + return false; + } + + const detail::json &v = detail::GetValue(positionalIt); + if (!detail::IsObject(v)) { + if (err) { + std::stringstream ss; + ss << "\"positional\" is not a JSON object." << std::endl; + (*err) += ss.str(); + } + return false; + } + + if (!ParsePositionalEmitter( + &emitter->positional, err, v, + store_original_json_for_extras_and_extensions)) { + return false; + } + } + + ParseStringProperty(&emitter->name, err, o, "name", false); + ParseNumberProperty(&emitter->gain, err, o, "gain", false); + ParseBooleanProperty(&emitter->loop, err, o, "loop", false); + ParseBooleanProperty(&emitter->playing, err, o, "playing", false); + ParseStringProperty(&emitter->distanceModel, err, o, "distanceModel", false); + ParseIntegerProperty(&emitter->source, err, o, "source", true); + + ParseExtrasAndExtensions(emitter, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +static bool ParseAudioSource( + AudioSource *source, std::string *err, const detail::json &o, + bool store_original_json_for_extras_and_extensions) { + ParseStringProperty(&source->name, err, o, "name", false); + ParseStringProperty(&source->uri, err, o, "uri", false); + + if (source->uri.empty()) { + ParseIntegerProperty(&source->bufferView, err, o, "bufferView", true); + ParseStringProperty(&source->mimeType, err, o, "mimeType", true); + } + + ParseExtrasAndExtensions(source, err, o, + store_original_json_for_extras_and_extensions); + + return true; +} + +namespace detail { + +template +bool ForEachInArray(const detail::json &_v, const char *member, Callback &&cb) { + detail::json_const_iterator itm; + if (detail::FindMember(_v, member, itm) && + detail::IsArray(detail::GetValue(itm))) { + const detail::json &root = detail::GetValue(itm); + auto it = detail::ArrayBegin(root); + auto end = detail::ArrayEnd(root); + for (; it != end; ++it) { + if (!cb(*it)) return false; + } + } + return true; +}; + +} // end of namespace detail + +bool TinyGLTF::LoadFromString(Model *model, std::string *err, std::string *warn, + const char *json_str, + unsigned int json_str_length, + const std::string &base_dir, + unsigned int check_sections) { + if (json_str_length < 4) { + if (err) { + (*err) = "JSON string too short.\n"; + } + return false; + } + + detail::JsonDocument v; + +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || \ + defined(_CPPUNWIND)) && \ + !defined(TINYGLTF_NOEXCEPTION) + try { + detail::JsonParse(v, json_str, json_str_length, true); + + } catch (const std::exception &e) { + if (err) { + (*err) = e.what(); + } + return false; + } +#else + { + detail::JsonParse(v, json_str, json_str_length); + + if (!detail::IsObject(v)) { + // Assume parsing was failed. + if (err) { + (*err) = "Failed to parse JSON object\n"; + } + return false; + } + } +#endif + + if (!detail::IsObject(v)) { + // root is not an object. + if (err) { + (*err) = "Root element is not a JSON object\n"; + } + return false; + } + + { + bool version_found = false; + detail::json_const_iterator it; + if (detail::FindMember(v, "asset", it) && + detail::IsObject(detail::GetValue(it))) { + auto &itObj = detail::GetValue(it); + detail::json_const_iterator version_it; + std::string versionStr; + if (detail::FindMember(itObj, "version", version_it) && + detail::GetString(detail::GetValue(version_it), versionStr)) { + version_found = true; + } + } + if (version_found) { + // OK + } else if (check_sections & REQUIRE_VERSION) { + if (err) { + (*err) += "\"asset\" object not found in .gltf or not an object type\n"; + } + return false; + } + } + + // scene is not mandatory. + // FIXME Maybe a better way to handle it than removing the code + + auto IsArrayMemberPresent = [](const detail::json &_v, + const char *name) -> bool { + detail::json_const_iterator it; + return detail::FindMember(_v, name, it) && + detail::IsArray(detail::GetValue(it)); + }; + + { + if ((check_sections & REQUIRE_SCENES) && + !IsArrayMemberPresent(v, "scenes")) { + if (err) { + (*err) += "\"scenes\" object not found in .gltf or not an array type\n"; + } + return false; + } + } + + { + if ((check_sections & REQUIRE_NODES) && !IsArrayMemberPresent(v, "nodes")) { + if (err) { + (*err) += "\"nodes\" object not found in .gltf\n"; + } + return false; + } + } + + { + if ((check_sections & REQUIRE_ACCESSORS) && + !IsArrayMemberPresent(v, "accessors")) { + if (err) { + (*err) += "\"accessors\" object not found in .gltf\n"; + } + return false; + } + } + + { + if ((check_sections & REQUIRE_BUFFERS) && + !IsArrayMemberPresent(v, "buffers")) { + if (err) { + (*err) += "\"buffers\" object not found in .gltf\n"; + } + return false; + } + } + + { + if ((check_sections & REQUIRE_BUFFER_VIEWS) && + !IsArrayMemberPresent(v, "bufferViews")) { + if (err) { + (*err) += "\"bufferViews\" object not found in .gltf\n"; + } + return false; + } + } + + model->buffers.clear(); + model->bufferViews.clear(); + model->accessors.clear(); + model->meshes.clear(); + model->cameras.clear(); + model->nodes.clear(); + model->extensionsUsed.clear(); + model->extensionsRequired.clear(); + model->extensions.clear(); + model->defaultScene = -1; + + // 1. Parse Asset + { + detail::json_const_iterator it; + if (detail::FindMember(v, "asset", it) && + detail::IsObject(detail::GetValue(it))) { + const detail::json &root = detail::GetValue(it); + + ParseAsset(&model->asset, err, root, + store_original_json_for_extras_and_extensions_); + } + } + + using detail::ForEachInArray; + + // 2. Parse extensionUsed + { + ForEachInArray(v, "extensionsUsed", [&](const detail::json &o) { + std::string str; + detail::GetString(o, str); + model->extensionsUsed.emplace_back(std::move(str)); + return true; + }); + } + + { + ForEachInArray(v, "extensionsRequired", [&](const detail::json &o) { + std::string str; + detail::GetString(o, str); + model->extensionsRequired.emplace_back(std::move(str)); + return true; + }); + } + + // 3. Parse Buffer + { + bool success = ForEachInArray(v, "buffers", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`buffers' does not contain an JSON object."; + } + return false; + } + Buffer buffer; + if (!ParseBuffer(&buffer, err, o, + store_original_json_for_extras_and_extensions_, &fs, + &uri_cb, base_dir, max_external_file_size_, is_binary_, + bin_data_, bin_size_)) { + return false; + } + + model->buffers.emplace_back(std::move(buffer)); + return true; + }); + + if (!success) { + return false; + } + } + // 4. Parse BufferView + { + bool success = ForEachInArray(v, "bufferViews", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`bufferViews' does not contain an JSON object."; + } + return false; + } + BufferView bufferView; + if (!ParseBufferView(&bufferView, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->bufferViews.emplace_back(std::move(bufferView)); + return true; + }); + + if (!success) { + return false; + } + } + + // 5. Parse Accessor + { + bool success = ForEachInArray(v, "accessors", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`accessors' does not contain an JSON object."; + } + return false; + } + Accessor accessor; + if (!ParseAccessor(&accessor, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->accessors.emplace_back(std::move(accessor)); + return true; + }); + + if (!success) { + return false; + } + } + + // 6. Parse Mesh + { + bool success = ForEachInArray(v, "meshes", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`meshes' does not contain an JSON object."; + } + return false; + } + Mesh mesh; + if (!ParseMesh(&mesh, model, err, warn, o, + store_original_json_for_extras_and_extensions_, + strictness_)) { + return false; + } + + model->meshes.emplace_back(std::move(mesh)); + return true; + }); + + if (!success) { + return false; + } + } + + // Assign missing bufferView target types + // - Look for missing Mesh indices + // - Look for missing Mesh attributes + for (auto &mesh : model->meshes) { + for (auto &primitive : mesh.primitives) { + if (primitive.indices > + -1) // has indices from parsing step, must be Element Array Buffer + { + if (size_t(primitive.indices) >= model->accessors.size()) { + if (err) { + (*err) += "primitive indices accessor out of bounds"; + } + return false; + } + + auto bufferView = + model->accessors[size_t(primitive.indices)].bufferView; + if (bufferView < 0 || size_t(bufferView) >= model->bufferViews.size()) { + if (err) { + (*err) += "accessor[" + std::to_string(primitive.indices) + + "] invalid bufferView"; + } + return false; + } + + model->bufferViews[size_t(bufferView)].target = + TINYGLTF_TARGET_ELEMENT_ARRAY_BUFFER; + // we could optionally check if accessors' bufferView type is Scalar, as + // it should be + } + + for (auto &attribute : primitive.attributes) { + const auto accessorsIndex = size_t(attribute.second); + if (accessorsIndex < model->accessors.size()) { + const auto bufferView = model->accessors[accessorsIndex].bufferView; + // bufferView could be null(-1) for sparse morph target + if (bufferView >= 0 && bufferView < (int)model->bufferViews.size()) { + model->bufferViews[size_t(bufferView)].target = + TINYGLTF_TARGET_ARRAY_BUFFER; + } + } + } + + for (auto &target : primitive.targets) { + for (auto &attribute : target) { + const auto accessorsIndex = size_t(attribute.second); + if (accessorsIndex < model->accessors.size()) { + const auto bufferView = model->accessors[accessorsIndex].bufferView; + // bufferView could be null(-1) for sparse morph target + if (bufferView >= 0 && + bufferView < (int)model->bufferViews.size()) { + model->bufferViews[size_t(bufferView)].target = + TINYGLTF_TARGET_ARRAY_BUFFER; + } + } + } + } + } + } + + // 7. Parse Node + { + bool success = ForEachInArray(v, "nodes", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`nodes' does not contain an JSON object."; + } + return false; + } + Node node; + if (!ParseNode(&node, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->nodes.emplace_back(std::move(node)); + return true; + }); + + if (!success) { + return false; + } + } + + // 8. Parse scenes. + { + bool success = ForEachInArray(v, "scenes", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`scenes' does not contain an JSON object."; + } + return false; + } + + Scene scene; + if (!ParseScene(&scene, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->scenes.emplace_back(std::move(scene)); + return true; + }); + + if (!success) { + return false; + } + } + + // 9. Parse default scenes. + { + detail::json_const_iterator rootIt; + int iVal; + if (detail::FindMember(v, "scene", rootIt) && + detail::GetInt(detail::GetValue(rootIt), iVal)) { + model->defaultScene = iVal; + } + } + + // 10. Parse Material + { + bool success = ForEachInArray(v, "materials", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`materials' does not contain an JSON object."; + } + return false; + } + Material material; + ParseStringProperty(&material.name, err, o, "name", false); + + if (!ParseMaterial(&material, err, warn, o, + store_original_json_for_extras_and_extensions_, + strictness_)) { + return false; + } + + model->materials.emplace_back(std::move(material)); + return true; + }); + + if (!success) { + return false; + } + } + + // 11. Parse Image + void *load_image_user_data{nullptr}; + + LoadImageDataOption load_image_option; + + if (user_image_loader_) { + // Use user supplied pointer + load_image_user_data = load_image_user_data_; + } else { + load_image_option.preserve_channels = preserve_image_channels_; + load_image_user_data = reinterpret_cast(&load_image_option); + } + + { + int idx = 0; + bool success = ForEachInArray(v, "images", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "image[" + std::to_string(idx) + "] is not a JSON object."; + } + return false; + } + Image image; + if (!ParseImage(&image, idx, err, warn, o, + store_original_json_for_extras_and_extensions_, base_dir, + max_external_file_size_, &fs, &uri_cb, + &this->LoadImageData, load_image_user_data)) { + return false; + } + + if (image.bufferView != -1) { + // Load image from the buffer view. + if (size_t(image.bufferView) >= model->bufferViews.size()) { + if (err) { + std::stringstream ss; + ss << "image[" << idx << "] bufferView \"" << image.bufferView + << "\" not found in the scene." << std::endl; + (*err) += ss.str(); + } + return false; + } + + const BufferView &bufferView = + model->bufferViews[size_t(image.bufferView)]; + if (size_t(bufferView.buffer) >= model->buffers.size()) { + if (err) { + std::stringstream ss; + ss << "image[" << idx << "] buffer \"" << bufferView.buffer + << "\" not found in the scene." << std::endl; + (*err) += ss.str(); + } + return false; + } + const Buffer &buffer = model->buffers[size_t(bufferView.buffer)]; + + if (*LoadImageData == nullptr) { + if (err) { + (*err) += "No LoadImageData callback specified.\n"; + } + return false; + } + bool ret = LoadImageData( + &image, idx, err, warn, image.width, image.height, + &buffer.data[bufferView.byteOffset], + static_cast(bufferView.byteLength), load_image_user_data); + if (!ret) { + return false; + } + } + + model->images.emplace_back(std::move(image)); + ++idx; + return true; + }); + + if (!success) { + return false; + } + } + + // 12. Parse Texture + { + bool success = ForEachInArray(v, "textures", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`textures' does not contain an JSON object."; + } + return false; + } + Texture texture; + if (!ParseTexture(&texture, err, o, + store_original_json_for_extras_and_extensions_, + base_dir)) { + return false; + } + + model->textures.emplace_back(std::move(texture)); + return true; + }); + + if (!success) { + return false; + } + } + + // 13. Parse Animation + { + bool success = ForEachInArray(v, "animations", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`animations' does not contain an JSON object."; + } + return false; + } + Animation animation; + if (!ParseAnimation(&animation, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->animations.emplace_back(std::move(animation)); + return true; + }); + + if (!success) { + return false; + } + } + + // 14. Parse Skin + { + bool success = ForEachInArray(v, "skins", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`skins' does not contain an JSON object."; + } + return false; + } + Skin skin; + if (!ParseSkin(&skin, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->skins.emplace_back(std::move(skin)); + return true; + }); + + if (!success) { + return false; + } + } + + // 15. Parse Sampler + { + bool success = ForEachInArray(v, "samplers", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`samplers' does not contain an JSON object."; + } + return false; + } + Sampler sampler; + if (!ParseSampler(&sampler, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->samplers.emplace_back(std::move(sampler)); + return true; + }); + + if (!success) { + return false; + } + } + + // 16. Parse Camera + { + bool success = ForEachInArray(v, "cameras", [&](const detail::json &o) { + if (!detail::IsObject(o)) { + if (err) { + (*err) += "`cameras' does not contain an JSON object."; + } + return false; + } + Camera camera; + if (!ParseCamera(&camera, err, o, + store_original_json_for_extras_and_extensions_)) { + return false; + } + + model->cameras.emplace_back(std::move(camera)); + return true; + }); + + if (!success) { + return false; + } + } + + // 17. Parse Extras & Extensions + ParseExtrasAndExtensions(model, err, v, + store_original_json_for_extras_and_extensions_); + + // 18. Specific extension implementations + { + detail::json_const_iterator rootIt; + if (detail::FindMember(v, "extensions", rootIt) && + detail::IsObject(detail::GetValue(rootIt))) { + const detail::json &root = detail::GetValue(rootIt); + + detail::json_const_iterator it(detail::ObjectBegin(root)); + detail::json_const_iterator itEnd(detail::ObjectEnd(root)); + for (; it != itEnd; ++it) { + // parse KHR_lights_punctual extension + std::string key(detail::GetKey(it)); + if ((key == "KHR_lights_punctual") && + detail::IsObject(detail::GetValue(it))) { + const detail::json &object = detail::GetValue(it); + detail::json_const_iterator itLight; + if (detail::FindMember(object, "lights", itLight)) { + const detail::json &lights = detail::GetValue(itLight); + if (!detail::IsArray(lights)) { + continue; + } + + auto arrayIt(detail::ArrayBegin(lights)); + auto arrayItEnd(detail::ArrayEnd(lights)); + for (; arrayIt != arrayItEnd; ++arrayIt) { + Light light; + if (!ParseLight(&light, err, *arrayIt, + store_original_json_for_extras_and_extensions_)) { + return false; + } + model->lights.emplace_back(std::move(light)); + } + } + } + // parse KHR_audio extension + if ((key == "KHR_audio") && detail::IsObject(detail::GetValue(it))) { + const detail::json &object = detail::GetValue(it); + detail::json_const_iterator itKhrAudio; + if (detail::FindMember(object, "emitters", itKhrAudio)) { + const detail::json &emitters = detail::GetValue(itKhrAudio); + if (!detail::IsArray(emitters)) { + continue; + } + + auto arrayIt(detail::ArrayBegin(emitters)); + auto arrayItEnd(detail::ArrayEnd(emitters)); + for (; arrayIt != arrayItEnd; ++arrayIt) { + AudioEmitter emitter; + if (!ParseAudioEmitter( + &emitter, err, *arrayIt, + store_original_json_for_extras_and_extensions_)) { + return false; + } + model->audioEmitters.emplace_back(std::move(emitter)); + } + } + + if (detail::FindMember(object, "sources", itKhrAudio)) { + const detail::json &sources = detail::GetValue(itKhrAudio); + if (!detail::IsArray(sources)) { + continue; + } + + auto arrayIt(detail::ArrayBegin(sources)); + auto arrayItEnd(detail::ArrayEnd(sources)); + for (; arrayIt != arrayItEnd; ++arrayIt) { + AudioSource source; + if (!ParseAudioSource( + &source, err, *arrayIt, + store_original_json_for_extras_and_extensions_)) { + return false; + } + model->audioSources.emplace_back(std::move(source)); + } + } + } + } + } + } + + return true; +} + +bool TinyGLTF::LoadASCIIFromString(Model *model, std::string *err, + std::string *warn, const char *str, + unsigned int length, + const std::string &base_dir, + unsigned int check_sections) { + is_binary_ = false; + bin_data_ = nullptr; + bin_size_ = 0; + + return LoadFromString(model, err, warn, str, length, base_dir, + check_sections); +} + +bool TinyGLTF::LoadASCIIFromFile(Model *model, std::string *err, + std::string *warn, const std::string &filename, + unsigned int check_sections) { + std::stringstream ss; + + if (fs.ReadWholeFile == nullptr) { + // Programmer error, assert() ? + ss << "Failed to read file: " << filename + << ": one or more FS callback not set" << std::endl; + if (err) { + (*err) = ss.str(); + } + return false; + } + + std::vector data; + std::string fileerr; + bool fileread = fs.ReadWholeFile(&data, &fileerr, filename, fs.user_data); + if (!fileread) { + ss << "Failed to read file: " << filename << ": " << fileerr << std::endl; + if (err) { + (*err) = ss.str(); + } + return false; + } + + size_t sz = data.size(); + if (sz == 0) { + if (err) { + (*err) = "Empty file."; + } + return false; + } + + std::string basedir = GetBaseDir(filename); + + bool ret = LoadASCIIFromString( + model, err, warn, reinterpret_cast(&data.at(0)), + static_cast(data.size()), basedir, check_sections); + + return ret; +} + +bool TinyGLTF::LoadBinaryFromMemory(Model *model, std::string *err, + std::string *warn, + const unsigned char *bytes, + unsigned int size, + const std::string &base_dir, + unsigned int check_sections) { + if (size < 20) { + if (err) { + (*err) = "Too short data size for glTF Binary."; + } + return false; + } + + if (bytes[0] == 'g' && bytes[1] == 'l' && bytes[2] == 'T' && + bytes[3] == 'F') { + // ok + } else { + if (err) { + (*err) = "Invalid magic."; + } + return false; + } + + unsigned int version; // 4 bytes + unsigned int length; // 4 bytes + unsigned int chunk0_length; // 4 bytes + unsigned int chunk0_format; // 4 bytes; + + memcpy(&version, bytes + 4, 4); + swap4(&version); + memcpy(&length, bytes + 8, 4); + swap4(&length); + memcpy(&chunk0_length, bytes + 12, 4); // JSON data length + swap4(&chunk0_length); + memcpy(&chunk0_format, bytes + 16, 4); + swap4(&chunk0_format); + + // https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#binary-gltf-layout + // + // In case the Bin buffer is not present, the size is exactly 20 + size of + // JSON contents, + // so use "greater than" operator. + // + // https://github.com/syoyo/tinygltf/issues/372 + // Use 64bit uint to avoid integer overflow. + uint64_t header_and_json_size = 20ull + uint64_t(chunk0_length); + + if (header_and_json_size > std::numeric_limits::max()) { + // Do not allow 4GB or more GLB data. + (*err) = "Invalid glTF binary. GLB data exceeds 4GB."; + } + + if ((header_and_json_size > uint64_t(size)) || (chunk0_length < 1) || + (length > size) || (header_and_json_size > uint64_t(length)) || + (chunk0_format != 0x4E4F534A)) { // 0x4E4F534A = JSON format. + if (err) { + (*err) = "Invalid glTF binary."; + } + return false; + } + + // Padding check + // The start and the end of each chunk must be aligned to a 4-byte boundary. + // No padding check for chunk0 start since its 4byte-boundary is ensured. + if ((header_and_json_size % 4) != 0) { + if (err) { + (*err) = "JSON Chunk end does not aligned to a 4-byte boundary."; + } + } + + // std::cout << "header_and_json_size = " << header_and_json_size << "\n"; + // std::cout << "length = " << length << "\n"; + + // Chunk1(BIN) data + // The spec says: When the binary buffer is empty or when it is stored by + // other means, this chunk SHOULD be omitted. So when header + JSON data == + // binary size, Chunk1 is omitted. + if (header_and_json_size == uint64_t(length)) { + bin_data_ = nullptr; + bin_size_ = 0; + } else { + // Read Chunk1 info(BIN data) + // At least Chunk1 should have 12 bytes(8 bytes(header) + 4 bytes(bin + // payload could be 1~3 bytes, but need to be aligned to 4 bytes) + if ((header_and_json_size + 12ull) > uint64_t(length)) { + if (err) { + (*err) = + "Insufficient storage space for Chunk1(BIN data). At least Chunk1 " + "Must have 4 or more bytes, but got " + + std::to_string((header_and_json_size + 8ull) - uint64_t(length)) + + ".\n"; + } + return false; + } + + unsigned int chunk1_length; // 4 bytes + unsigned int chunk1_format; // 4 bytes; + memcpy(&chunk1_length, bytes + header_and_json_size, + 4); // JSON data length + swap4(&chunk1_length); + memcpy(&chunk1_format, bytes + header_and_json_size + 4, 4); + swap4(&chunk1_format); + + // std::cout << "chunk1_length = " << chunk1_length << "\n"; + + if (chunk1_length < 4) { + if (err) { + (*err) = "Insufficient Chunk1(BIN) data size."; + } + return false; + } + + if ((chunk1_length % 4) != 0) { + if (strictness_==ParseStrictness::Permissive) { + if (warn) { + (*warn) += "BIN Chunk end is not aligned to a 4-byte boundary.\n"; + } + } + else { + if (err) { + (*err) = "BIN Chunk end is not aligned to a 4-byte boundary."; + } + return false; + } + } + + if (uint64_t(chunk1_length) + header_and_json_size > uint64_t(length)) { + if (err) { + (*err) = "BIN Chunk data length exceeds the GLB size."; + } + return false; + } + + if (chunk1_format != 0x004e4942) { + if (err) { + (*err) = "Invalid type for chunk1 data."; + } + return false; + } + + // std::cout << "chunk1_length = " << chunk1_length << "\n"; + + bin_data_ = bytes + header_and_json_size + + 8; // 4 bytes (bin_buffer_length) + 4 bytes(bin_buffer_format) + + bin_size_ = size_t(chunk1_length); + } + + is_binary_ = true; + + bool ret = LoadFromString(model, err, warn, + reinterpret_cast(&bytes[20]), + chunk0_length, base_dir, check_sections); + if (!ret) { + return ret; + } + + return true; +} + +bool TinyGLTF::LoadBinaryFromFile(Model *model, std::string *err, + std::string *warn, + const std::string &filename, + unsigned int check_sections) { + std::stringstream ss; + + if (fs.ReadWholeFile == nullptr) { + // Programmer error, assert() ? + ss << "Failed to read file: " << filename + << ": one or more FS callback not set" << std::endl; + if (err) { + (*err) = ss.str(); + } + return false; + } + + std::vector data; + std::string fileerr; + bool fileread = fs.ReadWholeFile(&data, &fileerr, filename, fs.user_data); + if (!fileread) { + ss << "Failed to read file: " << filename << ": " << fileerr << std::endl; + if (err) { + (*err) = ss.str(); + } + return false; + } + + std::string basedir = GetBaseDir(filename); + + bool ret = LoadBinaryFromMemory(model, err, warn, &data.at(0), + static_cast(data.size()), + basedir, check_sections); + + return ret; +} + +/////////////////////// +// GLTF Serialization +/////////////////////// +namespace detail { +detail::json JsonFromString(const char *s) { +#ifdef TINYGLTF_USE_RAPIDJSON + return detail::json(s, detail::GetAllocator()); +#else + return detail::json(s); +#endif +} + +void JsonAssign(detail::json &dest, const detail::json &src) { +#ifdef TINYGLTF_USE_RAPIDJSON + dest.CopyFrom(src, detail::GetAllocator()); +#else + dest = src; +#endif +} + +void JsonAddMember(detail::json &o, const char *key, detail::json &&value) { +#ifdef TINYGLTF_USE_RAPIDJSON + if (!o.IsObject()) { + o.SetObject(); + } + + // Issue 420. + // AddMember may create duplicated key, so use [] API when a key already + // exists. + // https://github.com/Tencent/rapidjson/issues/771#issuecomment-254386863 + detail::json_const_iterator it; + if (detail::FindMember(o, key, it)) { + o[key] = std::move(value); // replace + } else { + o.AddMember(detail::json(key, detail::GetAllocator()), std::move(value), + detail::GetAllocator()); + } +#else + o[key] = std::move(value); +#endif +} + +void JsonPushBack(detail::json &o, detail::json &&value) { +#ifdef TINYGLTF_USE_RAPIDJSON + o.PushBack(std::move(value), detail::GetAllocator()); +#else + o.push_back(std::move(value)); +#endif +} + +bool JsonIsNull(const detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + return o.IsNull(); +#else + return o.is_null(); +#endif +} + +void JsonSetObject(detail::json &o) { +#ifdef TINYGLTF_USE_RAPIDJSON + o.SetObject(); +#else + o = o.object({}); +#endif +} + +void JsonReserveArray(detail::json &o, size_t s) { +#ifdef TINYGLTF_USE_RAPIDJSON + o.SetArray(); + o.Reserve(static_cast(s), detail::GetAllocator()); +#endif + (void)(o); + (void)(s); +} +} // namespace detail + +// typedef std::pair json_object_pair; + +template +static void SerializeNumberProperty(const std::string &key, T number, + detail::json &obj) { + // obj.insert( + // json_object_pair(key, detail::json(static_cast(number)))); + // obj[key] = static_cast(number); + detail::JsonAddMember(obj, key.c_str(), detail::json(number)); +} + +#ifdef TINYGLTF_USE_RAPIDJSON +template <> +void SerializeNumberProperty(const std::string &key, size_t number, + detail::json &obj) { + detail::JsonAddMember(obj, key.c_str(), + detail::json(static_cast(number))); +} +#endif + +template +static void SerializeNumberArrayProperty(const std::string &key, + const std::vector &value, + detail::json &obj) { + if (value.empty()) return; + + detail::json ary; + detail::JsonReserveArray(ary, value.size()); + for (const auto &s : value) { + detail::JsonPushBack(ary, detail::json(s)); + } + detail::JsonAddMember(obj, key.c_str(), std::move(ary)); +} + +static void SerializeStringProperty(const std::string &key, + const std::string &value, + detail::json &obj) { + detail::JsonAddMember(obj, key.c_str(), + detail::JsonFromString(value.c_str())); +} + +static void SerializeStringArrayProperty(const std::string &key, + const std::vector &value, + detail::json &obj) { + detail::json ary; + detail::JsonReserveArray(ary, value.size()); + for (auto &s : value) { + detail::JsonPushBack(ary, detail::JsonFromString(s.c_str())); + } + detail::JsonAddMember(obj, key.c_str(), std::move(ary)); +} + +static bool ValueToJson(const Value &value, detail::json *ret) { + detail::json obj; +#ifdef TINYGLTF_USE_RAPIDJSON + switch (value.Type()) { + case REAL_TYPE: + obj.SetDouble(value.Get()); + break; + case INT_TYPE: + obj.SetInt(value.Get()); + break; + case BOOL_TYPE: + obj.SetBool(value.Get()); + break; + case STRING_TYPE: + obj.SetString(value.Get().c_str(), detail::GetAllocator()); + break; + case ARRAY_TYPE: { + obj.SetArray(); + obj.Reserve(static_cast(value.ArrayLen()), + detail::GetAllocator()); + for (unsigned int i = 0; i < value.ArrayLen(); ++i) { + Value elementValue = value.Get(int(i)); + detail::json elementJson; + if (ValueToJson(value.Get(int(i)), &elementJson)) + obj.PushBack(std::move(elementJson), detail::GetAllocator()); + } + break; + } + case BINARY_TYPE: + // TODO + // obj = detail::json(value.Get>()); + return false; + break; + case OBJECT_TYPE: { + obj.SetObject(); + Value::Object objMap = value.Get(); + for (auto &it : objMap) { + detail::json elementJson; + if (ValueToJson(it.second, &elementJson)) { + obj.AddMember(detail::json(it.first.c_str(), detail::GetAllocator()), + std::move(elementJson), detail::GetAllocator()); + } + } + break; + } + case NULL_TYPE: + default: + return false; + } +#else + switch (value.Type()) { + case REAL_TYPE: + obj = detail::json(value.Get()); + break; + case INT_TYPE: + obj = detail::json(value.Get()); + break; + case BOOL_TYPE: + obj = detail::json(value.Get()); + break; + case STRING_TYPE: + obj = detail::json(value.Get()); + break; + case ARRAY_TYPE: { + for (unsigned int i = 0; i < value.ArrayLen(); ++i) { + Value elementValue = value.Get(int(i)); + detail::json elementJson; + if (ValueToJson(value.Get(int(i)), &elementJson)) + obj.push_back(elementJson); + } + break; + } + case BINARY_TYPE: + // TODO + // obj = json(value.Get>()); + return false; + break; + case OBJECT_TYPE: { + Value::Object objMap = value.Get(); + for (auto &it : objMap) { + detail::json elementJson; + if (ValueToJson(it.second, &elementJson)) obj[it.first] = elementJson; + } + break; + } + case NULL_TYPE: + default: + return false; + } +#endif + if (ret) *ret = std::move(obj); + return true; +} + +static void SerializeValue(const std::string &key, const Value &value, + detail::json &obj) { + detail::json ret; + if (ValueToJson(value, &ret)) { + detail::JsonAddMember(obj, key.c_str(), std::move(ret)); + } +} + +static void SerializeGltfBufferData(const std::vector &data, + detail::json &o) { + std::string header = "data:application/octet-stream;base64,"; + if (data.size() > 0) { + std::string encodedData = + base64_encode(&data[0], static_cast(data.size())); + SerializeStringProperty("uri", header + encodedData, o); + } else { + // Issue #229 + // size 0 is allowed. Just emit mime header. + SerializeStringProperty("uri", header, o); + } +} + +static bool SerializeGltfBufferData(const std::vector &data, + const std::string &binFilename) { +#ifdef _WIN32 +#if defined(__GLIBCXX__) // mingw + int file_descriptor = _wopen(UTF8ToWchar(binFilename).c_str(), + _O_CREAT | _O_WRONLY | _O_TRUNC | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf( + file_descriptor, std::ios_base::out | std::ios_base::binary); + std::ostream output(&wfile_buf); + if (!wfile_buf.is_open()) return false; +#elif defined(_MSC_VER) + std::ofstream output(UTF8ToWchar(binFilename).c_str(), std::ofstream::binary); + if (!output.is_open()) return false; +#else + std::ofstream output(binFilename.c_str(), std::ofstream::binary); + if (!output.is_open()) return false; +#endif +#else + std::ofstream output(binFilename.c_str(), std::ofstream::binary); + if (!output.is_open()) return false; +#endif + if (data.size() > 0) { + output.write(reinterpret_cast(&data[0]), + std::streamsize(data.size())); + } else { + // Issue #229 + // size 0 will be still valid buffer data. + // write empty file. + } + return true; +} + +#if 0 // FIXME(syoyo): not used. will be removed in the future release. +static void SerializeParameterMap(ParameterMap ¶m, detail::json &o) { + for (ParameterMap::iterator paramIt = param.begin(); paramIt != param.end(); + ++paramIt) { + if (paramIt->second.number_array.size()) { + SerializeNumberArrayProperty(paramIt->first, + paramIt->second.number_array, o); + } else if (paramIt->second.json_double_value.size()) { + detail::json json_double_value; + for (std::map::iterator it = + paramIt->second.json_double_value.begin(); + it != paramIt->second.json_double_value.end(); ++it) { + if (it->first == "index") { + json_double_value[it->first] = paramIt->second.TextureIndex(); + } else { + json_double_value[it->first] = it->second; + } + } + + o[paramIt->first] = json_double_value; + } else if (!paramIt->second.string_value.empty()) { + SerializeStringProperty(paramIt->first, paramIt->second.string_value, o); + } else if (paramIt->second.has_number_value) { + o[paramIt->first] = paramIt->second.number_value; + } else { + o[paramIt->first] = paramIt->second.bool_value; + } + } +} +#endif + +static void SerializeExtensionMap(const ExtensionMap &extensions, + detail::json &o) { + if (!extensions.size()) return; + + detail::json extMap; + for (ExtensionMap::const_iterator extIt = extensions.begin(); + extIt != extensions.end(); ++extIt) { + // Allow an empty object for extension(#97) + detail::json ret; + bool isNull = true; + if (ValueToJson(extIt->second, &ret)) { + isNull = detail::JsonIsNull(ret); + detail::JsonAddMember(extMap, extIt->first.c_str(), std::move(ret)); + } + if (isNull) { + if (!(extIt->first.empty())) { // name should not be empty, but for sure + // create empty object so that an extension name is still included in + // json. + detail::json empty; + detail::JsonSetObject(empty); + detail::JsonAddMember(extMap, extIt->first.c_str(), std::move(empty)); + } + } + } + detail::JsonAddMember(o, "extensions", std::move(extMap)); +} + +static void SerializeExtras(const Value &extras, detail::json &o) { + if (extras.Type() != NULL_TYPE) SerializeValue("extras", extras, o); +} + +template +void SerializeExtrasAndExtensions(const GltfType &obj, detail::json &o) { + SerializeExtensionMap(obj.extensions, o); + SerializeExtras(obj.extras, o); +} + +static void SerializeGltfAccessor(const Accessor &accessor, detail::json &o) { + if (accessor.bufferView >= 0) + SerializeNumberProperty("bufferView", accessor.bufferView, o); + + if (accessor.byteOffset != 0) + SerializeNumberProperty("byteOffset", accessor.byteOffset, o); + + SerializeNumberProperty("componentType", accessor.componentType, o); + SerializeNumberProperty("count", accessor.count, o); + + if ((accessor.componentType == TINYGLTF_COMPONENT_TYPE_FLOAT) || + (accessor.componentType == TINYGLTF_COMPONENT_TYPE_DOUBLE)) { + SerializeNumberArrayProperty("min", accessor.minValues, o); + SerializeNumberArrayProperty("max", accessor.maxValues, o); + } else { + // Issue #301. Serialize as integer. + // Assume int value is within [-2**31-1, 2**31-1] + { + std::vector values; + std::transform(accessor.minValues.begin(), accessor.minValues.end(), + std::back_inserter(values), + [](double v) { return static_cast(v); }); + + SerializeNumberArrayProperty("min", values, o); + } + + { + std::vector values; + std::transform(accessor.maxValues.begin(), accessor.maxValues.end(), + std::back_inserter(values), + [](double v) { return static_cast(v); }); + + SerializeNumberArrayProperty("max", values, o); + } + } + + if (accessor.normalized) + SerializeValue("normalized", Value(accessor.normalized), o); + std::string type; + switch (accessor.type) { + case TINYGLTF_TYPE_SCALAR: + type = "SCALAR"; + break; + case TINYGLTF_TYPE_VEC2: + type = "VEC2"; + break; + case TINYGLTF_TYPE_VEC3: + type = "VEC3"; + break; + case TINYGLTF_TYPE_VEC4: + type = "VEC4"; + break; + case TINYGLTF_TYPE_MAT2: + type = "MAT2"; + break; + case TINYGLTF_TYPE_MAT3: + type = "MAT3"; + break; + case TINYGLTF_TYPE_MAT4: + type = "MAT4"; + break; + } + + SerializeStringProperty("type", type, o); + if (!accessor.name.empty()) SerializeStringProperty("name", accessor.name, o); + + SerializeExtrasAndExtensions(accessor, o); + + // sparse + if (accessor.sparse.isSparse) { + detail::json sparse; + SerializeNumberProperty("count", accessor.sparse.count, sparse); + { + detail::json indices; + SerializeNumberProperty("bufferView", + accessor.sparse.indices.bufferView, indices); + SerializeNumberProperty("byteOffset", + accessor.sparse.indices.byteOffset, indices); + SerializeNumberProperty( + "componentType", accessor.sparse.indices.componentType, indices); + SerializeExtrasAndExtensions(accessor.sparse.indices, indices); + detail::JsonAddMember(sparse, "indices", std::move(indices)); + } + { + detail::json values; + SerializeNumberProperty("bufferView", + accessor.sparse.values.bufferView, values); + SerializeNumberProperty("byteOffset", + accessor.sparse.values.byteOffset, values); + SerializeExtrasAndExtensions(accessor.sparse.values, values); + detail::JsonAddMember(sparse, "values", std::move(values)); + } + SerializeExtrasAndExtensions(accessor.sparse, sparse); + detail::JsonAddMember(o, "sparse", std::move(sparse)); + } +} + +static void SerializeGltfAnimationChannel(const AnimationChannel &channel, + detail::json &o) { + SerializeNumberProperty("sampler", channel.sampler, o); + { + detail::json target; + + if (channel.target_node >= 0) { + SerializeNumberProperty("node", channel.target_node, target); + } + + SerializeStringProperty("path", channel.target_path, target); + + SerializeExtensionMap(channel.target_extensions, target); + SerializeExtras(channel.target_extras, target); + + detail::JsonAddMember(o, "target", std::move(target)); + } + + SerializeExtrasAndExtensions(channel, o); +} + +static void SerializeGltfAnimationSampler(const AnimationSampler &sampler, + detail::json &o) { + SerializeNumberProperty("input", sampler.input, o); + SerializeNumberProperty("output", sampler.output, o); + SerializeStringProperty("interpolation", sampler.interpolation, o); + + SerializeExtrasAndExtensions(sampler, o); +} + +static void SerializeGltfAnimation(const Animation &animation, + detail::json &o) { + if (!animation.name.empty()) + SerializeStringProperty("name", animation.name, o); + + { + detail::json channels; + detail::JsonReserveArray(channels, animation.channels.size()); + for (unsigned int i = 0; i < animation.channels.size(); ++i) { + detail::json channel; + AnimationChannel gltfChannel = animation.channels[i]; + SerializeGltfAnimationChannel(gltfChannel, channel); + detail::JsonPushBack(channels, std::move(channel)); + } + + detail::JsonAddMember(o, "channels", std::move(channels)); + } + + { + detail::json samplers; + detail::JsonReserveArray(samplers, animation.samplers.size()); + for (unsigned int i = 0; i < animation.samplers.size(); ++i) { + detail::json sampler; + AnimationSampler gltfSampler = animation.samplers[i]; + SerializeGltfAnimationSampler(gltfSampler, sampler); + detail::JsonPushBack(samplers, std::move(sampler)); + } + detail::JsonAddMember(o, "samplers", std::move(samplers)); + } + + SerializeExtrasAndExtensions(animation, o); +} + +static void SerializeGltfAsset(const Asset &asset, detail::json &o) { + if (!asset.generator.empty()) { + SerializeStringProperty("generator", asset.generator, o); + } + + if (!asset.copyright.empty()) { + SerializeStringProperty("copyright", asset.copyright, o); + } + + auto version = asset.version; + if (version.empty()) { + // Just in case + // `version` must be defined + version = "2.0"; + } + + // TODO(syoyo): Do we need to check if `version` is greater or equal to 2.0? + SerializeStringProperty("version", version, o); + + SerializeExtrasAndExtensions(asset, o); +} + +static void SerializeGltfBufferBin(const Buffer &buffer, detail::json &o, + std::vector &binBuffer) { + SerializeNumberProperty("byteLength", buffer.data.size(), o); + binBuffer = buffer.data; + + if (buffer.name.size()) SerializeStringProperty("name", buffer.name, o); + + SerializeExtrasAndExtensions(buffer, o); +} + +static void SerializeGltfBuffer(const Buffer &buffer, detail::json &o) { + SerializeNumberProperty("byteLength", buffer.data.size(), o); + SerializeGltfBufferData(buffer.data, o); + + if (buffer.name.size()) SerializeStringProperty("name", buffer.name, o); + + SerializeExtrasAndExtensions(buffer, o); +} + +static bool SerializeGltfBuffer(const Buffer &buffer, detail::json &o, + const std::string &binFilename, + const std::string &binUri) { + if (!SerializeGltfBufferData(buffer.data, binFilename)) return false; + SerializeNumberProperty("byteLength", buffer.data.size(), o); + SerializeStringProperty("uri", binUri, o); + + if (buffer.name.size()) SerializeStringProperty("name", buffer.name, o); + + SerializeExtrasAndExtensions(buffer, o); + return true; +} + +static void SerializeGltfBufferView(const BufferView &bufferView, + detail::json &o) { + SerializeNumberProperty("buffer", bufferView.buffer, o); + SerializeNumberProperty("byteLength", bufferView.byteLength, o); + + // byteStride is optional, minimum allowed is 4 + if (bufferView.byteStride >= 4) { + SerializeNumberProperty("byteStride", bufferView.byteStride, o); + } + // byteOffset is optional, default is 0 + if (bufferView.byteOffset > 0) { + SerializeNumberProperty("byteOffset", bufferView.byteOffset, o); + } + // Target is optional, check if it contains a valid value + if (bufferView.target == TINYGLTF_TARGET_ARRAY_BUFFER || + bufferView.target == TINYGLTF_TARGET_ELEMENT_ARRAY_BUFFER) { + SerializeNumberProperty("target", bufferView.target, o); + } + if (bufferView.name.size()) { + SerializeStringProperty("name", bufferView.name, o); + } + + SerializeExtrasAndExtensions(bufferView, o); +} + +static void SerializeGltfImage(const Image &image, const std::string &uri, + detail::json &o) { + // From 2.7.0, we look for `uri` parameter, not `Image.uri` + // if uri is empty, the mimeType and bufferview should be set + if (uri.empty()) { + SerializeStringProperty("mimeType", image.mimeType, o); + SerializeNumberProperty("bufferView", image.bufferView, o); + } else { + SerializeStringProperty("uri", uri, o); + } + + if (image.name.size()) { + SerializeStringProperty("name", image.name, o); + } + + SerializeExtrasAndExtensions(image, o); +} + +static void SerializeGltfTextureInfo(const TextureInfo &texinfo, + detail::json &o) { + SerializeNumberProperty("index", texinfo.index, o); + + if (texinfo.texCoord != 0) { + SerializeNumberProperty("texCoord", texinfo.texCoord, o); + } + + SerializeExtrasAndExtensions(texinfo, o); +} + +static void SerializeGltfNormalTextureInfo(const NormalTextureInfo &texinfo, + detail::json &o) { + SerializeNumberProperty("index", texinfo.index, o); + + if (texinfo.texCoord != 0) { + SerializeNumberProperty("texCoord", texinfo.texCoord, o); + } + + if (!TINYGLTF_DOUBLE_EQUAL(texinfo.scale, 1.0)) { + SerializeNumberProperty("scale", texinfo.scale, o); + } + + SerializeExtrasAndExtensions(texinfo, o); +} + +static void SerializeGltfOcclusionTextureInfo( + const OcclusionTextureInfo &texinfo, detail::json &o) { + SerializeNumberProperty("index", texinfo.index, o); + + if (texinfo.texCoord != 0) { + SerializeNumberProperty("texCoord", texinfo.texCoord, o); + } + + if (!TINYGLTF_DOUBLE_EQUAL(texinfo.strength, 1.0)) { + SerializeNumberProperty("strength", texinfo.strength, o); + } + + SerializeExtrasAndExtensions(texinfo, o); +} + +static void SerializeGltfPbrMetallicRoughness(const PbrMetallicRoughness &pbr, + detail::json &o) { + std::vector default_baseColorFactor = {1.0, 1.0, 1.0, 1.0}; + if (!Equals(pbr.baseColorFactor, default_baseColorFactor)) { + SerializeNumberArrayProperty("baseColorFactor", pbr.baseColorFactor, + o); + } + + if (!TINYGLTF_DOUBLE_EQUAL(pbr.metallicFactor, 1.0)) { + SerializeNumberProperty("metallicFactor", pbr.metallicFactor, o); + } + + if (!TINYGLTF_DOUBLE_EQUAL(pbr.roughnessFactor, 1.0)) { + SerializeNumberProperty("roughnessFactor", pbr.roughnessFactor, o); + } + + if (pbr.baseColorTexture.index > -1) { + detail::json texinfo; + SerializeGltfTextureInfo(pbr.baseColorTexture, texinfo); + detail::JsonAddMember(o, "baseColorTexture", std::move(texinfo)); + } + + if (pbr.metallicRoughnessTexture.index > -1) { + detail::json texinfo; + SerializeGltfTextureInfo(pbr.metallicRoughnessTexture, texinfo); + detail::JsonAddMember(o, "metallicRoughnessTexture", std::move(texinfo)); + } + + SerializeExtrasAndExtensions(pbr, o); +} + +static void SerializeGltfMaterial(const Material &material, detail::json &o) { + if (material.name.size()) { + SerializeStringProperty("name", material.name, o); + } + + // QUESTION(syoyo): Write material parameters regardless of its default value? + + if (!TINYGLTF_DOUBLE_EQUAL(material.alphaCutoff, 0.5)) { + SerializeNumberProperty("alphaCutoff", material.alphaCutoff, o); + } + + if (material.alphaMode.compare("OPAQUE") != 0) { + SerializeStringProperty("alphaMode", material.alphaMode, o); + } + + if (material.doubleSided != false) + detail::JsonAddMember(o, "doubleSided", detail::json(material.doubleSided)); + + if (material.normalTexture.index > -1) { + detail::json texinfo; + SerializeGltfNormalTextureInfo(material.normalTexture, texinfo); + detail::JsonAddMember(o, "normalTexture", std::move(texinfo)); + } + + if (material.occlusionTexture.index > -1) { + detail::json texinfo; + SerializeGltfOcclusionTextureInfo(material.occlusionTexture, texinfo); + detail::JsonAddMember(o, "occlusionTexture", std::move(texinfo)); + } + + if (material.emissiveTexture.index > -1) { + detail::json texinfo; + SerializeGltfTextureInfo(material.emissiveTexture, texinfo); + detail::JsonAddMember(o, "emissiveTexture", std::move(texinfo)); + } + + std::vector default_emissiveFactor = {0.0, 0.0, 0.0}; + if (!Equals(material.emissiveFactor, default_emissiveFactor)) { + SerializeNumberArrayProperty("emissiveFactor", + material.emissiveFactor, o); + } + + { + detail::json pbrMetallicRoughness; + SerializeGltfPbrMetallicRoughness(material.pbrMetallicRoughness, + pbrMetallicRoughness); + // Issue 204 + // Do not serialize `pbrMetallicRoughness` if pbrMetallicRoughness has all + // default values(json is null). Otherwise it will serialize to + // `pbrMetallicRoughness : null`, which cannot be read by other glTF + // importers (and validators). + // + if (!detail::JsonIsNull(pbrMetallicRoughness)) { + detail::JsonAddMember(o, "pbrMetallicRoughness", + std::move(pbrMetallicRoughness)); + } + } + +#if 0 // legacy way. just for the record. + if (material.values.size()) { + detail::json pbrMetallicRoughness; + SerializeParameterMap(material.values, pbrMetallicRoughness); + detail::JsonAddMember(o, "pbrMetallicRoughness", std::move(pbrMetallicRoughness)); + } + + SerializeParameterMap(material.additionalValues, o); +#else + +#endif + + SerializeExtrasAndExtensions(material, o); +} + +static void SerializeGltfMesh(const Mesh &mesh, detail::json &o) { + detail::json primitives; + detail::JsonReserveArray(primitives, mesh.primitives.size()); + for (unsigned int i = 0; i < mesh.primitives.size(); ++i) { + detail::json primitive; + const Primitive &gltfPrimitive = mesh.primitives[i]; // don't make a copy + { + detail::json attributes; + for (auto attrIt = gltfPrimitive.attributes.begin(); + attrIt != gltfPrimitive.attributes.end(); ++attrIt) { + SerializeNumberProperty(attrIt->first, attrIt->second, attributes); + } + + detail::JsonAddMember(primitive, "attributes", std::move(attributes)); + } + + // Indices is optional + if (gltfPrimitive.indices > -1) { + SerializeNumberProperty("indices", gltfPrimitive.indices, primitive); + } + // Material is optional + if (gltfPrimitive.material > -1) { + SerializeNumberProperty("material", gltfPrimitive.material, + primitive); + } + SerializeNumberProperty("mode", gltfPrimitive.mode, primitive); + + // Morph targets + if (gltfPrimitive.targets.size()) { + detail::json targets; + detail::JsonReserveArray(targets, gltfPrimitive.targets.size()); + for (unsigned int k = 0; k < gltfPrimitive.targets.size(); ++k) { + detail::json targetAttributes; + std::map targetData = gltfPrimitive.targets[k]; + for (std::map::iterator attrIt = targetData.begin(); + attrIt != targetData.end(); ++attrIt) { + SerializeNumberProperty(attrIt->first, attrIt->second, + targetAttributes); + } + detail::JsonPushBack(targets, std::move(targetAttributes)); + } + detail::JsonAddMember(primitive, "targets", std::move(targets)); + } + + SerializeExtrasAndExtensions(gltfPrimitive, primitive); + + detail::JsonPushBack(primitives, std::move(primitive)); + } + + detail::JsonAddMember(o, "primitives", std::move(primitives)); + + if (mesh.weights.size()) { + SerializeNumberArrayProperty("weights", mesh.weights, o); + } + + if (mesh.name.size()) { + SerializeStringProperty("name", mesh.name, o); + } + + SerializeExtrasAndExtensions(mesh, o); +} + +static void SerializeSpotLight(const SpotLight &spot, detail::json &o) { + SerializeNumberProperty("innerConeAngle", spot.innerConeAngle, o); + SerializeNumberProperty("outerConeAngle", spot.outerConeAngle, o); + SerializeExtrasAndExtensions(spot, o); +} + +static void SerializeGltfLight(const Light &light, detail::json &o) { + if (!light.name.empty()) SerializeStringProperty("name", light.name, o); + SerializeNumberProperty("intensity", light.intensity, o); + if (light.range > 0.0) { + SerializeNumberProperty("range", light.range, o); + } + SerializeNumberArrayProperty("color", light.color, o); + SerializeStringProperty("type", light.type, o); + if (light.type == "spot") { + detail::json spot; + SerializeSpotLight(light.spot, spot); + detail::JsonAddMember(o, "spot", std::move(spot)); + } + SerializeExtrasAndExtensions(light, o); +} + +static void SerializeGltfPositionalEmitter(const PositionalEmitter &positional, + detail::json &o) { + if (!TINYGLTF_DOUBLE_EQUAL(positional.coneInnerAngle, 6.283185307179586)) + SerializeNumberProperty("coneInnerAngle", positional.coneInnerAngle, o); + if (!TINYGLTF_DOUBLE_EQUAL(positional.coneOuterAngle, 6.283185307179586)) + SerializeNumberProperty("coneOuterAngle", positional.coneOuterAngle, o); + if (positional.coneOuterGain > 0.0) + SerializeNumberProperty("coneOuterGain", positional.coneOuterGain, o); + if (!TINYGLTF_DOUBLE_EQUAL(positional.maxDistance, 100.0)) + SerializeNumberProperty("maxDistance", positional.maxDistance, o); + if (!TINYGLTF_DOUBLE_EQUAL(positional.refDistance, 1.0)) + SerializeNumberProperty("refDistance", positional.refDistance, o); + if (!TINYGLTF_DOUBLE_EQUAL(positional.rolloffFactor, 1.0)) + SerializeNumberProperty("rolloffFactor", positional.rolloffFactor, o); + + SerializeExtrasAndExtensions(positional, o); +} + +static void SerializeGltfAudioEmitter(const AudioEmitter &emitter, + detail::json &o) { + if (!emitter.name.empty()) SerializeStringProperty("name", emitter.name, o); + if (!TINYGLTF_DOUBLE_EQUAL(emitter.gain, 1.0)) + SerializeNumberProperty("gain", emitter.gain, o); + if (emitter.loop) SerializeNumberProperty("loop", emitter.loop, o); + if (emitter.playing) SerializeNumberProperty("playing", emitter.playing, o); + if (!emitter.type.empty()) SerializeStringProperty("type", emitter.type, o); + if (!emitter.distanceModel.empty()) + SerializeStringProperty("distanceModel", emitter.distanceModel, o); + if (emitter.type == "positional") { + detail::json positional; + SerializeGltfPositionalEmitter(emitter.positional, positional); + detail::JsonAddMember(o, "positional", std::move(positional)); + } + SerializeNumberProperty("source", emitter.source, o); + SerializeExtrasAndExtensions(emitter, o); +} + +static void SerializeGltfAudioSource(const AudioSource &source, + detail::json &o) { + std::string name; + std::string uri; + std::string mimeType; // (required if no uri) ["audio/mp3", "audio/ogg", + // "audio/wav", "audio/m4a"] + + if (!source.name.empty()) SerializeStringProperty("name", source.name, o); + if (source.uri.empty()) { + SerializeStringProperty("mimeType", source.mimeType, o); + SerializeNumberProperty("bufferView", source.bufferView, o); + } else { + SerializeStringProperty("uri", source.uri, o); + } + SerializeExtrasAndExtensions(source, o); +} + +static void SerializeGltfNode(const Node &node, detail::json &o) { + if (node.translation.size() > 0) { + SerializeNumberArrayProperty("translation", node.translation, o); + } + if (node.rotation.size() > 0) { + SerializeNumberArrayProperty("rotation", node.rotation, o); + } + if (node.scale.size() > 0) { + SerializeNumberArrayProperty("scale", node.scale, o); + } + if (node.matrix.size() > 0) { + SerializeNumberArrayProperty("matrix", node.matrix, o); + } + if (node.mesh != -1) { + SerializeNumberProperty("mesh", node.mesh, o); + } + + if (node.skin != -1) { + SerializeNumberProperty("skin", node.skin, o); + } + + if (node.camera != -1) { + SerializeNumberProperty("camera", node.camera, o); + } + + if (node.weights.size() > 0) { + SerializeNumberArrayProperty("weights", node.weights, o); + } + + SerializeExtrasAndExtensions(node, o); + + // Note(agnat): If the asset was loaded from disk, the node may already + // contain the KHR_lights_punctual extension. If it was constructed in + // memory it does not. In any case we update the JSON property using + // the value from the struct. Last, if the node does not have a light + // reference but the extension is still present, we remove it. + if (node.light != -1) { + detail::json_iterator it; + if (!detail::FindMember(o, "extensions", it)) { + detail::json extensions; + detail::JsonSetObject(extensions); + detail::JsonAddMember(o, "extensions", std::move(extensions)); + detail::FindMember(o, "extensions", it); + } + auto &extensions = detail::GetValue(it); + if (!detail::FindMember(extensions, "KHR_lights_punctual", it)) { + detail::json lights_punctual; + detail::JsonSetObject(lights_punctual); + detail::JsonAddMember(extensions, "KHR_lights_punctual", + std::move(lights_punctual)); + detail::FindMember(o, "KHR_lights_punctual", it); + } + SerializeNumberProperty("light", node.light, detail::GetValue(it)); + } else { + // node has no light ref (any longer)... so we clean up + detail::json_iterator ext_it; + if (detail::FindMember(o, "extensions", ext_it)) { + auto &extensions = detail::GetValue(ext_it); + detail::json_iterator lp_it; + if (detail::FindMember(extensions, "KHR_lights_punctual", lp_it)) { + detail::Erase(extensions, lp_it); + } + if (detail::IsEmpty(extensions)) { + detail::Erase(o, ext_it); + } + } + } + + // KHR_audio + if (node.emitter != -1) { + detail::json_iterator it; + if (!detail::FindMember(o, "extensions", it)) { + detail::json extensions; + detail::JsonSetObject(extensions); + detail::JsonAddMember(o, "extensions", std::move(extensions)); + detail::FindMember(o, "extensions", it); + } + auto &extensions = detail::GetValue(it); + if (!detail::FindMember(extensions, "KHR_audio", it)) { + detail::json audio; + detail::JsonSetObject(audio); + detail::JsonAddMember(extensions, "KHR_audio", std::move(audio)); + detail::FindMember(o, "KHR_audio", it); + } + SerializeNumberProperty("emitter", node.emitter, detail::GetValue(it)); + } else { + detail::json_iterator ext_it; + if (detail::FindMember(o, "extensions", ext_it)) { + auto &extensions = detail::GetValue(ext_it); + detail::json_iterator lp_it; + if (detail::FindMember(extensions, "KHR_audio", lp_it)) { + detail::Erase(extensions, lp_it); + } + if (detail::IsEmpty(extensions)) { + detail::Erase(o, ext_it); + } + } + } + + if (!node.name.empty()) SerializeStringProperty("name", node.name, o); + SerializeNumberArrayProperty("children", node.children, o); +} + +static void SerializeGltfSampler(const Sampler &sampler, detail::json &o) { + if (!sampler.name.empty()) { + SerializeStringProperty("name", sampler.name, o); + } + if (sampler.magFilter != -1) { + SerializeNumberProperty("magFilter", sampler.magFilter, o); + } + if (sampler.minFilter != -1) { + SerializeNumberProperty("minFilter", sampler.minFilter, o); + } + // SerializeNumberProperty("wrapR", sampler.wrapR, o); + SerializeNumberProperty("wrapS", sampler.wrapS, o); + SerializeNumberProperty("wrapT", sampler.wrapT, o); + + SerializeExtrasAndExtensions(sampler, o); +} + +static void SerializeGltfOrthographicCamera(const OrthographicCamera &camera, + detail::json &o) { + SerializeNumberProperty("zfar", camera.zfar, o); + SerializeNumberProperty("znear", camera.znear, o); + SerializeNumberProperty("xmag", camera.xmag, o); + SerializeNumberProperty("ymag", camera.ymag, o); + + SerializeExtrasAndExtensions(camera, o); +} + +static void SerializeGltfPerspectiveCamera(const PerspectiveCamera &camera, + detail::json &o) { + SerializeNumberProperty("zfar", camera.zfar, o); + SerializeNumberProperty("znear", camera.znear, o); + if (camera.aspectRatio > 0) { + SerializeNumberProperty("aspectRatio", camera.aspectRatio, o); + } + + if (camera.yfov > 0) { + SerializeNumberProperty("yfov", camera.yfov, o); + } + + SerializeExtrasAndExtensions(camera, o); +} + +static void SerializeGltfCamera(const Camera &camera, detail::json &o) { + SerializeStringProperty("type", camera.type, o); + if (!camera.name.empty()) { + SerializeStringProperty("name", camera.name, o); + } + + if (camera.type.compare("orthographic") == 0) { + detail::json orthographic; + SerializeGltfOrthographicCamera(camera.orthographic, orthographic); + detail::JsonAddMember(o, "orthographic", std::move(orthographic)); + } else if (camera.type.compare("perspective") == 0) { + detail::json perspective; + SerializeGltfPerspectiveCamera(camera.perspective, perspective); + detail::JsonAddMember(o, "perspective", std::move(perspective)); + } else { + // ??? + } + + SerializeExtrasAndExtensions(camera, o); +} + +static void SerializeGltfScene(const Scene &scene, detail::json &o) { + SerializeNumberArrayProperty("nodes", scene.nodes, o); + + if (scene.name.size()) { + SerializeStringProperty("name", scene.name, o); + } + SerializeExtrasAndExtensions(scene, o); + + // KHR_audio + if (!scene.audioEmitters.empty()) { + detail::json_iterator it; + if (!detail::FindMember(o, "extensions", it)) { + detail::json extensions; + detail::JsonSetObject(extensions); + detail::JsonAddMember(o, "extensions", std::move(extensions)); + detail::FindMember(o, "extensions", it); + } + auto &extensions = detail::GetValue(it); + if (!detail::FindMember(extensions, "KHR_audio", it)) { + detail::json audio; + detail::JsonSetObject(audio); + detail::JsonAddMember(extensions, "KHR_audio", std::move(audio)); + detail::FindMember(o, "KHR_audio", it); + } + SerializeNumberArrayProperty("emitters", scene.audioEmitters, + detail::GetValue(it)); + } else { + detail::json_iterator ext_it; + if (detail::FindMember(o, "extensions", ext_it)) { + auto &extensions = detail::GetValue(ext_it); + detail::json_iterator lp_it; + if (detail::FindMember(extensions, "KHR_audio", lp_it)) { + detail::Erase(extensions, lp_it); + } + if (detail::IsEmpty(extensions)) { + detail::Erase(o, ext_it); + } + } + } +} + +static void SerializeGltfSkin(const Skin &skin, detail::json &o) { + // required + SerializeNumberArrayProperty("joints", skin.joints, o); + + if (skin.inverseBindMatrices >= 0) { + SerializeNumberProperty("inverseBindMatrices", skin.inverseBindMatrices, o); + } + + if (skin.skeleton >= 0) { + SerializeNumberProperty("skeleton", skin.skeleton, o); + } + + if (skin.name.size()) { + SerializeStringProperty("name", skin.name, o); + } + + SerializeExtrasAndExtensions(skin, o); +} + +static void SerializeGltfTexture(const Texture &texture, detail::json &o) { + if (texture.sampler > -1) { + SerializeNumberProperty("sampler", texture.sampler, o); + } + if (texture.source > -1) { + SerializeNumberProperty("source", texture.source, o); + } + if (texture.name.size()) { + SerializeStringProperty("name", texture.name, o); + } + SerializeExtrasAndExtensions(texture, o); +} + +/// +/// Serialize all properties except buffers and images. +/// +static void SerializeGltfModel(const Model *model, detail::json &o) { + // ACCESSORS + if (model->accessors.size()) { + detail::json accessors; + detail::JsonReserveArray(accessors, model->accessors.size()); + for (unsigned int i = 0; i < model->accessors.size(); ++i) { + detail::json accessor; + SerializeGltfAccessor(model->accessors[i], accessor); + detail::JsonPushBack(accessors, std::move(accessor)); + } + detail::JsonAddMember(o, "accessors", std::move(accessors)); + } + + // ANIMATIONS + if (model->animations.size()) { + detail::json animations; + detail::JsonReserveArray(animations, model->animations.size()); + for (unsigned int i = 0; i < model->animations.size(); ++i) { + if (model->animations[i].channels.size()) { + detail::json animation; + SerializeGltfAnimation(model->animations[i], animation); + detail::JsonPushBack(animations, std::move(animation)); + } + } + + detail::JsonAddMember(o, "animations", std::move(animations)); + } + + // ASSET + detail::json asset; + SerializeGltfAsset(model->asset, asset); + detail::JsonAddMember(o, "asset", std::move(asset)); + + // BUFFERVIEWS + if (model->bufferViews.size()) { + detail::json bufferViews; + detail::JsonReserveArray(bufferViews, model->bufferViews.size()); + for (unsigned int i = 0; i < model->bufferViews.size(); ++i) { + detail::json bufferView; + SerializeGltfBufferView(model->bufferViews[i], bufferView); + detail::JsonPushBack(bufferViews, std::move(bufferView)); + } + detail::JsonAddMember(o, "bufferViews", std::move(bufferViews)); + } + + // Extensions required + if (model->extensionsRequired.size()) { + SerializeStringArrayProperty("extensionsRequired", + model->extensionsRequired, o); + } + + // MATERIALS + if (model->materials.size()) { + detail::json materials; + detail::JsonReserveArray(materials, model->materials.size()); + for (unsigned int i = 0; i < model->materials.size(); ++i) { + detail::json material; + SerializeGltfMaterial(model->materials[i], material); + + if (detail::JsonIsNull(material)) { + // Issue 294. + // `material` does not have any required parameters + // so the result may be null(unmodified) when all material parameters + // have default value. + // + // null is not allowed thus we create an empty JSON object. + detail::JsonSetObject(material); + } + detail::JsonPushBack(materials, std::move(material)); + } + detail::JsonAddMember(o, "materials", std::move(materials)); + } + + // MESHES + if (model->meshes.size()) { + detail::json meshes; + detail::JsonReserveArray(meshes, model->meshes.size()); + for (unsigned int i = 0; i < model->meshes.size(); ++i) { + detail::json mesh; + SerializeGltfMesh(model->meshes[i], mesh); + detail::JsonPushBack(meshes, std::move(mesh)); + } + detail::JsonAddMember(o, "meshes", std::move(meshes)); + } + + // NODES + if (model->nodes.size()) { + detail::json nodes; + detail::JsonReserveArray(nodes, model->nodes.size()); + for (unsigned int i = 0; i < model->nodes.size(); ++i) { + detail::json node; + SerializeGltfNode(model->nodes[i], node); + detail::JsonPushBack(nodes, std::move(node)); + } + detail::JsonAddMember(o, "nodes", std::move(nodes)); + } + + // SCENE + if (model->defaultScene > -1) { + SerializeNumberProperty("scene", model->defaultScene, o); + } + + // SCENES + if (model->scenes.size()) { + detail::json scenes; + detail::JsonReserveArray(scenes, model->scenes.size()); + for (unsigned int i = 0; i < model->scenes.size(); ++i) { + detail::json currentScene; + SerializeGltfScene(model->scenes[i], currentScene); + detail::JsonPushBack(scenes, std::move(currentScene)); + } + detail::JsonAddMember(o, "scenes", std::move(scenes)); + } + + // SKINS + if (model->skins.size()) { + detail::json skins; + detail::JsonReserveArray(skins, model->skins.size()); + for (unsigned int i = 0; i < model->skins.size(); ++i) { + detail::json skin; + SerializeGltfSkin(model->skins[i], skin); + detail::JsonPushBack(skins, std::move(skin)); + } + detail::JsonAddMember(o, "skins", std::move(skins)); + } + + // TEXTURES + if (model->textures.size()) { + detail::json textures; + detail::JsonReserveArray(textures, model->textures.size()); + for (unsigned int i = 0; i < model->textures.size(); ++i) { + detail::json texture; + SerializeGltfTexture(model->textures[i], texture); + detail::JsonPushBack(textures, std::move(texture)); + } + detail::JsonAddMember(o, "textures", std::move(textures)); + } + + // SAMPLERS + if (model->samplers.size()) { + detail::json samplers; + detail::JsonReserveArray(samplers, model->samplers.size()); + for (unsigned int i = 0; i < model->samplers.size(); ++i) { + detail::json sampler; + SerializeGltfSampler(model->samplers[i], sampler); + detail::JsonPushBack(samplers, std::move(sampler)); + } + detail::JsonAddMember(o, "samplers", std::move(samplers)); + } + + // CAMERAS + if (model->cameras.size()) { + detail::json cameras; + detail::JsonReserveArray(cameras, model->cameras.size()); + for (unsigned int i = 0; i < model->cameras.size(); ++i) { + detail::json camera; + SerializeGltfCamera(model->cameras[i], camera); + detail::JsonPushBack(cameras, std::move(camera)); + } + detail::JsonAddMember(o, "cameras", std::move(cameras)); + } + + // EXTRAS & EXTENSIONS + SerializeExtrasAndExtensions(*model, o); + + auto extensionsUsed = model->extensionsUsed; + + // LIGHTS as KHR_lights_punctual + if (model->lights.size()) { + detail::json lights; + detail::JsonReserveArray(lights, model->lights.size()); + for (unsigned int i = 0; i < model->lights.size(); ++i) { + detail::json light; + SerializeGltfLight(model->lights[i], light); + detail::JsonPushBack(lights, std::move(light)); + } + detail::json khr_lights_cmn; + detail::JsonAddMember(khr_lights_cmn, "lights", std::move(lights)); + detail::json ext_j; + + { + detail::json_const_iterator it; + if (detail::FindMember(o, "extensions", it)) { + detail::JsonAssign(ext_j, detail::GetValue(it)); + } + } + + detail::JsonAddMember(ext_j, "KHR_lights_punctual", + std::move(khr_lights_cmn)); + + detail::JsonAddMember(o, "extensions", std::move(ext_j)); + + // Also add "KHR_lights_punctual" to `extensionsUsed` + { + auto has_khr_lights_punctual = + std::find_if(extensionsUsed.begin(), extensionsUsed.end(), + [](const std::string &s) { + return (s.compare("KHR_lights_punctual") == 0); + }); + + if (has_khr_lights_punctual == extensionsUsed.end()) { + extensionsUsed.push_back("KHR_lights_punctual"); + } + } + } + + // KHR_audio + if (!model->audioEmitters.empty() || !model->audioSources.empty()) { + detail::json emitters; + detail::JsonReserveArray(emitters, model->audioEmitters.size()); + for (unsigned int i = 0; i < model->audioEmitters.size(); ++i) { + detail::json emitter; + SerializeGltfAudioEmitter(model->audioEmitters[i], emitter); + detail::JsonPushBack(emitters, std::move(emitter)); + } + detail::json khr_audio_cmn; + detail::JsonAddMember(khr_audio_cmn, "emitters", std::move(emitters)); + + detail::json sources; + detail::JsonReserveArray(sources, model->audioSources.size()); + for (unsigned int i = 0; i < model->audioSources.size(); ++i) { + detail::json source; + SerializeGltfAudioSource(model->audioSources[i], source); + detail::JsonPushBack(sources, std::move(source)); + } + detail::JsonAddMember(khr_audio_cmn, "sources", std::move(sources)); + + detail::json ext_j; + { + detail::json_const_iterator it; + if (detail::FindMember(o, "extensions", it)) { + detail::JsonAssign(ext_j, detail::GetValue(it)); + } + } + + detail::JsonAddMember(ext_j, "KHR_audio", std::move(khr_audio_cmn)); + + detail::JsonAddMember(o, "extensions", std::move(ext_j)); + + // Also add "KHR_audio" to `extensionsUsed` + { + auto has_khr_audio = std::find_if( + extensionsUsed.begin(), extensionsUsed.end(), + [](const std::string &s) { return (s.compare("KHR_audio") == 0); }); + + if (has_khr_audio == extensionsUsed.end()) { + extensionsUsed.push_back("KHR_audio"); + } + } + } + + // Extensions used + if (extensionsUsed.size()) { + SerializeStringArrayProperty("extensionsUsed", extensionsUsed, o); + } +} + +static bool WriteGltfStream(std::ostream &stream, const std::string &content) { + stream << content << std::endl; + return stream.good(); +} + +static bool WriteGltfFile(const std::string &output, + const std::string &content) { +#ifdef _WIN32 +#if defined(_MSC_VER) + std::ofstream gltfFile(UTF8ToWchar(output).c_str()); +#elif defined(__GLIBCXX__) + int file_descriptor = _wopen(UTF8ToWchar(output).c_str(), + _O_CREAT | _O_WRONLY | _O_TRUNC | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf( + file_descriptor, std::ios_base::out | std::ios_base::binary); + std::ostream gltfFile(&wfile_buf); + if (!wfile_buf.is_open()) return false; +#else + std::ofstream gltfFile(output.c_str()); + if (!gltfFile.is_open()) return false; +#endif +#else + std::ofstream gltfFile(output.c_str()); + if (!gltfFile.is_open()) return false; +#endif + return WriteGltfStream(gltfFile, content); +} + +static bool WriteBinaryGltfStream(std::ostream &stream, + const std::string &content, + const std::vector &binBuffer) { + const std::string header = "glTF"; + const int version = 2; + + const uint32_t content_size = uint32_t(content.size()); + const uint32_t binBuffer_size = uint32_t(binBuffer.size()); + // determine number of padding bytes required to ensure 4 byte alignment + const uint32_t content_padding_size = + content_size % 4 == 0 ? 0 : 4 - content_size % 4; + const uint32_t bin_padding_size = + binBuffer_size % 4 == 0 ? 0 : 4 - binBuffer_size % 4; + + // 12 bytes for header, JSON content length, 8 bytes for JSON chunk info. + // Chunk data must be located at 4-byte boundary, which may require padding + const uint32_t length = + 12 + 8 + content_size + content_padding_size + + (binBuffer_size ? (8 + binBuffer_size + bin_padding_size) : 0); + + stream.write(header.c_str(), std::streamsize(header.size())); + stream.write(reinterpret_cast(&version), sizeof(version)); + stream.write(reinterpret_cast(&length), sizeof(length)); + + // JSON chunk info, then JSON data + const uint32_t model_length = uint32_t(content.size()) + content_padding_size; + const uint32_t model_format = 0x4E4F534A; + stream.write(reinterpret_cast(&model_length), + sizeof(model_length)); + stream.write(reinterpret_cast(&model_format), + sizeof(model_format)); + stream.write(content.c_str(), std::streamsize(content.size())); + + // Chunk must be multiplies of 4, so pad with spaces + if (content_padding_size > 0) { + const std::string padding = std::string(size_t(content_padding_size), ' '); + stream.write(padding.c_str(), std::streamsize(padding.size())); + } + if (binBuffer.size() > 0) { + // BIN chunk info, then BIN data + const uint32_t bin_length = uint32_t(binBuffer.size()) + bin_padding_size; + const uint32_t bin_format = 0x004e4942; + stream.write(reinterpret_cast(&bin_length), + sizeof(bin_length)); + stream.write(reinterpret_cast(&bin_format), + sizeof(bin_format)); + stream.write(reinterpret_cast(binBuffer.data()), + std::streamsize(binBuffer.size())); + // Chunksize must be multiplies of 4, so pad with zeroes + if (bin_padding_size > 0) { + const std::vector padding = + std::vector(size_t(bin_padding_size), 0); + stream.write(reinterpret_cast(padding.data()), + std::streamsize(padding.size())); + } + } + + stream.flush(); + return stream.good(); +} + +static bool WriteBinaryGltfFile(const std::string &output, + const std::string &content, + const std::vector &binBuffer) { +#ifdef _WIN32 +#if defined(_MSC_VER) + std::ofstream gltfFile(UTF8ToWchar(output).c_str(), std::ios::binary); +#elif defined(__GLIBCXX__) + int file_descriptor = _wopen(UTF8ToWchar(output).c_str(), + _O_CREAT | _O_WRONLY | _O_TRUNC | _O_BINARY); + __gnu_cxx::stdio_filebuf wfile_buf( + file_descriptor, std::ios_base::out | std::ios_base::binary); + std::ostream gltfFile(&wfile_buf); +#else + std::ofstream gltfFile(output.c_str(), std::ios::binary); +#endif +#else + std::ofstream gltfFile(output.c_str(), std::ios::binary); +#endif + return WriteBinaryGltfStream(gltfFile, content, binBuffer); +} + +bool TinyGLTF::WriteGltfSceneToStream(const Model *model, std::ostream &stream, + bool prettyPrint = true, + bool writeBinary = false) { + detail::JsonDocument output; + + /// Serialize all properties except buffers and images. + SerializeGltfModel(model, output); + + // BUFFERS + std::vector binBuffer; + if (model->buffers.size()) { + detail::json buffers; + detail::JsonReserveArray(buffers, model->buffers.size()); + for (unsigned int i = 0; i < model->buffers.size(); ++i) { + detail::json buffer; + if (writeBinary && i == 0 && model->buffers[i].uri.empty()) { + SerializeGltfBufferBin(model->buffers[i], buffer, binBuffer); + } else { + SerializeGltfBuffer(model->buffers[i], buffer); + } + detail::JsonPushBack(buffers, std::move(buffer)); + } + detail::JsonAddMember(output, "buffers", std::move(buffers)); + } + + // IMAGES + if (model->images.size()) { + detail::json images; + detail::JsonReserveArray(images, model->images.size()); + for (unsigned int i = 0; i < model->images.size(); ++i) { + detail::json image; + + std::string dummystring; + // UpdateImageObject need baseDir but only uses it if embeddedImages is + // enabled, since we won't write separate images when writing to a stream + // we + std::string uri; + if (!UpdateImageObject(model->images[i], dummystring, int(i), true, + &uri_cb, &this->WriteImageData, + this->write_image_user_data_, &uri)) { + return false; + } + SerializeGltfImage(model->images[i], uri, image); + detail::JsonPushBack(images, std::move(image)); + } + detail::JsonAddMember(output, "images", std::move(images)); + } + + if (writeBinary) { + return WriteBinaryGltfStream(stream, detail::JsonToString(output), + binBuffer); + } else { + return WriteGltfStream(stream, + detail::JsonToString(output, prettyPrint ? 2 : -1)); + } +} + +bool TinyGLTF::WriteGltfSceneToFile(const Model *model, + const std::string &filename, + bool embedImages = false, + bool embedBuffers = false, + bool prettyPrint = true, + bool writeBinary = false) { + detail::JsonDocument output; + std::string defaultBinFilename = GetBaseFilename(filename); + std::string defaultBinFileExt = ".bin"; + std::string::size_type pos = + defaultBinFilename.rfind('.', defaultBinFilename.length()); + + if (pos != std::string::npos) { + defaultBinFilename = defaultBinFilename.substr(0, pos); + } + std::string baseDir = GetBaseDir(filename); + if (baseDir.empty()) { + baseDir = "./"; + } + /// Serialize all properties except buffers and images. + SerializeGltfModel(model, output); + + // BUFFERS + std::vector usedFilenames; + std::vector binBuffer; + if (model->buffers.size()) { + detail::json buffers; + detail::JsonReserveArray(buffers, model->buffers.size()); + for (unsigned int i = 0; i < model->buffers.size(); ++i) { + detail::json buffer; + if (writeBinary && i == 0 && model->buffers[i].uri.empty()) { + SerializeGltfBufferBin(model->buffers[i], buffer, binBuffer); + } else if (embedBuffers) { + SerializeGltfBuffer(model->buffers[i], buffer); + } else { + std::string binSavePath; + std::string binFilename; + std::string binUri; + if (!model->buffers[i].uri.empty() && + !IsDataURI(model->buffers[i].uri)) { + binUri = model->buffers[i].uri; + if (!uri_cb.decode(binUri, &binFilename, uri_cb.user_data)) { + return false; + } + } else { + binFilename = defaultBinFilename + defaultBinFileExt; + bool inUse = true; + int numUsed = 0; + while (inUse) { + inUse = false; + for (const std::string &usedName : usedFilenames) { + if (binFilename.compare(usedName) != 0) continue; + inUse = true; + binFilename = defaultBinFilename + std::to_string(numUsed++) + + defaultBinFileExt; + break; + } + } + + if (uri_cb.encode) { + if (!uri_cb.encode(binFilename, "buffer", &binUri, + uri_cb.user_data)) { + return false; + } + } else { + binUri = binFilename; + } + } + usedFilenames.push_back(binFilename); + binSavePath = JoinPath(baseDir, binFilename); + if (!SerializeGltfBuffer(model->buffers[i], buffer, binSavePath, + binUri)) { + return false; + } + } + detail::JsonPushBack(buffers, std::move(buffer)); + } + detail::JsonAddMember(output, "buffers", std::move(buffers)); + } + + // IMAGES + if (model->images.size()) { + detail::json images; + detail::JsonReserveArray(images, model->images.size()); + for (unsigned int i = 0; i < model->images.size(); ++i) { + detail::json image; + + std::string uri; + if (!UpdateImageObject(model->images[i], baseDir, int(i), embedImages, + &uri_cb, &this->WriteImageData, + this->write_image_user_data_, &uri)) { + return false; + } + SerializeGltfImage(model->images[i], uri, image); + detail::JsonPushBack(images, std::move(image)); + } + detail::JsonAddMember(output, "images", std::move(images)); + } + + if (writeBinary) { + return WriteBinaryGltfFile(filename, detail::JsonToString(output), + binBuffer); + } else { + return WriteGltfFile(filename, + detail::JsonToString(output, (prettyPrint ? 2 : -1))); + } +} + +} // namespace tinygltf + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#endif // TINYGLTF_IMPLEMENTATION From d873e41c71e1f57019ca44daa7a304cc13ae3072 Mon Sep 17 00:00:00 2001 From: HantingXu Date: Sat, 7 Oct 2023 22:24:33 -0400 Subject: [PATCH 2/4] fix cannot load multiple mesh objects bugs --- scenes/cornell.txt | 27 +++++++++++++++++------ src/BVH.h | 6 +++--- src/intersections.h | 26 +++++++++++------------ src/main.cpp | 14 +++++++++++- src/pathtrace.cu | 52 +++++++++++++++++++++++++++------------------ src/pathtrace.h | 2 +- src/scene.cpp | 12 +++++------ src/scene.h | 2 +- 8 files changed, 89 insertions(+), 52 deletions(-) diff --git a/scenes/cornell.txt b/scenes/cornell.txt index 3417a889..ebfad5b6 100644 --- a/scenes/cornell.txt +++ b/scenes/cornell.txt @@ -128,12 +128,23 @@ SCALE .01 10 10 // Mesh cube OBJECT 6 mesh -material 4 +material 1 texture 0 -TRANS 0 0 0 -ROTAT 0 0 0 -SCALE 0.1 0.1 0.1 -LINK C:/Users/2000/Downloads/stanford_dragon_pbr/scene.gltf +TRANS 0 3 0 +ROTAT 0 45 0 +SCALE 5 5 5 +LINK C:/Users/2000/Downloads/deino/scene.gltf + +// Mesh cube +OBJECT 7 +mesh +material 1 +texture 1 +TRANS 4 4 4 +ROTAT 0 45 0 +SCALE 3 3 3 +LINK C:/Users/2000/Downloads/pokemon_137_-_porygon/scene.gltf +//C:/Users/2000/Downloads/stanford_dragon_pbr/scene.gltf //C:/Users/2000/Downloads/stanford_bunny_pbr/scene.gltf //C:/Users/2000/Downloads/stanford_dragon_vrip_res_3/scene.gltf //C:/Users/2000/Downloads/stanford_bunny_pbr/scene.gltf @@ -160,7 +171,11 @@ LINK C:/Users/2000/Downloads/stanford_dragon_pbr/scene.gltf TEXTURE 0 -LINK C:/Users/2000/Downloads/stanford_dragon_vrip_res_3/jade.png +LINK C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png + +TEXTURE 1 +LINK C:/Users/2000/Downloads/mimikyu/textures/body_baseColor.png +//C:/Users/2000/Downloads/stanford_dragon_vrip_res_3/jade.png //C:/Users/2000/Downloads/stanford_bunny_pbr/textures/DefaultMaterial_baseColor.png //C:/Users/2000/Downloads/deino/textures/body_mat_baseColor.png //C:/Users/2000/Downloads/low-poly-fox/textures/TextureDiff3.png diff --git a/src/BVH.h b/src/BVH.h index 7b553531..55c0e93e 100644 --- a/src/BVH.h +++ b/src/BVH.h @@ -100,7 +100,7 @@ __device__ void buildBBox(BVHNode& curr, BVHNode left, BVHNode right) } // build the bounding box and morton code for each triangle -__global__ void buildLeafMorton(int numTri, float minX, float minY, float minZ, +__global__ void buildLeafMorton(int startIndex, int numTri, float minX, float minY, float minZ, float maxX, float maxY, float maxZ, Triangle* triangles, BVHNode* leafNodes, unsigned int* mortonCodes) { @@ -108,7 +108,7 @@ __global__ void buildLeafMorton(int numTri, float minX, float minY, float minZ, if (ind < numTri) { int leafPos = ind + numTri - 1; - Triangle tri = triangles[ind]; + Triangle tri = triangles[ind + startIndex]; leafNodes[leafPos].bbox = computeBBox(tri); leafNodes[leafPos].isLeaf = 1; leafNodes[leafPos].leftIndex = -1; @@ -193,7 +193,7 @@ __global__ void buildSplitList(int codeCount, unsigned int* uniqueMorton, BVHNod } -//since maximum depth is 30, thus just repeat 30 times +// very naive implementation __global__ void buildBBoxes(int leafCount, BVHNode* nodes, unsigned char* ready) { int ind = blockIdx.x * blockDim.x + threadIdx.x; diff --git a/src/intersections.h b/src/intersections.h index 30e60651..0cabfcc1 100644 --- a/src/intersections.h +++ b/src/intersections.h @@ -305,7 +305,7 @@ __device__ void computeTriangleInfo(Geom geo, Triangle tri, glm::vec3& normal, g __device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, int start, int end, AABB bbox, Ray worldRay, glm::vec3& intersectionPoint, - glm::vec3& normal, glm::vec2& uv, bool& outside) + glm::vec3& normal, glm::vec2& uv, bool& outside, int meshInd) { // record the closest intersection float closest = FLT_MAX; @@ -320,21 +320,21 @@ __device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, { return -1; } - + int bvhStart = 2 * start - geo.meshid; int stack[64]; int stackPtr = 0; - int bvhPtr = 0; - stack[stackPtr++] = 0; + int bvhPtr = bvhStart; + stack[stackPtr++] = bvhStart; while(stackPtr) { bvhPtr = stack[--stackPtr]; BVHNode currentNode = nodes[bvhPtr]; - BVHNode leftChild = nodes[currentNode.leftIndex]; - BVHNode rightChild = nodes[currentNode.rightIndex]; + // all the left and right indexes are 0 + BVHNode leftChild = nodes[currentNode.leftIndex + bvhStart]; + BVHNode rightChild = nodes[currentNode.rightIndex + bvhStart]; bool hitLeft = bboxIntersectionTest(objectRay, leftChild.bbox); bool hitRight = bboxIntersectionTest(objectRay, rightChild.bbox); - int j = 0; if (hitLeft) { // check triangle intersection @@ -342,18 +342,18 @@ __device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, { glm::vec3 tmpWorldIntersect = glm::vec3(0.f); glm::vec3 tmpObjectIntersect = glm::vec3(0.f); - float distance = triangleIntersectionTest(geo, triangles[leftChild.triangleIndex], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); + float distance = triangleIntersectionTest(geo, triangles[leftChild.triangleIndex + start], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); // if is closer, then calculate normal and uv if (distance < closest) { - computeTriangleInfo(geo, triangles[leftChild.triangleIndex], normal, tmpWorldIntersect, tmpObjectIntersect, + computeTriangleInfo(geo, triangles[leftChild.triangleIndex + start], normal, tmpWorldIntersect, tmpObjectIntersect, worldRay, objectRay, uv, outside); closest = distance; } } else { - stack[stackPtr++] = currentNode.leftIndex; + stack[stackPtr++] = currentNode.leftIndex + bvhStart; } } @@ -365,18 +365,18 @@ __device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, glm::vec3 tmpWorldIntersect = glm::vec3(0.f); glm::vec3 tmpObjectIntersect = glm::vec3(0.f); - float distance = triangleIntersectionTest(geo, triangles[rightChild.triangleIndex], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); + float distance = triangleIntersectionTest(geo, triangles[rightChild.triangleIndex + start], worldRay, objectRay, tmpWorldIntersect, tmpObjectIntersect); // if is closer, then calculate normal and uv if (distance < closest) { - computeTriangleInfo(geo, triangles[rightChild.triangleIndex], normal, tmpWorldIntersect, tmpObjectIntersect, + computeTriangleInfo(geo, triangles[rightChild.triangleIndex + start], normal, tmpWorldIntersect, tmpObjectIntersect, worldRay, objectRay, uv, outside); closest = distance; } } else { - stack[stackPtr++] = currentNode.rightIndex; + stack[stackPtr++] = currentNode.rightIndex + bvhStart; } } diff --git a/src/main.cpp b/src/main.cpp index a072c8d5..5812d4bf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -144,7 +144,19 @@ void runCuda() { if (iteration == 0) { pathtraceFree(); pathtraceInit(scene); - buildBVHTree((scene->gltfMeshes)[0], (scene->gltfMeshes)[0].triangles.size()); + int polygonCount = scene->gltfMeshes.size(); + int startIndexBVH = 0; + int startIndexTri = 0; + for(int i = 0; i < polygonCount; i++) + { + buildBVHTree(startIndexBVH, startIndexTri, (scene->gltfMeshes)[i], (scene->gltfMeshes)[i].triangles.size()); + startIndexBVH += 2 * ((scene->gltfMeshes)[i].triangles.size()) - 1; + startIndexTri += (scene->gltfMeshes)[i].triangles.size(); + } + for (Geom geo : scene->geoms) + { + cout << geo.meshid << endl; + } } if (iteration < renderState->iterations) { diff --git a/src/pathtrace.cu b/src/pathtrace.cu index 62ab6878..638bd997 100644 --- a/src/pathtrace.cu +++ b/src/pathtrace.cu @@ -171,7 +171,8 @@ void initMeshInfo(Scene* scene) std::vector bboxes; std::vector triangles; offsets.push_back(0); - for (int i = 0; i < scene->gltfMeshes.size(); i++) + int meshCount = scene->gltfMeshes.size(); + for (int i = 0; i < meshCount; i++) { const GLTFMesh& mesh1 = (hst_scene->gltfMeshes)[i]; copy(mesh1.triangles.begin(), mesh1.triangles.end(), back_inserter(triangles)); @@ -190,8 +191,8 @@ void initMeshInfo(Scene* scene) cudaMemcpy(dev_bboxes, bboxes.data(), bboxes.size() * sizeof(AABB), cudaMemcpyHostToDevice); cudaMalloc(&dev_offsets, offsets.size() * sizeof(int)); cudaMemcpy(dev_offsets, offsets.data(), offsets.size() * sizeof(int), cudaMemcpyHostToDevice); - cudaMalloc(&dev_BVHNodes, (triangles.size() * 2 - 1) * sizeof(BVHNode)); - cudaMemset(dev_BVHNodes, 0, (triangles.size() * 2 - 1) * sizeof(BVHNode)); + cudaMalloc(&dev_BVHNodes, (triangles.size() * 2 - meshCount) * sizeof(BVHNode)); + cudaMemset(dev_BVHNodes, 0, (triangles.size() * 2 - meshCount) * sizeof(BVHNode)); } void pathtraceInit(Scene* scene) { @@ -380,11 +381,11 @@ __global__ void computeIntersections( #if !BVHON t = meshIntersectionTest(geom, meshTriangles, meshOffsets[meshInd], meshOffsets[meshInd + 1], bboxes[meshInd], - pathSegment.ray, tmp_intersect, tmp_normal, tmp_uv, outside);*/ + pathSegment.ray, tmp_intersect, tmp_normal, tmp_uv, outside); #else t = traverseTree(nodes, geom, meshTriangles, meshOffsets[meshInd], meshOffsets[meshInd + 1], bboxes[meshInd], pathSegment.ray, - tmp_intersect, tmp_normal, tmp_uv, outside); + tmp_intersect, tmp_normal, tmp_uv, outside, meshInd); #endif } // TODO: add more intersection tests here... triangle? metaball? CSG? @@ -917,7 +918,7 @@ void pathtrace(uchar4* pbo, int frame, int iter) { checkCUDAError("pathtrace"); } -void buildBVHTree(GLTFMesh mesh1, int triCount) +void buildBVHTree(int startIndexBVH, int startIndexTri, GLTFMesh mesh1, int triCount) { const int blockSize1d = 128; unsigned int* dev_mortonCodes = NULL; @@ -928,14 +929,18 @@ void buildBVHTree(GLTFMesh mesh1, int triCount) cudaMemset(dev_ready, 0, triCount * sizeof(unsigned char)); cudaMemset(&dev_ready[triCount - 1], 1, triCount * sizeof(unsigned char)); + static BVHNode* dev_tmpBVHNodes = NULL; + cudaMalloc(&dev_tmpBVHNodes, (triCount * 2 - 1) * sizeof(BVHNode)); + cudaMemset(dev_tmpBVHNodes, 0, (triCount * 2 - 1) * sizeof(BVHNode)); + dim3 numblocks = (triCount + blockSize1d - 1) / blockSize1d; - buildLeafMorton << > > (triCount, mesh1.bbmin.x, mesh1.bbmin.y, mesh1.bbmin.z, mesh1.bbmax.x, mesh1.bbmax.y, mesh1.bbmax.z, - dev_triangles, dev_BVHNodes, dev_mortonCodes); + buildLeafMorton << > > (startIndexTri, triCount, mesh1.bbmin.x, mesh1.bbmin.y, mesh1.bbmin.z, mesh1.bbmax.x, mesh1.bbmax.y, mesh1.bbmax.z, + dev_triangles, dev_tmpBVHNodes, dev_mortonCodes); - thrust::stable_sort_by_key(thrust::device, dev_mortonCodes, dev_mortonCodes + triCount, dev_BVHNodes + triCount - 1); + thrust::stable_sort_by_key(thrust::device, dev_mortonCodes, dev_mortonCodes + triCount, dev_tmpBVHNodes + triCount - 1); - //fortest + /** unsigned int* hstMorton = (unsigned int*)malloc(sizeof(unsigned int) * triCount); cudaMemcpy(hstMorton, dev_mortonCodes, triCount * sizeof(unsigned int), cudaMemcpyDeviceToHost); @@ -945,30 +950,35 @@ void buildBVHTree(GLTFMesh mesh1, int triCount) } cout << endl; free(hstMorton); - //fortest + */ - buildSplitList << > > (triCount, dev_mortonCodes, dev_BVHNodes); + buildSplitList << > > (triCount, dev_mortonCodes, dev_tmpBVHNodes); //the maximum of level is 30 + 32 //can use atomic operation for further optimization for (int i = 0; i < triCount; i++) { - buildBBoxes << > > (triCount, dev_BVHNodes, dev_ready); + buildBBoxes << > > (triCount, dev_tmpBVHNodes, dev_ready); } - //fortest - BVHNode* hstBVHNodes = (BVHNode*)malloc(sizeof(BVHNode) * (triCount * 2 - 1)); - cudaMemcpy(hstBVHNodes, dev_BVHNodes, sizeof(BVHNode) * (triCount * 2 - 1), cudaMemcpyDeviceToHost); - for (int i = 0; i < 200; i++) + cudaMemcpy(dev_BVHNodes + startIndexBVH, dev_tmpBVHNodes, (triCount * 2 - 1) * sizeof(BVHNode), cudaMemcpyDeviceToDevice); + + /** + BVHNode* hstBVHNodes = (BVHNode*)malloc(sizeof(BVHNode) * (startIndex + 2 * triCount - 1)); + cudaMemcpy(hstBVHNodes, dev_BVHNodes, sizeof(BVHNode) * (startIndex + 2 * triCount - 1), cudaMemcpyDeviceToHost); + for (int i = 0; i < startIndex + 2 * triCount - 1; i++) { cout << i << ": " << hstBVHNodes[i].leftIndex << "," << hstBVHNodes[i].rightIndex << " parent:" << hstBVHNodes[i].parent << endl; - cout << i << ": " << hstBVHNodes[i].bbox.max.x << "," << hstBVHNodes[i].bbox.max.y << "," << hstBVHNodes[i].bbox.max.z << endl; - cout << i << ": " << hstBVHNodes[i].bbox.min.x << "," << hstBVHNodes[i].bbox.min.y << "," << hstBVHNodes[i].bbox.min.z << endl; + //cout << i << ": " << hstBVHNodes[i].bbox.max.x << "," << hstBVHNodes[i].bbox.max.y << "," << hstBVHNodes[i].bbox.max.z << endl; + //cout << i << ": " << hstBVHNodes[i].bbox.min.x << "," << hstBVHNodes[i].bbox.min.y << "," << hstBVHNodes[i].bbox.min.z << endl; } cout << endl; - free(hstBVHNodes); - //fortest + cout << endl; + cout << endl; + free(hstBVHNodes);*/ + cudaFree(dev_ready); cudaFree(dev_mortonCodes); + cudaFree(dev_tmpBVHNodes); } \ No newline at end of file diff --git a/src/pathtrace.h b/src/pathtrace.h index caa5596b..ff122af0 100644 --- a/src/pathtrace.h +++ b/src/pathtrace.h @@ -8,4 +8,4 @@ void pathtraceInit(Scene *scene); void pathtraceFree(); void updateBBox(Scene* scene); void pathtrace(uchar4 *pbo, int frame, int iteration); -void buildBVHTree(GLTFMesh mesh1, int triCount); +void buildBVHTree(int startIndexBVH, int startIndexTri, GLTFMesh mesh1, int triCount); diff --git a/src/scene.cpp b/src/scene.cpp index cb8d692a..5651495e 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -25,6 +25,7 @@ Scene::Scene(string filename) { std::cout << "Error reading from file - aborting!" << std::endl; throw; } + int meshID = 0; while (fp_in.good()) { string line; utilityCore::safeGetline(fp_in, line); @@ -37,7 +38,7 @@ Scene::Scene(string filename) { loadTexture(tokens[1]); std::cout << " " << std::endl; } else if (strcmp(tokens[0].c_str(), "OBJECT") == 0) { - loadGeom(tokens[1]); + loadGeom(tokens[1], meshID); std::cout << " " << std::endl; } else if (strcmp(tokens[0].c_str(), "CAMERA") == 0) { loadCamera(); @@ -347,7 +348,7 @@ bool Scene::loadGLTF(const std::string& filePath, GLTFMesh& gltfMesh, glm::vec3 } -int Scene::loadGeom(string objectid) { +int Scene::loadGeom(string objectid, int& meshID) { int id = atoi(objectid.c_str()); if (id != geoms.size()) { std::cout << "ERROR: OBJECT ID does not match expected number of geoms" << std::endl; @@ -356,7 +357,6 @@ int Scene::loadGeom(string objectid) { std::cout << "Loading Geom " << id << "..." << std::endl; Geom newGeom; string line; - //load object type utilityCore::safeGetline(fp_in, line); if (!line.empty() && fp_in.good()) { @@ -370,6 +370,8 @@ int Scene::loadGeom(string objectid) { else if (strcmp(line.c_str(), "mesh") == 0) { std::cout << "Creating new mesh..." << std::endl; newGeom.type = MESH; + newGeom.meshid = meshID; + ++meshID; } } @@ -390,7 +392,6 @@ int Scene::loadGeom(string objectid) { std::cout << "Connecting Geom " << objectid << " to Texture " << newGeom.textureid << "..." << std::endl; } - int meshID = 0; //load transformations utilityCore::safeGetline(fp_in, line); while (!line.empty() && fp_in.good()) { @@ -405,7 +406,7 @@ int Scene::loadGeom(string objectid) { newGeom.scale = glm::vec3(atof(tokens[1].c_str()), atof(tokens[2].c_str()), atof(tokens[3].c_str())); } else if (strcmp(tokens[0].c_str(), "LINK") == 0) { - newGeom.meshid = meshID; + //newGeom.meshid = meshID; //TODO: read mesh std::string path = tokens[1].c_str(); std::vector offs; @@ -431,7 +432,6 @@ int Scene::loadGeom(string objectid) { loadOBJ(path, mesh1); } gltfMeshes.push_back(mesh1); - ++meshID; } utilityCore::safeGetline(fp_in, line); diff --git a/src/scene.h b/src/scene.h index 6f1ac7b6..6082e04c 100644 --- a/src/scene.h +++ b/src/scene.h @@ -15,7 +15,7 @@ class Scene { ifstream fp_in; int loadMaterial(string materialid); int loadTexture(string textureid); - int loadGeom(string objectid); + int loadGeom(string objectid, int& meshID); int loadCamera(); bool loadGLTF(const std::string& filePath, GLTFMesh& gltfMesh, glm::vec3 trans, glm::vec3 scale); bool loadOBJ(const std::string& filePath, GLTFMesh& gltfMesh); From 971ff69a0367073d0a59dcfeb7d68db104b1cbba Mon Sep 17 00:00:00 2001 From: HantingXu Date: Sun, 8 Oct 2023 23:55:57 -0400 Subject: [PATCH 3/4] Fixed wield normal problem and fixed the problem that bvh does not work in release mode problem, fixed refraction --- README.md | 15 +++++++++++---- img/little_duck.png | Bin 0 -> 1076846 bytes src/BVH.h | 14 ++++++++------ src/interactions.h | 7 ++----- src/intersections.h | 9 +-------- src/pathtrace.cu | 33 ++++++++++++++------------------- 6 files changed, 36 insertions(+), 42 deletions(-) create mode 100644 img/little_duck.png diff --git a/README.md b/README.md index 110697ce..19549f75 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,18 @@ CUDA Path Tracer **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3** -* (TODO) YOUR NAME HERE +* Hanting Xu * Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) -### (TODO: Your README) +## Path Tracing -*DO NOT* leave the README to the last minute! It is a crucial part of the -project, and we will not be able to grade you without a good README. +### Handling Different Materials +### Mesh Loading & Texture Mapping +![Show Case 1](img/little_duck.png) +### Antialiasing +### Depth Of Field +### Gaussian and SVGF Denoising +### BVH Tree Building and Traversal On GPU +### Light Path Stream Compaction +### Discoveries diff --git a/img/little_duck.png b/img/little_duck.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b93c0cf4e1582d147a0b7059e1789f80fe51d GIT binary patch literal 1076846 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 z zda3!F=qRw=xTnOb{&6(*!Mu)fPG_4p*+#nqDWUT>d8VS5a;l{+nqwv?L`p}u#a|aW zN0aR}-j8Iy|74mbc%)yo6IUkh#_z_(u^JuNd^Nbfl|7^Lo3rSu>~zXhd+(fT445<@ z%NQ1&ZqD!ayWv;P1l1&~6(mU_&jS+=GmqwBSzBUuoK3X!Vb(PC-PD8E4*?K%wa?L)(X*pY zL#`(RapW5{dw+V3y`qb7{&KELJ;uV_^Vq!L#q}-@__i(q-I}W2(-Y07H9h*x@ncii z3DI_e2D+5~^0^&-W*g9W8lbl;-?AX0rJO#T@=wAofeSJf#k61`+{)rso$O9!BOk`=wLo%WjHdiMEwC?@m#ai zJ3buP8IBp}C^@sH=b3|_<4e!e3(lpwpLHsYw}0$H%{G?n+JQ@yO`~0H(#?RkpoK9f z|FgqqGHA`saBwoTl(8zsO&`NrpY{8xc}l@fFt>TUik_UMB!A=_PXPGFZ=A~0@RYJk z!Ci80^Md8jico}XY8h^@sDjLXPf}^UrOi91>Hwp1&U!JPGr(II!XJJ z)oL8{R$m)P?bj}TZ)^hBp6`jqqRiE~MA}9Jv`~?tjBMFa#&tDdWv->Xdfmm3Ki?Mv3!T9zi!6FEZv(GTjSHL4idT8>H+!~J0bqvJ7 zYpL(XQy(Ub8Dcb%1V(#62qE#J{d{otWCc`k>Uyvy8V=fH9Qcm=uFjCdz3Y8r^*&?vyZ~H48|mB+Pb+8EZn-@4FP1a_W73wDl|IC(|+=+>WW|)z=i4 z8tW;s@FGT|8KJ}t6eADFkDhkoVc4epqp>lf3>=L_VRBML$OdSbpJ-!U02*wgxj8is zptD{#4c9XUj+D6@U{#yzCRd4(1^9_@zYkZeKEI944qD!Sw`J@P^Q?3-BQUj-L^_bA zPW!UIWe$vqBVvt){nFLkid4+Pe> z7>VFT^VK^uEC2=v>ZM<1q3+Wmu=E))PQlk_P9b=@z4}=F*>8THxuRG_J*_R;s=Ymv z-2*5xdjU59ek1B!-y_o~-YGSh@EeEgwe~Y)@yDk3KD=b$@+c|y9vOaBTWnV+K#lH@ z>6tp@9H(9L$sjNmOddmiyI*R#CsR>>h%v{*nFN=sz{ACRMj}pZ_;^S3+^#OxBn(ZW zKiy#~OF(a#`2O_;nG)%{yu7K+6g|*U+tT@VEpkGvU42ZV?VsUXB+@QNXG+TAbpZ`? z^$yTyNZ}d))!k#<9F~_MY6t^>>9*NTF5K`8oRG2TMt@8hT7A2{S&SyRolO~HF7!{F z#zDMuEuY#{2^I z90NO5O~x)DgmE3TNS{o0tanXGNc|HOF@DiYz=A_%8*hLV4eXEvbaF@(#!l3;dpXdy z_f?hzM83Qn;uku?d?bJFQ&XRwonTb&xafNhxJ;d(mPoNul#84^n}rNei%ye)i!bs2 zY}ei2BOlEJAY~!>tV?M==oCSz0nMEFchPHZ&ByBI=BLT@ndK>at9^RDR#$KJ$vpJL z@a@PX8aK9a-qM>5V0c7UcMeR8&ww@Gj}of8PP;cRSe?#v8Q;^>NAr}P@y;CBaU^@> zOM1%sMf%=c4fpqh42*4#uKb2Cd;0w&JDkn{avL{UoJ~>c7cg(0E$*iy(`xZF2f4mD zUm>H}03^`xa5u15+v0q&#E7#FQ;OXkJ=e$3Heg(Y#@?-9XF7cHh;qj$DDltt4$o=9Z7`zdZ6TS3z zJ-_(5??kHnUeVes zv56pd?9d=qEDwq z9Dd_cmb_FuQWoTb9uA&5Qu&^l)-MB{j@rE9=u|sj&9b1iuXp2$CeFX}V~-C_OmmD_ zwEkB3sBiU-3?6?obl!CV1{m?wy}$N2zd2gx3024=X{V33ntPA-XaU&7$cW|iC;0KaAXlna4#1c(&?6x z;@h9GO>EJcMFuA7%I5y7NTgKNe}zm|w|*-Tv}sY|McJitt+{=d_4epIXVh!C(WD;n zEp2+s2=->5`suRXmBA6Cw>RvBXRQ*VxA_w7wYQy?c`6{)s;}Dgt&=uBE8=zrlv01C zLqEo+IWEoUKQIGhIKH@>d{Y=Hj{oD2L8!fR} zuxIBTHrK(&=NSsDy&?6_>#nkZ8VfFT9Hwm6$*v-FDEMnPIRCZbK;db`t`$H1q0zOO zeg1)y)Sd6uw=^+Wi?JoQ!we(NPio0Va9#%#Z1PWUT-=GJqH56s_NNNYCGj9hC45RF zp!|ED!};UYNAq${%N_M4v#wMoB3VxF_(_HL1uE!j`>QSdDcn9wR=BQ0$$pgiRKPoS_U_6+gZr^R&u>Lp6<`-=-OYH;nv8iG`Z!hzwX7G z480k6JP^}0yYl_FF9k$ixTP)N^UwK<$Ifab9q7Ws!jXM!f});=syf{dg4mmR_+Za1 z!)NI9>dBovYNWxlKC#?;DNSxu4T?13$og?sM?SQN-aLwJ@MlUVE_R()r+#W_a9)OY zV(3V{EyQcjHB+d@+owh$I0`=Xje8wW2sOx>iD~S4Ay>0=-1n^Z)=CfI?BY(nci`oW zP3nf%W1{i3Cz>zxT}XWeTE_cuFxSC05&f@@xXdV!Wdzg%1JZ!o4}hTEG2s!UNkfi= z-PpR9qe4JB<70MOT@T4DALA)cvtT60$b6)jEQNe{F%xOl>h1m+Clm6+=Imd$(Fc#1 zdfl?1tvV%t6&A!CEm{ux_wk3Un!9J{3o&-q3m9&t7kGs3JKKI|2;TYp?bGfrOs7NI zwat($pEcbUqvo5_W5Oibj+M=C4pHI8GOkHaLP+q$e7sXH-ZQ>hKIhiB4%6*NUEDQn z6f`^vE_NW9Tg$tR$akpCPCn0Y6Rc1zbQ4L+)yC?rkzx(64$2xZ)9) zHvrc^Q3u1F3H(KFrX9(9 zSAL~S+u}))5Ts_K;-!FC$gHz<2ZQP|KeR`Bph3x~8Y3B;g-DxhcmpIBR@N!oKsw&;o%9Gfl|$d2 zxmOEC*HS*THQ=gXSJTom)-h#!3NT^bmBx96NGb$si^2)kB#wr=)r*ummGcX3`n{^( z@tLRKb1!72_A}+%EaHD|Odb0Bd9fWF|GQbeemF(mxTF44l;1#}`q5$M)USZW#xss`{ZGG$7W5=%-~juY(rV* z+3gkQObK<`Woi@zMjh_#_Jz7%Q@h4v-tdWUvV-=Q8|HVrx?fyTS(nZ4j8%FXx3WEE zS#92iuak~c?*jEEw9yPm7+6aKqBjQUUsZiS+@H?1wC!Fbg_`C2hQ)(GlDehvkP-m$#Hw;H)ZeOk|2)-(!-b5VBJ#1g<$}Zca?vs;SStUI#9wAZ@t3R9h}qS7Cg6^pjz&_osD_*ln|<9%4%p)|cb7SsS&898UkpCs6WLZ*m)Z*6@Y<|HfHG z75NNtS!GG?CC`(iYyRTOGCSz+lcc%pzW~pNOc4wxlsh~hZ@qU`zS57!3SRmx z`xFdhvkUBipZ`qe1-L2c_1|aA=(!9Ot_gj`fo2h?b>m{&XZX1@HD&+7^tS&J-6Z4a zLv)G`Q=lR~gA}1KvLP@H;p^CoKvRnv44AnbQ(GUp5Uc3&;8S2nhOl5^Ym>Z+{5ONGLVYai?D~Q83uVMci^B@c?vLWa& z+}Myz*Oj7&zwGw zIjBm~*5Bk_%=gms7B^aJoYgc5{%ga3czN+`{TAhSjqzfZYxj0nxH*3T0*U!+Fp30+ zz4r3U>-(NFEQ$FWKHlMWd>$1KJs- z19?owWxf=k=h<`;5M8IuYnxeVnOGSiN7=KBkY z&IgdUJ8xYp)?Fc%>JB-S#?M-Fbl*L!(J%@?(F^QYri|jHXx)mgfagnMIq%9L)hY0{ zMh3rt4=UlVpR143^#+EP?yrT^q~w%2uZZFbet#`P^AzGLh|3rI5xdzNnRxZG(TKGB zoB#IE{ht!=*Ll~fYVd}e5Q{zSvE2B3wcjv>5gP)3C_p{+(Az*ZEiMWaaeYFaMmi-? zO2(bYVX`Zgf3$nC9T@|wzGV)gn>0fLT_e^mL<`sa;Ufc zk=#@Bt;33hJ3}8vqGY%Kya4|%iRD&~9}y9I!RLVdcNq!xb)Wwvs|C|VsPb4&V}2;Q z3Qcp`s|(saUwO(_*T9=MnqNC9Pv{aL{Q$qvJ_VVbQ?5nBV9%=@CCZ zai;^{keq5Kyb;#-mPgZsk7R%PAJe>Wy2omckopj0hb_6#+l3`+3^H977pF4|Y}_Dd zSvYy;(sY!*wG^=lG+n=E*W{Ia6kx&CP2-)BPUYA#O(Rs8Uf6^KCa+EGIX-X-1mrxdu|&r@{{77vukyN*!)Ljta=k1kwcC^DVxQV_qAB0N zAN)LTk0vGX{G8nKGgUUnz73+(G&uL_{;1J#j`4p2m?{Glf?Iu%fFL&pJDSDx-qv8$ znTNF>lbh#mz!GrkAko2>zH*8~w|Pur6y*C*zDR`jF@vwFzY8>znDho#a= zVHGe|1m@4y{{k(j*?1aDrf}Zb6FJjV_jMW0cpAT~o<89EpUxk_YAOvrK2U6Z1F$T3 z6jKg-Is({Fm!P{C!$rG3!QDZP+!mNqc!Gz60g0PNG`SYCv)KryGXvq5pQ{a&wr+s?)XnB@!^;~KL06Hdj`Kyxv{r9Eihw(%A zmU`9#gWdRcGT?gS5^b;Mu8Wqt_|431&8sE#So6Dx+NUJ2zElr#0aL2Qe)*jOez4VF zloA~u578+eY6PN;{pLNFlxUe;xFT2JerjdmQ#?ee>hCn@k@wS&kAnMi=k^ZmmCEekTi~jp%k{HcI-v?qvyVWL?|CV{#N;OSwdl?? zz*K$UBnHc~{7M)^_e4frKg(BC7dMItZZ_yp)he5;a=;gzA8l=u9Q0JI z%NNq-+IpvvOs@=@tLpFd1%FUy`Uweksg7|{7&J>Ot=S%J%02KP+ew&WmHrziQ=@v> zdxUhSzi#jK$=~yt0*|%n_sH`9bd$A2%#qb}X?FT671b`S|yuByz zC6+B3e*doCONtjanjL7!P1wvEWs~W)2Re4dh571G;ums?b$SqWVQr7V7~*VsRRypbcX?geSoH87@!#^sP9@|iw2ek;AL{w zG&?^t%UOHVh>@XqF?Qj|Cv$0!55&+b5c4bWZP+*sB{@oylKZbIZmv#ebNPp-_H0Q)zDpw zIcvte7M^E!giO89-CTziX;q1>d;-{0xFO~+FHGXV)H(&`|D^_I#cHM4!?)3s;V$1U zDXY&5(~DCdph%aI^1Rd2=Kv#tU^?cQ_D^;3@=2#c1uAR&KtFtVxF%{;E)I63q59!J z+Pw}y8fV!J2^F#~0_`))ubCcm8)2Iee6}P@E8nJZmI<39z zt@MNIX6|}N5WPNk{N9R&g#OnD{h$x7v6{+e00~5A{cVBCgEGB(gSYM0TM*pm5aYLW zXT@@TpZ#h_OVCvjb!ZKoGLaCuR`5W5!Kie&?1=F|7lr(Cux@th;FwcH2xQRc!A%Xf zYG@xv5yoH$B@l6jE8oIf(g{sZ--{ENGNdQ16gTt&(J>WDG}SGaOII-PW)$Ns_=#hx zN=v0g(%kb|7Eg2&$f31OYq*Ew3J(A^W)`G1@@ICNra0|=W8_rm4>(=ZjAFLfp;(?W zv$Cb&7`zd1=siEjTvT+Lg4l+Y_a&B`{ss=}E2c}sT@>cr<}BUEq4FY?B{9_9Tu#w_#LJw z<6B@mrrj-*xufGkpIJ|w zpZlJ}Ivpcxc;tUL&%;zI39?aB5uR>SF5lzUeX+*`(#mxE=QcrLjdc&%>3Mi<0YUq~ zC013=!uXx_MeiR!zkG7K?r0S)pEtS5t?M5Kw@2D@G_|66cbCzWn>>B>Y*#&pA7Du# z%JIuM$n$5-}q2ITl`Go@AP?M@GV_#D*? zRoCHm56=5IzcfRkv?O$dihYSOt2!@<+;C_@SM2dKF?N7tK-~-i6P3H84bv@N*FU9; zUJs2oHDQc?kZVCuc9bn3!r&vS>0hiwd=e~iq)4>4C2c~Vr-@L9%xjF!Oq34Y$n@S( zGnr{_Upf6#IS$ZW^dpkS`3MM21Nz;_vst!GlQ4^zhhb?t`MK{VrXf8$pG9;7OP`cp*{Mxs zWuK>XxU4L51G|mUnb$s}Q`bU2$#?x zQpwtgyv8s``8|L5cfS1f`h>MeE8qP=lEv;6(oLWlZ0#DD8Pty09}&*y+_!-6>%`@@S-ujTZOs$XZ9e#5-z~=Xk+?F8j?> zr&PJr;ZD|Vz@1CqPo4QZMH2Ttj1do}Jt178icm0NP4bnYtIC48f)l1A(G<8?7Bw zILz_b0BLAbS@X|9wfdBl6g~no2#q>%3B{%YpEDwJy{;Iu^Bi}`Sx%HNOzbOoQx?Ri za*WkaSZo~RdE#yS#}~$y1ff%{gR$Xc`e%l1O8V5%dFy>@dDA=r>P`WmB?Hb5YiFo* z(S%sFM}Q${=j~6g>$}cdLn#ry!Szd)d-`9(HLa7U(;uEPpjMiw>jLCQL^Lz!h+P+} zi8K3uNqgO7o>YISY={ON) zfxMc3kv6G)*-JjbIFJe3>hYv#l6MTwf%XYm25?L~KWLdoBs!j)hh7SvUxxhHMkF4p zUloJ=XUkp}`D7+?2{7FQeV-f5X6mfH7bqS+kxWdaY5-M5n$ZoR;2y_iHWe>{70UUZPtr zSoA5|*lkAO-V}zkMd`Pr?Pexn(F7>Sre$&b@odMVVJd%?VJ^Ti{YHhG9y(q>Q~o_X z;b~!rVx~86H+I!ZdSoe#GyXEU5~lYRO%dYuy?iBQ_|o-=IX=HH3=1BPtpAqspzshQ znU%f48k(WhLOxTiDO$yCk|Ki|=BXawxgn4VU0C1?i&k7-ChTtzAxWFjdwUM1rfU6$ z3G{n@c;AJzm+Pz-mRmkb5f4eQ4^Z~WkX-9qGqQJpR`Nj}tP5ziW~_vBGohxC2kAda z&Ky^!p!Yx@bbxvFp4^VItS^!w3>5pm{fFJ?8>)+nk+*0ur05`>%%1-uR=*M>dAszT z;~2Qo;FamRpR4k{jWpbHsQ;bi*O}DE27fIkC=^reoch-xKFGxCU<{@!mb~3?s&Vm; zvj-#yy49g8d+W+v5ZLnlxaZlJP&+^ekI8zUP4z~*b!RHrm4a#%c`xkUlcxQZ3-8@r zj1n$MFTG16?76$-cR9|1g~8b0KHf;rkJI@ldhOb2-`eoFW%ulD>m0d+4#DSd*BQW6 zGtHvLy7(=1mxA{C%8xvL#v9*JDY}U5OmyKN)i8%KcEq8~k5|w$Ltkk8;7dPtb8W&G zC$5CQnGhv5-0QTvb^K?MS)bn);H8Cd&&8|MKF7;gIN8p*M8#eGiv;0=Dv~F8_9}y( z4&tDFqbJe8A}pCCI704ijc#CqPGbL0XQnM(A3Xj(l~-8SfOtLKdBPVuu%Das!g9=? zb-#IFD1N=T60XX5Mo8%Z-4UDR488V5{avGMGqpQ)b2^uF5LPx0P^TajaNFKv@K#Z4 zcBamocjcHEp~WEH6Ej)w^Kr1DfD@j9ML_2k&kX$8i}?r`OVQ)r`Z6}kvUwU2Af>>> zOH*&~f9T2wCIftjmHreg9UBLCNu&2mTYI0<=u;2t&`6>H1{`Q3`&F)RB)t+ z57Hrrp!PH$tma$AROg-aD5k=H*qRStH+mt?&0X@!V2$D)*ce%ueZQ`49&7>{gHKU9 zF1zn!<0^*q0_S@adgO6(Zy)pexqYj>dk-Kq%MR2t3k3BSUm}H;tqJ2AO0@NQ^?7uQ z7ias52}8ch4J<(tce9MH1w8aVYHnXR0%g5U;ECB_Nr`!=eBG}e72(KXn)`14;A`Kx zM;*u%CuK)^VvDa64B*f25=i^-Dw1||FQ#2dBChwWKv9}+$$5Ew#d!cQ=;GZqdFoS# z^(lHscr-T}*~2;|HZwY$nBbw_M4Hjq;uo77A$77$7{#Dph9N7d~Y3nYaDPJS-_b%m!S*Z2&Nt`9B; z9vZu)^#cOdTgkyyB9eJVmR{1w#&0v{%Rj%euHX?-)44SY3=17u`W;*XubwZxT)+2B zuXy{PdA(d-LM9lO2@Z@wK;94Cy)J^gAN(zvxZn_d`h(ac8m=q``6;e}ZsCb9tu>9%XYDy{;^9!bv*@_? z!2gQInj0Y!BG!q0%E@nP1@8|W_%-G~g8eJK?Dvoov4dS#r!n=4R9k+g0IrFM_{;GP={LoSfq*y=ZQmq8V z$?+Ns$e(XqFMs+$>!R_=LD>`|_y2LS)0OGTY2V$EZud)S^eCUaKiP?OJe;qUNQ%0r5x z@>X4Puu2VEz0vwU)veJ&w_b^xU%f!daqHmbf!bDTBuw||CDY+-j0;o`z{`_CSr zDlvhPlBVk@@0Dz`rl#gZZ{y!air*&S=a7!=?Wm}5UyXX<9?68x-4ObsSkGk7q(sOo zX;wE34INuJLQz}!A+u>)V|D6Z&nPWL6xa}~=)jLykN=cWHfaH3a+`SVjG=D%lGaIC zFB`YMA{aLuTQR^+xeR_97l-Y!9Mnwp30)!0XD8cp_}cD!F+Rj_hO@R|`K1SJK>=UcS8obJ3lI=WQVs8jMCJqh*Fk`3@GeA7*Y-I5oy?Ublz zJgSW7*Wgu*OI)Ug`0tq_M7h;CXE)}g`(Kx*?6%~rxR2&+rQE36(0!PbRr)Kn=8=qa z&$KrBkNurLvDh6IVcA|?J?}*R`~g^VzLXv#=pB@uy@BLyuX=W1MdA)rKXb`aQCr%H z1W#1Uo_VyEe9K3DQ7}Dg@gG9vbqQ+^ynCtL)y*MLDsgupCmmh%NF{7^m)VS!R|;G@ zYL}J>fBlP6#szil`Ou1a_t>K|K>}g0l=_mvdtuYqznG*pFD6?o`k9hEMAMyaEd%?!ICdSpwrt-ZFr_ABC#pDVIJESO~&J= z@yQqjc6ac9AG@0LlWU&ua66L6ebhm3yF1c^Wl6LJyS`B+@MJzH?iDN&dMhpbddBw76_+Se7x&|=Vf5i5f2-jlV1N}!D zM_lXzBuWT28?PiEqnfo7$5_GqvV{npq8aZ{!Gc1Xwkir`d9gQ6ERb`!me!reb#Np)c z00kuPvkw2a#w)N1hvkA9RRtOndKT!vQchwPoVZO3j)Xg^K>31o$Tfx8_QP|Q7)F5Y z%1idjl*xJ=Pd)ojs&WcxoeDP>H&-I>=qz(}z}oiwZj7RF23K&4N}E2`F8M~x#t!Yu z{&G=xA&hh7!97}S;awk#oHR5zVFCOib_zGm^Y+%Fa`X-D_lM~(m&6j5#(40IooasSI<8I^I#`%F;z!8&i zM6-I}$L$;<(IwY-r9O986<_D{N9{>f;K=jA0Bc#N=yLqYPXwr(>R<0^-*8oFs-&Bp zh;@==_FBBkPJi^bk~&6^Lzi#Q?nTy*+RC_`0{yrYk(tbGxW6&h-u@XAc-h?>hzMe4 zNA||nEgzlth6;q$fZnjKUu2<|m8@sGSqDJEi~HbSvqLB(s&1C{lKd|-RFU@X@o2J@ zfdKCC5@wN{r6hygzH5?Ym^=jQ;;kqb4zOuAuY1p7a;~nm@L&?R60qo`LV;7JiQxdR zO%+<{I}JJ$=w1bgxY{nQW5elypSD+*glK!i?o_XrQ@7Mx+|)1fS38jlyG6O+WT}R{ zZ!RytqBCG^@{C(K{-lJ7Cnvx8DRML>_($_R%()8Ssfv7$+Wg>a*Q;pU}}pQW0w z1U!JrZO4$5Xb-W*#9JQyaTCmASn~l3ZpU2^Rhpu;6Al{sJpiAsuDx2J7xVbbiD~@t zE`An;7=}PMqR55YzGInK#HFdjW%@LJd`W+2449FmJ+M(Capo^C!??r zz?n3FG+Vx^otAC4FnC?5lfb5@wO%Yav@fQ`9y*Xt?ZJaHH0lF8&rCR@w|QMHf3}|= zE&10q)ktqmrW2&Z^dzrb-XqBl1-7AU2>!49x3geFX zQ<@JsHoRE8#268NDz0B~mxtPCLb+32E^fv?MP>mAvwQ8RmZSB#ygAM;G76NEWQ?icoa*mqgY zk_4SP16H?}9G>xBN1QPY^|3J962%{nG|$;m)H&zC8kW-yNA!!h4ay$+3UB*;7ygrD z2MxRi2*lOY+=s58SI|ESjU0~kk?Jp1@VDRbak&gguPii75u*$aA4kk4YkzsSy}-$I z43ip0ht+)ELD|S6Uq(iU!oNcM>un-#b#?;-XNt{huibgPSdikRk#+k=dTEk%$Ui=^ z^5-*Rj?d3|D+-gSbtx(J`$wq-ci+^nRXpxh6(A+`7EFOpYEeDBOEJc`-m(fQeCA0c zEM@gLS0C!8A42+F{hoN7Ule1ZiDe5Uj%kM;DuZuQbPeyM#}-7NCysh+Z<>m|lT7&A z1&2Q%OQo^A3XcbtZ~Ms>l`t3z8Mt;TUKmwENe<*`%d6Wh5kHKNK0Egf2mUW&_oz)T zgRrEB)7X-H#Q7Zd7>(FEBekCpRe;pbD@Agyjz>1w(eZ_}{=Hhu(>Fi2quZ=^DS((OaaV3s<5l(e zI9;il`QfuBK)Lwv=~3Tk-$~p%XGR%I&Q;T&-UeW4HZNb5bDao)fV$I*+HUxigZO4M z2KbfVBFDQyER{HK)70aE{&xF`=sl)8tG?yRm=<7|P`@by?$7eBx4@P(VE^LtxWC{H zSr7iN{WKpy2rcw|aaujYHg409cuY{&%-Tf!LP89MQYJfas^fKb7$`NZ<$kDi8lpH-DJEJw5Y`$*FE2LG>^$n2honJbntA{<=;}1A2 zoR8=jyr3vo5F19>Av4`3`Y;u=i!LtMlBy02#j=zuPEnPG8`^i9M}E z>2)0|7YrhJ$l~rPQz1EXJRbY5UcMa~X${8yU}wl5`mlGTjx9WOPps}xdJ>}b!!kd~ z+Br+NnsLTPsud~tob4w=T9$)$&s4YSe$QW_B=PsMZLaH$PO`j>9Bs}kt z??inUxM&d_c%mfVRn}3?bS^>fnmd?Ibt|DpJIX9SJO2`;JdV)1=vEb)dg-qv1G&?e zFLedOjNS9$E18`Y3oI{PjTs;Hj&)707zV~{OLTI@t-iWCIG@h1*y%f`Yu`@e8<3wf zPx_9#XXjVHdRb7d=!kD7s^sTom>KDR7W9;2=ux|ML8za_iS)npXGm{GSI5o`+hpv) z@8eyC2ebJSjG6S+gyJC5W$t<7ZU>2<{|pC#Uh%gKnv4nEm&ih0Oo24o}6~j&rIv|Z@zSCS^vIRusnI@dgQ_`-WQ&*X!2-c zw9vF}BeP8ZO2{(vO*B`7wh8U;BBzGn7A=2%QvI^xBpz^4GLR9P{0IwgMFb0VlPu8*(TY`9+q~qT{p=EAu`{?CbC2zcS zHn~9gcR)ce2TSo9UsqaHPpJF)wEsUp>RO5<*bkzPBscNmpDGmfEdsAoE&o}^uhy5Y z46CKF8YtyyU7i+t9?2zUyn9Y)kgqc$baO5O#4X`T6?Lp-1f4*9pwH`#rj5z~))FC1 z(?*3>RMLBx_?p&bd!=0}bXzw-kgZoXPM@vg)hY@_d_LIY@;3ves$+EedB_Ag`V4Fk z6(21x11GtA+gP>p$cNV1`0^S|&#lIb_p%+X(z~p`br5VYVkJ_IvZ4h@QyvhI8gM})p5r?eDFs2i^6zBUjoDI zeJ9P<0UjQ=Jf_fZ5ykUo9wEw*&Zc=$TYx-gnrOs%^`tBkl+f=&LN*a$ZiF#S?SUUe z?XGvT%7rEEE2GAuLsRTUlA|zX<1W?;K3UO3Y)bUEfgB z1p&3A4QvXl>;x2WX~?4rQ1wLD?|i=NZh_EA`yp2aXtHSmC#WLG&7jYY!^)= zV99$|3I%>rjnR*IP3FT9{9v-|)RX75&nk_o1HY1glE87yIB`FqR;RfRtP*+^z z08`Gf(WXTY{!`QZ^>tl()=~%u5qtS<@W9Jb%UqthM29mR@in=H2 zh~~C6+&nsy!!+I^#7o~HX4iaHM%DIC`Fiw>mP9 zZ?@2Z@%YH%q*2#2;5S5}ByJfVmNv{Srq{-_ud|gGu2LL z1@nIyO?BG_M`~@glUtHr@!wE`VqYG%6U%uk(v4oYSu=v-ardJy@nkggcsdX6f7N-# z+l$dIUd0{aECAU9{l`y=E5mtxrJgo;Y~Br|1?j&BlRV9EkOyajyC!9ERa^U%LWR4W z`acYIX21wsV{^vR?Tw+R4MbHQMR5I0WLVQi1Z_cS6kQj!5R!6*=L32` zzNq6Ji$p!MqT)yh{i4}D(R+2sN5JBCEk26V!b}5D%}q`Gs=ol~AH+HmdEj^4HM>pm z)B?}cv8GW9aR4bq(w8gAn5}oD$V=j}YdR+v|Ktm-FhX7RhHclS)EtMvR6MMpxN?+5 z6g+7^xL1PmBSl}Vx$#Hd%0w@IMn1~rB{+{fpdN5dUBJ)ZugF2ivsme9`}ulYf8sWPbj@cS2lx6LDlZL`7RZ`VFC})2|Mo< z?&+1rMz{#GJxaKsIGmkdZ;jN{(i@*;e0)V$+XxH|9r|sS0xIuSO)3HQGJ&Iv{@b^k z4$sT+YiickItz!jPs3_l%z_B`QyEb55lxK&E>>OC3O0_JpLG6`ZVA@;touggo6)vx zUciiAv$wHd<{QG~qjBKh?NE!~7T>Q}>zmx4I2J3(Y)eR7-+;`lP9i}#%n zBt+wq6L2xS>vJ?h;*rOd_C4{dl#a{V$~89uLPzaO$2DRB_2aSMIL!a>*7z6}Rg;|hd~>du zT{p=2?Km6|hMD_JO?ZK^^Q`$i>2JzS3)+AaAiI-QT49fTr6AwmrlsX1iqTJ9iH>SB z>;mokcP<`GPhf|YXV>q1(ropyU8-UtuWS`ZgFo2SkA!jYNLsh}cx&{W**gdrWtCt0 zfG)(~t|cENnzrraKU$9d8|CD88~pP3WD^qn#pX4&q4MiA9beI+v|T^xUCAH!mc+** zRE_fdnfOji4=(DpF6P`e@C={aADSGJ0{C<5@nP)x--*Oi%sE*#|Dv?Yb-lN-d~#91 zk4=g#y^T44(cJ3rYGgeY$&-S3torFI;2(zXoKN^nMk_a<%q*RR9Obb8e^T;xz{Ow( z4tMS^^md9vwQOhbhd{~d(W6~W0qXK#=*I;xlROVwqVd}%{Nx}% zUp}R#ERcAV9yW7*T;_h^4E+6fB0t!WG?clCCr)-AREKNvQKp!bk%rC5GEPE5=SQae zltyq>MZnRVI;^Zi5b*A>`{l}D49eU-Rrp4zpFA<0Vy!g>8gns!8GNSgKQ`;H7Q*4t zkrmBL;b>6aifX#Kb((Rz0#FT$^%pqsp?LwY2n=Q1FLgq+HQ5&a=J|73KQAk? zvFeIU^uD{x=E@QjZKU{AUgVcu#EJ-YZGeYVbwjm{_epd^zrWdoOkvKSY~8`fR55d= z+|b$^Sx8faiWcqd%ZoK1mv4SU7Gx-ApZ^D;(l$y9g;__|N2d> zs(1{}BM7yeSY4J649Q)LuRI&|^PqikO?)uHfb~hnaxB%>@BLfkW_M7854aEOmx*Ph^hI2i|Uuleg#l~r$uFfbP>iYF;hi2(a_A+Zz_n~o@NxCOO zGWD;|l>dJ4X$t5BBBNhp6oeurcm`ahHV0_#K=##c)LD+5@%P{nwmXm^tAq>9RcAna z{bFs*iBXrF9Y`aJ2AR<}V;)qWH@uioOb%r47~r53>Ogo~qs}7PJ2a^FtIkQ&`bUF8 zQL*I_q9~o> zF7%ieP^U*_SvDVS2i1E@84gxPtUAuvxxoj4%?oat+LkJ@17&%3^`usiY2`D_d_J|k zFC|d0R7*d9@nq{qu$T?+C%=cVAVECmFX8=~>o;-K{(nbasJA?!ev;T0tq%Xgk$gny z2nnX>T~!)UUT4(dG^PE1g&(fOQ`&G12`*}Uxw9|m0eVPbh};N`hWFW3G49`Ky2ABy9odAEVK6aV~rZH{{!6YBTKb`&1C3ltK!Cp2SDj z$kDs+LgB_VrY=};vfD7HPIwsG$@M^+Ayh2ouZ%9hiu~<3z^aP?Z&E!t5Hmk-usI>M z=rc30Q3){yUkjFN+2I2Yf^7?xUAfl)KQAc`3cFqmMB6-vesQWE8F^NHl2NoN#Y9U_ z0f$M77FouzL*%TY3^!qhauHzd2A5m`^7G?Lnf6vfJgMvth zG)OZ;4oVoLpmeu1L&LxzNJw`LDbms*H6SS6NDD)E!_WhNe)sn{p6BiL`dWLfwfFfs zPljiWXtCjCjd4+~vb%W(hXxh#Dcd~01Pg3ax5r6Oo$|l^xg9xfecu6A4%_=1I9%o- zD$I(I@h>dUh(H80j%_CzN3pwvniD@;I&x;j~F z$D%sl(CLcl%w?kCO3Ih(3G|k&rZm#CkwcO;J7O~9pmN;Vv(_3ZQWJ))S}UW;p7K=q zOFDe~ye8e6r{Y9Q02kSv*uBt%5?7wO=kwLshu5B0u_C4eaB?V8@IO= zhrJS*WQ*e<6jDtN#P9i|v*&-RfYrxm>V@VFZTntH^&JMDU1}dlBWdproQZDvczRS0 zuEbbeMobD8s80maNl2p{`u^{gVQaA!|BjBeiiOn?1#^cH1Kth}g|kpaS4=Zc9ie9O$=* zEe=eDeD*yYAsfckKy6OT)Gn$O=vh*F*AI*$G|9bFd^GGyqvQ%0hckFUvyBDn2$m`EU{72a_1i=Nl*=3kQ=5bHAN#K9wfh@CKOk z%Oba_AnLP!Ri!^uYa*K(i!Z;qisE_{5fZpa`Hx`fM(&Kg0{`{t7|6)2zDCm=?(x5O zb_((WXm2kjbtpzU!gDP8^47|AorTh4;l=NHW4iw&C;U9Z#?Qa1Z;2Q07K*Nf8&J6A zR&wuML>@e$b*3L1IC!NT@2}}YanDJcir7M)W-CqK8dWwl%3T~>f1q1?_4Bb~`^M9` zq3G4&tF%9;V@vkzD~S}n$65YqFHWUtive4bbMvg1m`U?X`acKt@7^Z}Ewyt;7^`bJ zeV2aY*?q;YcCTh=Lp;Ua+Gp*G1(@~zO}IW19c=RQuDA8i-v&btPGN$#xyEh^48t~y z`*C=!M7Z=Tn$IoU@~YWmNxDCdO_Be2(ZaTv`23#};!PfcAO8|Ao{_7 zq_3*FXjev9vbLY#zeb)r;S=Xq4iRVDWc7509Zqp9*MqEvIk%y+Swy+5=U|P?m@ey^ zCBx|JzW6F5iMSkx-<^Se#3XM6EmmnYHy#*??~==eb3UJ zyK6RsY7m{!OO(NxBSZ2l1(|jb_gwNa`R{o72wD(Z_Se+3U-ZFt3IQ zUu9|TbCOr1gnk}sZMe}20_c)t2?Zn84xK!)?-b5+81LP9%;2USEMjsU*zgNP@fv4b zT2LS~&50!RnGLg9#iL zc0_Vx+3FCCOe3u_D%+XZP5h$x^~|)nA3a}D_bz+WFX~!()ZY7e%>Fce$o6AEdb+kb zF0O{lLxwy~F}tfUen7~v@~WggmdPqhI(8l5*9s@+d=FFF+_taX`B#lno1%adL?nIk z2;#>jWOkmTs(oQmd^4x4r>JK`?oMRNd&B!)jF{KLm0}1~ZkA=KlmcLGi23#Me)f}Y z%b3R$InGXHk-|~+%~{^n9%DqZ#Aeao)OiNZZVuA1oTxK3y>gF>Pr+2A@Y`O`rcu5!Y9mv4d7p;vxyfEQZ7G@My^xoKxhLR2B`B14U z_0}Hy6R^Ad>*Z{Y|5dp4VOxFpC27--SeOd_Oy~J}+p%~cbt-SH0ivthkh57C+tBrkC+T@J^)jcxgd26yp&Kfk`xuWYE}uT^sxf$Mf9N5}ie=vip!iqg z_f2X~*kpixEN0r>-;{lcEs=%wZVdD8x5*l9@lae~;YE&#$hAb-^k!J{L@fhp!z}-B z*g|!k7d3=xl@yn_*KhOjBx&4oYeZvqHORMdQROV{TbFvx2ZvDyY6KJG@FRZ8#Y^Zi?eSc#mQJl}0(Oh7#}Q-L0(R8op*j1}m=6|x0piXJ_04TJK7eH(KyO1n zB>T_5P1=PX`rHM9(FKHog^Mj?&JfJ#sQlzR7=PWL?r4yEi5@VF@h5q_?|`R)3jIxk zh=dzLeeTn`9?L9RaTv?#$f5q>KukjAG8V0s@bYP&K`=t`H;tPQSmhgjW)nQ@uWObW zm1P^=3;$5_)Dp_;>(3#KKNaXifi+pO6~u%7t~~S`1VK>~f0hYdR&X62764$xi&2H9 zs4g0t#)7+m$O;=UQ^!vNab$blcNgsx4~>T3dA0EXu;wEAA3{%og!y246a56$`|NMz z#u)2ntnJ|;ShwOvp$*JT`UofdFyjTjft$a=WX|q}B1X@7sw{Xv8%hB1U2Xn3vyKDY zU!XBdK2fY$D?@Jh_bs|`d_P4fo7)J|k|@Goc)pFyM#|ks-Djw){o*m5zxN`O1+=8r zJao)mneZMxZDFf0PBmO*ZNm8^A>b!&vY5xlAjThJ8pE6eO9NcC#>Y~dP9XjwyZ%-9 z<;DX~vu7m-x>pdmpW_};@rUo%c%C)W3xu|x`gfoY8FigKDFNJSF}BRLCk`ZLlHs*Qvp zpf+uIjBB~Q;@hdrzw;U_Avn?pH+=ZmIlsM-iDFlmgKw^Y z0{$n#hEG3)A%E0vkzIGabhQ_B2rP@@x!NMN2W4~z9D|EqDp`U(ZlV2U{?`0qDE{*Q zY-9dM+{-d3r7nDw2uR7t8w4=jT$&gk3PwJqJ(NHgFTXVG{|55K} zoT?4?twsAxok%_uUks_c4CA3rpwIm~jQLLw?zmrsO$Wvv7_=jG*m?P!lMSWA)O-i- zQad5UxZLTyF`A;+pT3Gn1B>CU`d$Tk{oozO*96o0P-qj~HK>DN+MuG2zg=BjN!CMp zcwnjq4x@{~FAncar#)LC3l5F5pz<+*A&?E?Lk+=xZc93V)0xU8#fk;4EbD<(opK|> zhd<68po=ompW0{Dnh3%+PHSSODORg)QhvNqY(XX6N;7@zwaQeF96Ut+vwWBQ2KNXQ zJ9fr`FVAlHX3hxeST+XB9S6F-4KoHSWex!CH&rRA{K?au@lIcLmsB0y3WjmuF;*(9 z?CMxtG6h_Dpf7WYRSEU#Y!RLs3F*r&#TYqzV%9GBR)bA6wuq<<_A+&$6QW@Fju>4~EGY#1IW>(27 zxvNHR)B9`6bPCm8vEXvkd0F_d^Ab^4W>*Wi!mWQvFr+-_aB-#h7>Yj632KIt4) zNF1TG{V=%6ta;1A^~#~h?;y9W3q*M692T(oC16-Op748Ye-7Z}&Ov%?@b&;y16CP1 zQ!x5<-FDavPK(A}8Oh!{MGU;7{f$W4P{VuOU_PwwGvIS_k&dQDSBH|06~-pi(}xoL z7%HANmuz3zMKVm*$#Y149$oct;j8k2p-wj<9QT@KRp&57O zIZCADQtR@X@gM+qO4rxiWLZYRiVZ7JdvJXUo5+9@7|L<@SL+d(UhLu(c zPfREPbkY~6QhQ!YFz5ft1)ax=U*C4EcKywp*WCO>Gg>?}08iSwNL%mN@Hx~q zfj+JHNT#*(%bagraF~dE_JdMaKsk0=2P2?ht(O*1=CvsT5FtaW7DyUE3mXo#CTrbw*=h$9GhujO z2uRV-B$f>OwsH5=7JsH4?@VEAR~==q)ifwgm78MqQ%-sa=$@JNr3cY)5S#m{!_l$1 zHk(~pQ!m-ArcYdK#Cd4CYuT)Z=i1`e8G3ymE;;)QuyTAPE#=k61A>gLShrZE2Zu|? z#2Wop_+(;&AzGSlFwOfjwMlcVJRIp8Xpo@Btp(a|rE}=Xbk>x!G*0Ql25w9vKF|{G z>gGG-^w@%JoDtP~$REZiRBCwhaUfo9P>(Ay)V89sp{$Ighf8pVZJwU3#q=xJ{Eq?8 z@>-0OBW|C~*wOyEC*9BMaM z&wuy@Py^vF0)uK^9?}nFYi1K{83bCYMkPqO7t&ZpmX|fRhEJ>L#pFf>pM(5rr(Ox> zPrGKH_X*1;uCqYBulpL>uf!T2eVh^<$!wWB5JUF}7jGrEXBIfu9LaC@*%s;NKc{0p`!W|_xtTu5_rSGk%@VKzp||uFjkJ2{u$HowdzmS z<5yYzKVkHLj8gkOdh@2Nq$t22RM9{~JJRQXbBX2KaV3Yjw)c8-Z1Wepg0(fX3^Mw3 z4DOXYdu*eOskL${jb*36k2(&}pXh9pecp@bORFZ)SD8Bo-PRI4 z2ZIBE`=KJVbnfWZC`hH@zUM#&aYtgXr6x$(zP{P{4rjy9c{Sy@2A&g~H@sVWBhi9@ zZ!puC>a{XCx8lqJZ@67|=+3Ay*=VxmFW{VC=LK)IWrHSDlO2=f@}m{+Ye)cfXyMu^ z%Veq>^9#l$I@M2)X>hKS`N2A?tI?-h|DO1t*ZKNiKkq2xBdh!q*>+#!$@)g8L*}lg zHdTy!I9~9=yPP%>saaW#>*psPH)8;F0x46!Zfd--3IO;WdU^J(gWkl;x%IlyN58>$ zh(%EK@YZg3c#s~#NF|;@%?}z(R%Rz1e994fr>z(I+D13Ryv{*pq_-7bUqel@tW6Skr6nZF&vfS>tGQg;)PLH?(wr z@#>aig8MX|j~^m?+pno2Tj4om@i!nMre~ur;E^p?Sq4?Yo z-)&Fyn8%iVJnvnr7%(JTSXit>0oIe)`P+Nb#O9yUQcRpLf&yE{amtfy*yTrDSBSM1rmm=rj|+@8cQKfpy4n1y{{!a&4$1@Ht?#MKx)a6TR6 zH{88bdcjW=Vv~x1bUVVkxVtp^4VZUis=OON7@rF7QX!`p;Xda9)M?0(AfbZtn9qkq0|ENO{fO$ZS{0O*yY7Xoy>>QJ zpxrICtc}D-xeW03dwG|lP92=0LQ73rp)9J{OJ>V^2nY}7e-WYQQL>Jl?ACF z9`Gfy;$y}QQ}9%lq8C+*$nr~4Gs5MWh9rnQTtQv4+M4q5A|uGMV=w9lxXYQq1yt49 zqRLCcBcWQW#HqQb0EOJ0D?9L^qUB;ro!aLZZS;jXdfn4t0Fg8>sovNKjDB8oXz8(} z655-Qq>R1;lh-P-7uhs~V_bF`2gwmdXKx>nIq}q?+G=HKDNEdIO}zfJg~~!ct~f?V zV-%x~gqIg~>87Q>#kNw7tLt$}a0}CsZN7t+)INvEE+S&KdRrC8f7Ja@r@L+`Cw1eC zh54RV!j!+{swI6+Y~y4XlsU`dJfmy6mOiwWzM@fLT?}JG@|rQKp6=SwF&I1*c*?JJ zqHRGsC|#-k&ZO7y_V2BMwv3JcS(Zv7{IH9SaaMvRGoHy_yTXA&MlW%CW8;2c@xd}Z z<@@&HwD?4~_7CVq_+aU2P{)?xqu{Q`6#xoydGZi@(@y>ldK>|OJWiS`QB;~>L0SJG zftS7ZJmH2^W}4bL~uB*O0OE2x$z6(x?~~c&l_M?v>`t`c^4SmEak3 zUiwwZ(Xy%VmtHqOj_SszF9A-6wisJ=Ke=&!g5M49?f*XB+00>C{*Yujy8iA3+Y~{O z*pW~b>+F|{{5vdd@4;w=lq+fUuQ@Z%?YyNECJ45fdV6xG0ewcMuH7F%xIrqn#WXBy zb&;S}cjD{Y^%lKXCzFqNccl)eZ_oj4CWq4|USNXA^Nxr~valQK?hYRS&d;Zwe>>1= zVVPbA?}99(DmsI|R-HZu)QFMV9@V={{jz{qP~-v?(t8j%mW*D&a7gFXhBO3Au+9|U zjjw3X610kiq~1X5ECSFc$6(M4mXn_Ix(%Jiip_ge?Gvf~ro8 z@H$~5Azy<9+p(-NezbO9 zvJ9inwW<+uzU1C?BWKD8S#`%OPi*o?|V_Ln$VNCU|Lq4WmBxvy^}Ee1&$-NX(l~;w>W_< z)^J=2!F01%T|H97DSdkE18Ppv}gr{_vN<_O=O#H_IBb9v-&&H{IiC zLD%vFw9o`^NT zPM*h5DJTJd=O}v`**^vaEL!p}`>&WXc{3(bA`e4viFoAczJQ2-gobj*>a}RHwPU6l zf>n+puipN=@#7$0)JzE=2`QHi4}h+5k-fA$cokp^Mn>BoY&$Q#e55iiCknZ8ddlaF zq}}L+nIJfCQwdWJML~`Pr==|cwsKX=`_nfqNG-4#F=}MiyM3|pVi$8gZ-|giXEMxo zE<$g#Y#-c-!|UiFh?LcphgjBgY1r-2E?{i6Zr(tY3A+Kft1-aVg6Wv8#!c+1`FT4{ zGr#?ZbU)uGTf~QG3#9pv)V0Hwrr47pJ@`hUJpad{lJ=gl30}84R;TA)5DD`{QlK~a zheAaZmh&{-B|esK4B4-)SCB_=GPwW!o4V9~s@#7J;v?d-x)-{Ph+qX}pAGSdv$RPefW+rdFN+t0c2xm~e1aFxIt&F~ zU`u!o#Z$BlwzX68fJRR#1p{Dd-OGMc-Ti-*yY+|-o;@L5`(DpuG#cF0PZ_?W{JX#c zt~WD70p>PW^mC!seAa+Y-feO_G0Xenot5@8{L_=85}6=y5x;>(S3Nq=(cdyu?9fs@ zs0p)>N;^7*dcB!T|Oe@#Ahy7>xyJlW z@y$kkAGAa2%I~$fotUj=S`q`BG`tOoC2q%emcyk^pU!|5Xsv>3r!Def=0}}r zUk>U0EI1bvAI7V$4rVZ;*voBzC;=`9PRTGN5UhV_sDfY9+NeyJ!IK4*OrbB$MP^bs zzSs#}sVu^G?&W#Lr1eIYtS|f6_^wO|8BM2Co2|kD0hkcu9 z^P}W00merfU1cd9H0+j9@~LMGLXL6y8Pk3ABsLUbrDXOJVasE_qs+jwL5BTdXw{Sr zy8EoEy^L6;$JWPJg4SZi`oV=(@!fOFgSo!*hqRoy*IcKstv}ov(2A!f6fjXV3K zRlkP2_eIElrrL!fg)DWFxc3j%eAjwo08G3{87%eDn3G&#&q?%^w^92{e_=F)`Y(S1 zG78dqtE(TaPRm9X%thQke$o5leb5p}tN85Ni8SIJb(#V?-I|p)z5Yp^$H~~Pfcw;D zc6ilglr5-(EZ(9*GE=oF@Pp4eEMtfeCK2`rBVO_L&e1SK)yv7=Qa{4VB+B+ZiSEf~ z(a`_`N8V4N?~=F+-w*!qU%k4)p(VU>HXFh)%81L|{nx%8x)>&T+V0))8~8>*;KPfO zXOL0M+)#Va7qjdd9BZ}07ZN#sa}{Mqqo>rT9hg~hw+?xCv4@xkvY@yk_+o0yf-W-+ zP=Z6=K3B8@P{qK=6uRHyb7v)q^P2Tp>SoaA%;iy^z(9njddsplsincsAQqzY^*?{= zn0|9WXyROupRJaUAJ7(fNY)snmrU+XkRMwFf-OQa7kLwWlumu|A-DT;0Cfj}e^xyn zE-M%vaKG$3m+e$IA%dh_kh6Q@7k~Hx(n(s_KyJtLR8K}BTK@u(B zY%;89DzN_8W&cvxkxer)Tyv>Jlp(~^e`U`%t``tn1l$E?^RC-F@<@(nM^M6VDNAN? zT(E~#oDK7(s}q@Qc<9rAYOh|0uDM8qxA2A{piFJXZc_ka2VcfpE%j4&ag)qURc z#IE=6M3A}yjDgmtv>9<*FQ)esmDp}sc8Q&@^6+zEs9&l2!cerl%c3W6)U zP`EiRb0fJ~y4D=@+I=Rwao$5(8hJ-*$DG4KB5K>9nzikcR^J$Qq+)PJJwg5PDH%*j zEj~1|npOz!{O86A%k#w|$GB;OH2n?jp78#@H*TiEL3kF@uTCul*4Cn>S(YrnSAS$8 zQB}O49tfm&E2d{_M82|Bqsg~mnGh$o=I?2AgK1d?dv>}zle0c@o+BiM*F6aj>ADR? zY~LPGm`lktVw~lW&M$W_Y$zwcl(#;NivLZFftkEpVm}HYuS`u{&5LAQXicp;&6G2s z)ma<+f2`rrA0Fm%erJ{jqG#Ue)t%en8WW{-1Y4)z=-0UwiW#b68f}KH#7waZ;huGj z%=EuzQ23(Qim^fJLKpEssehg?d!D&{;*p-X5RiA9nGvHPUJ^>>tgM%qvE{gebNw@ z6uyCGeJJhUiBz~DMi-{OqrPm)#7gPm3e%jQzSy1Uc<_XJE!C!Q$4>GSOcNXt#c*&F zhGDN0;7^kEp40)92fT|B&tx|A!46T`?DpaIz=rg;Iu6l##URGo%sG^8R@p(d$N(D|uz<%DM$?3h*u8?}tuGFKO@N zKa*SKY7*KAMa5Ldw~9O%_>MlBQ&EyV@Dy3J`0K%V%s8ZvEC5nSp6zr^IL&dkm#sT+ zG_|*L2SVQ#u+Q)o^0sqZm=}Cc`zvD(+6z&0W?4 zHJ@X&-`QBSrW*_S34gR3RqCCS2h~;943e&~RqCItKh-Q@>>WH}*{+pL%;bnZprte6 zxo-)+4BTfmevSL9V}8m(f7X@va)^eR0c;arDz0u@1KYiL2;`~A-$=I>EtwAlx`*3waH-h8kX^-uFZ-{ zS+%m-0mwY@IlU~tzkZv8IckB4M~gX>mhxyJw)nkGJdm_|=lW+muU2@#0@T8!b@TUc zxpV{E;p`Ggxoy1hAO%5K3F~u5hDtKK$emO(#wkpx zAb(8IQU`m&d!FxfGd*XfA#)jh^WV^nZ^|l1Mn)XZV-u&d@L#rQDoyn4?gIC6a^8$= zA5r)g$XKN4pf6kZ66`jlyAZ{nK}BX-UXF>GVLcDjFAjT0xI1`;(!)F2e_Z^Cjl3L! zVv+USQfCDa^sOsex*&WywFOr^&#O@*(Lfl}FV(`(N(I}0;OBLsuWF}Ia~25Z%421z zFG0<1y3F?L6LRrCY^^RM1*w|V84>rN{YRY~#1Ug`SrqY@yTZGM>iJrTeLXqFzG#i8 zs4`|X(>0u&O>iW(aeeSF1+<|WYAix)>&ykfqn?*%Z5To*;)*n zH%^zxqWs(LCi-x*{d4QDU$#h@62?sg?lakb#3NgM16_S5QK;_k8>rvkBQC9S$t6ex zTQoS5?#@umtj?O>TwY&}6`buGp*}VJ zZ)uxuYOvw|$zSt=|GZPd*f?DD48*|pL;_#xGH4av{bA{`w-Hm2>jpkBg=1?PesoGW z?`N$X*|BJJ8TMuv3OIjfIwSl@0r-pFx{GcBpEZkkPb{U+kG>D(@6GGlSuPLT?7#Yx=Lf8;1rUmGKEva*lJbLF zlxhtHb#ueHMPCR$!O1}6JGHsKKkL~o+wStj1PKeZH{|mqqKqnHrT6Ga9eSinwr1x{WXull}HR)Ri^r^#T!l_90 zcN1TeE5p=~bxLsdTwm{h>JkzrJDr=rH8P;=Z?zdi{YMRlDXNSF)K7rbobc zT_Ga-(_!kEGX)Xn#Pkalw1T1**;u4?&pv_9`adO&P_1j>_u6gUOW1L7;6jk1Kk7Bc@CTQ`>Cz`CKZ&;8k-iMB2gY51@!c*?~zU}r1;F6@rZv4Uvo zed+M<&h26{=}miW)h8y$uC~fXTpsB0loiXpBJ`iK+lX3W**j|pfm7wAb=ZRH)${7f z#En$IEjne|GwiC;cm7&nPq@JEWG`4*;UTKSPIU+Z-&XS|iCLa+Q3I3k!%zq*(C z%k@EoJ43$WO)MvpdLu?Ub;-h9mvZokCIuV5{9fm(FzM}lwVKSK!le2llVCcv8-J+y zO<2j3S!Enl9gz%;UK&F^AzJ4u0Q;`;HukJN;MjoHw=jh&n_9?aDMvK6j`-Eb^p&=B z9TrIEzA!k8Fmkge2w~DU@Ut{h(uYY?Ga(OMT)DaFP?3bkQg)anDwnU7{C^|lk3Q7> zxWX$b&2O;W7^VlcGYyQx|9*e+lN+3=y2c>XsD+%IqWq{W5d6CmHCQ43eG_bc(<6|3 zMTWUeb;sBzV@$p=+==yH{kP1uA6QL0JBD%Qa=33m3DOFei2?JvAcNa9J)9jtn$4~^ z92Y?RD5~koP9n!(S);iYU1T?KyUwQ})=-7r&3|_h24g;RZ6+KwG&IC@pKZQxR@@bf zGaWme5agzK&Xq=9416lkpo5Vm*)qg4{y4Eo$C)_4z<*e@;0|RvwhIb?k(efjzB-{M z;$R)v-rM7evxJ#Vc^EedV6oW*`L%Sv2&zzB`bz!nPp!Di$>kdeiBPqaz}!^D$s&_6 z)^~WQk*;bzZ|n!Vf66tCVOQi@j~lMW^W=Xb??7K}!ng@e{x-@4?jbjg2X-B<$z3Ta z>}b84aP_gDXX87kIXXz_OrWin4&0xx5ZxvX+m+c@5^Lbk1hi5r_Ln}@tO;hQg7!BF zW(?DNuisNvC2t6fM%~iy7D*P})SDTt-9{%bOit-9`&_;3-E2KmP`-9!OCU4kkluE> z&Y{Wv+LG`^q_4)h>QizC6|nbl zb;D+`d?9_WZcqZ}S|iQQOp#?s&ZF@^ng}*@fNdON+J!-n089DP$APjAzbjlGb(3=u zkd8l2E7_^f^Ub~#jRtgWXzB1^Dt(QY*G-p719t1~^UtDG^fmIqHL4tTsHDU}1gXj6 z%xas7gN=ro5sML)Wcp6UAn0pzBfVL~7YisLuXNvDdBaAVMl{J*Etk(9^%WLx$e--klm@vbb zaGMcv3f8n|ozhRznXp^#NlfJ+nDT1+jPRiM_0JRJvw2Q+5`-)Uv(>vp#q-bnCum?X z%wyVTv4v*mJ;m*K+zNPcEX(eF$;i`|BK++Vc7J(auUmmOy$1!2&}=RAy0-gOb1*v# z^Ecvej~`lJYJ0@4^s-A~=&8uVPi)_6*K8-OKW*E--^jseaxU>+h~}=|ZzR}7FrAgM z?pbsEwN$WEM|eOUn*x=FB+F=fOxIy6lSIC_B+d^qK_pC&}L6MY1KnwXLfYb6-h++CpVw zTx%^#4t%vaS(U~MIq@6=)6Fk)9K0H~Mpe+*y{a;NNbu)xt@Juw65ogin`Dg?t<`dh zR6F*+<9_Z7BY5+C&QFDwkxe|P^>u{Sk1|C#;UyRkFQ=JIcV1J8-MDBTKT?*e0{Nq& ztadjK7=QT0<`Q1|Y7az-EznE+vM@>q$O?%X`FtJNtWWj>$Z4yO$UO!mtE>Nr1{N^M ziaeosz9k5#el0_9pTp$IAE~0`E8fvh{8}LwSC9%$Uu38wF+A1IOVZsFJ1k4MWsGpd zj{s0+6}FPVbIx0S`*OaeEU617jzc1(RUeMaZ%t(fsi_oob1?c1nyr9hzKew%!g1p3 zxL-0kbRET#kr~g0M`I}xXuTz|3&dj;_=c_dA8$IbisTcZGxgHROCe3R?@3=9<{bF} z39v_k^i2(l*ds6vJ5skt;yyA-cSa-pe*b<&0A+E$KSZec=EgRB@+0NL3$-WG=Nm>n zX_B@J15j=|?cfK{woS_bF3F*JzfLMV^%ZrEvz_tuC?WE9k=J#N_|^G8zI`9vj9g=& zg~2M2==IqRhiiW?DbGuWx0jc~_JRfI<()3~pK`?S3C@V}tNcJ}5`A00EjgPElNseA zcqFcUn+S<7`0j~gMn+t;)>3B4)oOK(r+VU}4#?a90Q}+U-N@?;-i&D);EwX1GE>7i0H@0^w1ML@qirY?9{BU?bwHAD<@su` z*Qa1!x3SSzX%>7b1mki$%Z0D4?F0wm^fSV8!s!&Ch}DSuLX)&L<5?{SvI1g zR|78W*^4O5Lj1eD#P)Z(^QuIJTw>-ZY&Hp2EnKc3aGtv2Q_8l`iEkPW)DA2%;ACNz>z>0G24n_H zz{W+h_h%>W`jQe8z8(x$rtc|j36^Fho9D3~0|IiJ{P#Edd;CO+5S2lxMMXvccKG<- z{ZjxK%Hs{$KVf|dOacr7c8E0MVgnoFx4eL6;!ij; z##qTTI>0jk9h7)Oe2OdN<y&X4pvN~ zD3#m+V^JajU}&tS!J`n%F+_3}{Xtz8SH)m28wpUtwBlrhMN7v~%(N_iM0G^R74P;w zCb_qUPHvud=$N{>E?z$?E>r!?`7qH)8ITIUp6~DvC&MAYt^!&8I{dLf3B z^Q>bGdB`BbypMvu6qz9JJ-h-_(%4ZxaKoQHa{b~Rq-9P_sv@|9Mis3_b!^Z#AQX$R zz0Mst!Ns4Vwd29xkM)D*B!yu|-_r1tjDFk*ZX&vmt$D+WVRe=P0*DZ!QC2MJwc)Y*Swt`w2 z4EyObit34Mg}%Iw&j|nOvMG2ZeC@2{AzG2d{RB=Hv01Yhe68u@()|%HfX%}hEk8$H zKU=Q%>L9%wyp_PwPs>TLW_Ac@TPt*nhYl~iY8UUWbhX)2diHj}X7gh7w;d6tz-TJ6 z|HI8>!Kw`NKad#Ir94N?<{l9i0IHBsL=yNKaOZ zY(nzB*D@egDd2haTXYvT_)t5#qUbRin{T)Jl;4L6YGjoK-&#~(B5hjbV(s_z@)%>~Ln9v!riEm%l<6Pdm}{}V}D6Qp4HJAeYuNPXXcH`dP|mPt=Ch=JDvuX5xQ>dZu!YoSyWB7hDcoeSm6} zCyeQJ3dFw~$i`GxW(|}S4Y7YNiO@C%7PF#=pcq z(@7m}tqNqwedYZ&5q4+C91+n&5NMF`uB9l*S3hJKKp*F6x-b(AE0<=;n}F<|0(yZF z9S5*=IlTAjctV6=!eT56RuvYyL5E9z|E2{+YIwu!t>q*3sL?Ft4ay*64oW#44DcF6Wsv>?+pq;6y`n)TIMD(6S?Sww4)$6D zy95N7DJODw+jT@thz`NCb_w**Z7ryw2dyY@ZYV{MY#$rmYmN8_ZwNi_-t-u$g%#;x zxnD;tg_B!lQ@@}7di@^O6J-0Kt^9NuOkkzugG0U>sk$B*@ffY&C)MTyUii0%RaADJ zQKH(>+Tg+UZ}P*^u-`Xy8ZmB#!uiT;`k(q0@#C|b*t0*p3fE~hK7d&r)TEWA6)9ix z&_gbs#(B#217?8T%Zcx4({6=wsLUd`r%MlM(0}wi@;+dVdcIVTNBNq17dJO2BpU5UQiKK5VJeBCP*IUGWfl|c%4lq< z%T?y??qcEL-|WRXw;#|MHX=rf;z0ckL$d_|9-3cRX+FnNM_$aSZzgLze^Hm+K!v{m zkV&X~S(}O;d^l?RKHVoq5~}RujyH@4ldok zB#FtRxlE>OQhBVqc=_H$YPJZ_ce^dERZARE!Dnl#RC;nGTBQ`MT{i4Edh#iW!4qZO z{r6>?6f6oauh&tVtH)joG#k`f!q3)~+4KTG#A=cjbpNCv;ayqweHYd@i(r~~ohiVy zn~93CL4J7`jf{AA#w9dlKjE4_xL3f;MBmv%V?+{sOjn)z(nf9FA*Ql9PBIsGF2>MG zOXxa&iCVelX1)W1?zmmwFng4N(GSz~7`)*wCm-VS8#>SeW8jxqM9mQPoM zfAhr3+}!HcUmZQ`m~+5(2l_utW6GGI|9QSXFa)>~8+UK2r^N#yiJ9;=IGAMJ&Lc1+@yC!| zc4%lx04&A<9JY$qo=4)nwTYgfU@3nQV)#YUw*D!y9NVb3ziXB3+r4@(FiuA=?L*0n z_V6w?sDPCpp?^(cppzs1Ag@7=Gj<8Y{teFXr&Y)gBlnh$*9^7NMU@X~^J6?)I_XkL z!JCN-$m+>nv!_&MMT1RZxGw29b_xY~1}mp=&Y3KyeWBUSPJh^0evNROfrvq=^mHo4 z+Izz@@PSmDk~tIW=K)Kv`dO8MA@e!5-uli@uQEe=lLFxZ$^V#tp^RWU^Ab)9tEFlk zr?#g%(DzcKD{^5cnJ4_dTvw zox)_nYC1OA_dyfLspz>En1sE;|Sx0nkJRGNEVd*hHA(cWJii)W)k( zta9r>WNkX;9^Q8T3J@jT>`Jmti?u8KSc%I&zPeCH5)OWS=t4lALajw}X$xxksASE) zYDnnV{FCV!+n96RA3-qT?_&lZ$)rPBQ%1OPmMrdL;Akxc;qLz<>MX;e3cEEtG}4Gl zH=-g9(l9hgTaK`p-Vw)gNKAU2GJE=IEpfg>;l^jjjMP&xccbt83LVw~X47pq& zywoZYcY6QVkvA1io1|j(ZISUdsk__|uOT4WvL_F5r<)5A){Z&XNhl-_qIy$Gx&?-N z$^aNocui`<&uq6-U|?uxZo@ZU%A;4gm}Abjo^^piS!^G6ncr^~Y70gtyxcp4T(1L) zhaH@u4&pIO0*6WeoHZG;C`G?MAod^6;DX>KTie#+yuZwk{@NqqCoz>HhMnf-7V)I6q0OwIKGa?Mc1v4Rg}lD@rhDD+Tj>j-CkP%M|IQL* zP5@5CzqwR@_TidC@~qE~BnKabN}>xl_Y$l`=@Pj~5ND$%O|9Z5gmpoGoyR_W^GCI( z<|;zVF~`V|6mTx%qhuQ<@le{cXenYBf3pZnWJez53HOgMG8ujR!0c{Z_U z=00m~dvZ~ZaF)khva-i}Y@-WVF(Gj)SV^vnn+iX-p8qc6kL?FPA!0uR;(Gg>AgI<< zJTifQsbdNFKZg1bw8^~`-(Elpzf@iah6FKL*)3Q#o>0}6Jc&6y000%&7k7MH{Bygd zvgejVc?Z|Ht7_PCl?(V3m;py;TT-B1dI86-bA&sUZB)aimD}D!}I>#9Ac$N?D@&6^;mH%r54O4g2 zC537E)EcXG*${48Nx5|~Dpmeqqtx+~?Yb2Yl2dR4#`O~KH z^tthuF~=K6sr1(UD+@d}VE*|NL@{;``$vGC+n|j%6sb#yC_rS@;(gjTQ02s92{s%> z8;9IhbfzC)3~~5+Mq%(5lltG;W&RU+805e5_Zi;dnY8-n?0oM>SH*Xq7}%e&DefZP zhg}Q9usBt;g>MxsK)LiJG1lRW4#haRz&mFV^88sB)jKtXsp|!2?lsywwT-CiTIj71 zVR)_7v{%Em@W}PsR>67tAN4ku2v-#qgHAU0L54LAA6g}~CMaKVt!biQ(!$nG1R8hv z$J&CWBRxnhE0z%n`haSHLc{#}42PVS^x~Jgr0_*So7&^ok8<+M3*wZQ03Jw^4e5oH zTI3nmedHbFy$w22dUUK|!Trzm$VC#io`+6*WTz@vI;Q+#hBTXp9PM4_hE=rP^BiUl zLSHopG2asW(>SCVq8)ze{{ge}2Pb*P#OeP0e3H#6A*J*cGh)=={hia_ZLzV%*6mY= zr3n65byS}w1OqL4b#5JWJc;kj9PwFB-0-J3i_UQb(XB@;eE6^$?0B}TMz~XWvxyy8 zF8lf${>Ug8{oTt?1sDu9MR|94v2F+NJg z=fk2%S>hRhAZ1+or=wEsGST21@m-u%UxU+?n@S?WRHRtfitK8IF~W8NKUg1kEH3+SUMh98+O%@I&DfoZuRJN&c&~Pr5TUNULP8g_U;|(Q0eG zqMjW@vCmx~=`c^zsAmhv7_{9fj990~5%1xei-*J?#qL_!TS*3+=j?CwoksPJ_od(3Q3~S+Z@>DG3a3wM z+h>{jBwZ*#>Z>@z~MMJr{|6J31;=Qq)4F$yt-*q6`p`f z)}Iegf~8)W%BO#CS5;7Ol{LBtV4%8`VbA_u@x~#q*)(8^3f?sza|3)@`liIi zMFfIMXPx^o*cD08KRjY!Oo#rF{wuWN(Iqc0!mVR5?DRzzuPBhcs&Q0*pKmIWxkHd3 zWZpwl`&}9pt>KPeX04W1?>kFT#|>B>G}}#7T*A_RapAq85wXVr8RMKqkYlI^{4d8J z^`~8J`k-r*awc|tp*jfV7}!-x?w;5`Kd$;87j+>tzXg&$?O&7U!Sq~=vY`(honK= zTQ{$FD>M|?BY&KkPK6Uo;v;WNA#{k&=Pyqle1$!ak?VdmS+aHAuCoFInz6^6zr%%p z)t9 zzMZ)MUbEv82tJ18biJGuOkAIA+ChXas3_iJ$bb2XYFDJQ`n;X|4(*Ul(-sqSC%p~` z&+aW+qB;u(pfFjM19*SfWEY=kLy2_oGm0N=K61WdumU{zB4% zy?1m34}ay4txXd0)8UJ41)KZ3#nlT($Ajr~;(Y&6k=~5l_aw8zhj-C(P%?zvuG@Ze zQ^Wg7UpbSSnR&KEI4Lp9wZ^3QNlKX6OCh{>3}38gCa1C(YMF(XD_0zDR?bC7je=-w z2|7wt6@~;;H37_*>ds;lyMLrcT3S8mTRVpf&1}Eh{O0e+PU% z??e>=((g5qkV-?@`wYw3Luc)eENy?{ywZ3$nJ;bW+n=-}Gn`*OuS63rg-HRrGg`|i zl<^J%Tc^jYvZ6k(d1_e*a?7=QdI!i4;ZsIL>!47Q`7A%2h%JR$mwIhTkF zGUmbxKB|8Cntn2z?^!s`<58=s9(rTP4G3gywmw!3RAeUBIluS&XEj;UloS9$Xvj?u zmE877Q1CQ?RqlHf87q(DJ5$teOKaGe8Dho+aP7X7Br4IUY zQTP^6U!W;9(!t&q3juBTs=>j>} z&+dQG37#KjPX5T_VhTrjArbF+q!t>0_^iku$5iyOR58|_u)KKxe;OC5R9NSVXX{+NS zy;G_S=o0ac?${qE`ou3oHq+r!V+zcLqqjC!j^9C0CNaY36jab3$(~R}t(bEO<nr|2mME_)R0|Nl!)_-Yu-;eK2uxPJ=pz;Vc%4P zO>h%#aMdev@P9kd|ENOeE%lIJOs;3{)qV=5y>gy{k-V0o_Az8-`l9&81#_`x&`}Ej zSxu)ibhdP4NMtExrX~?^n&U-`cI7_|z3$yV`ykWV#-MVfmU-ZoCD?%z_R#w=xDqFvio!#h$a)6^q;+)4uoJ>3VUoXWiDDy` z|Gn$1t=+dPmZ%c_CC7@|j3t-~ymAoMm61d0Ah0Lfyfn_K3RcTYVk|A}2rZO7+Iv|x z*snt-y8>TByY)6KpyS>??!s!&Pue{AN}K?(^m)gQe%Fl16@(|LAkf-s4mfL*A-v?q ztJ4HP$H#jo=lJm-?z?&(CO-_RshP^J}#P|IEjzV^}bF=(Ej^qKPiZRuXsF3?z9>%;ZPg zNTM3f2sKDoC3k*}zZ9gTDniEwGP#w}4SEl}8hSuWvO@yx)&Y;g;bvV`9C|{ zGvQDO)srREB|6k6ZeH`W3^cOP+sfLzR@5kB{x}FJyrNAbH8kVI#XZRF z^CH+qRx0-04S&GkBFg~ui$U8Db7Nc8Z!8iNfpF&_i6`RI=y+*P0VlW4_AIJ8wjY~k zSuahkWbU+W;^OazQ>#18vL(SOvwu|YkqL0cic9EGS*n%Mh$*oS$rXdoM`wH@4z_Lg zB#P)YiEP&Nd0k!>8Qc-3RgV5o$)BOU-w4##X~%Jg(8g__u@AyF**$?v3`)6$ zC$0Y8u~J8>CZ1Rb-H2uoii?$aim5G6gq?30ZC?`+VGh4wv?N} zXir+JUyS!YeJ61In;K0b_Hg2tICG;Pr1%|A1eDMd-0IB01DlqxMF({T1Wduf=BSbQN8Q1waj~J8&$M zKVR+Hz1Rr-@2wQ?)zXcH#r(65sm1~wLeZwJ-$r`<-#_5&`}%Xoc&QT4#X;nDwh~u8 z2k833UN6=uxW0d1sslIF$6fLe@5Z-3o`uGD|KcT~GTQzY|AU6`A%M>ou(uj7TmE(B zc7Mz|NL9#1fW1h(eZ7o`*D;hyIoGmmP1cTs(My;kr5sK|g{2+XuVCq#U9=HHdw#6Z z6}%?vqK*FYRG+r83tiEn?le4an_c}CBl>O=$cau;;Yz1XvY%Mg>69995lfmPl(uT< z?G7oX_`yuWmLVpKe6iYaR>qf!e!Hd^gqSDRr$*JQ9MMU)Jx9#>)2lq2ucwqqaB z(RFN|r~sbDk%FSjX0ccJA!BJzpG;zs1AtNeF!2rzy%l}^Z`e6FCktpeS2E!%Z1_iP zqwo9I?k$I#XFb_Lb5El76aMi|=6ewTu3)|1i!A|d>yrDir5D+wR}z5nARp-`_G!YG znL3Q8Vy##8rQTvQ8`LkNypHwU?Aj)Isb-or`*oO@q{n{6Mx9+j70sFID2Mkw zC)6K|86^E&M{#tTY{Dh!p1sO#14gUdaqXF@{>|1-8JKdZBH6^c(3ZGf*AH7!Z~uZc zLsadnuNLI{2rZEEB;E{7H5s*fm4TK1za+9>PG`}-Da}Kk%)s+rygFW2bT_<_sPKq% z(UVBJY_TC(iNAzJmiZWn_ zNO$G`T4f>LBFk2tSl7YoejM)P!5(QW$!jp`OKruMEJMI2GeYoBJdvWR?y9c71j$=D zMOHXMZOxDVsRblB?T#gve?wyor1TV3s~*+g?EZQ4AkAH#rW`&R7p?7c_0I8G8{v>t zi-JOXe6*Z63CJP)%?XngF#U37u(Zo@?V%_=-moA-B=?q-g9IQQRXZC(A$1l~W#F^4 zYF3jJ!kFtb#Z()2A^h8#&*7{8y?s3)yyiiGQt409x3MXL4eUiTOZZRKr4B!cQ7&un zF7#QtyVOP#j_l;NS8oD!+Vlv##fGwU4cUqj3a)%Y8?>t55?L$_^Kqr2HwtTif*VtB zt-pu6wFXEnhc&D-q;0ZvE)kzu;`3;}FNhE#b4yAYKH?%s>%77Ap2R7dCMK>!Ug3;4 zu-Gz2n++sX5_lPS`6}<7C$4)#+=hl!?o$2@SH>?ssUD1lSy?f59bA`B*C;T2pyr&g zvYEPfo=t%F{vbQlocY9`ku&c3&9BC^i^-0Xa}KFt0!DmqJkOfl?zmwky?NvM@c zZq*$0j0AsO`v?9F;}-hi)vD{jrBO^yH4~-O&;XAnEPu6mwkOfNNTvKzyM|AH;%qD_ z3%;({omU^zL~y#96{~pL?Bqlnp(Mw|9u-WH+jb3TpM#3udso3Ly+BIzcq{r{PcPo;O zKa=FU<2daUzbD&k0^{7u-z=rGq>N7ZxviiOrPi7Lf>UlfF(br--iji=3J=Jh# z#@=6QG5cZr35ntsTp#u&ZcMKx0>yqaCKW_>(oI$#Y9@;Q4XM02j(PNP_FQ5xsUz{j zR;0;KmpS*hGLFuw3_FOlufx5}G!>lJ=114dr(@oyr8%z#>^>y^*=lJ^O!3%$U3z?#^*v6yB1c+cZlrxn{+ZSbyVtjr_iiH(#C8+PjNfd%&hR$K$?31+L!P&+3B{ zQlUqR3eTC@ALhDd{aJ-o-jOcG8xT2M59MhYaUx zb|)P3*|*Smi<%9qB!Y3d{bpr#mjodXG~&?`m{A$VSl&7PtU@8dv=#y0;^i3`4*Id^ ztmrtxDa9k|sP)=c_X3L1?;M=@(Kj>5S&mQ-*|FMMX`Achpm|C0cVXy^kASKcrTo-l z>f)ry7-u7Mw^V!_OBM;h&209^kC00eMu@h)d|lkR`4H!{8-7v`Mw5=ZS4-jwtF`d@!d{vr8aKQ) zBghCDW@doWr|PUlOVH`W!s0`v($g=Rb0l#q-0aLa1@R}teLjRA(^MYQ52N|;!x%&| zRa>&*Z<1|YJ=GD_B0EHW3#<*Zbk)VLc5RWQCO_GH#&Pa-^C$J?c=U<-Ijhm#C&iwK z?-Ec)?*W}ZgA`k6TV5ftq>Yd>^vHbw<8sY7I6Ct1`NCwy1;q@IYDb5`CA(u#bC7f| z@MCn>Uj*2%w|v^r(3$d5CdYR?sp3lHsFdDc3_9Vs>*;Ew9H7wOzc#O?Xm^8>Tb96XWdxQm3*a1+~{_tdli08bx7e+e6IK~YN_;mbk$ssot1@wbV+RLX?g2%pqT?8&pmeKb;J&T z7w*1iP+j=)5?&ghwh?dOU1-q5bOyc7(Nd-OJ3s`nUFhhMX+$8!_Qe4Oby_@QLjBW)w>Z7;q)UWDJ133Z)BE<$-ddO640FBP--e|w zg*L3Y%F0$kVzVy*>VSxy0VV&aJJuyfwK0JHT_bFXtqGt=6Fz9mGaA4E2-=muywrgz z5Jm<*out#`D_4Vj3Ac~05r9(9J92-U9Y3NjBS&V7m7LJ6JkG3!o^Qv#}j7dc2<7S;kMd zd=;G$q$V#TTZ$;HI%oTdXB!WXdB+16H(?32G7njluQ2Cg%_>6p-GtJQ8yV*{1eF9q zgQ1=IIZU!w7!N&ef#pyfH}HFL>&WYj+073uEX}`R6$iFfv`X)(1<0?}dENZ+&-6lW zPj@ODKQQzySKt6(aRMP^?9SHpVJ?L|waTS04Mx z=XTR6wb+rVqjow^;J0i2JfEWWd6B+f)M6#P7pWHf#_}R7oR}m&aFv=%TQ+Q0%9<_R zyMmNUy?5}hkaa??aBjlF{4wch)Iq{*VcR49nd_qFt{tUKU3Q9;mT0_lk<8Jh1og2+ zzA;1;02$cmI3i7lSihNkVr!dtwDf_chNOf9L(-RE&~~jFs~Y(;7xz$!%(;xBw@xc# z=i6#Ftuqvr&M)Sp%(27ebgl@7q62A|GoOXGC6Y%JiEBaT>}g_@444u|_1mrJB7d{^ z2=+w=O{hjcV@ejA2w>dIrY5({Sk!U7a;JbJ8(Tt{Q-5N41xZf#zUO@{>3-T8-QPZ& zPyXA$xL{LOdFjQiJY9n2vi}})2OE1PUgvXGQKijOml){(jZlm%F;Dp+;LKW&#hhAp zYNAE+f^I36h)3HbUTN`o4;%zRoa`vP@JA-HOHTxjxp2Oxd9Q91_m#SKciCs%)cRSg>^s)st`OK#8a=^tG zX8QA~^I_V>oaf}$H@7ToC4G3m=V#jv_6y*n0D4M-W$z-T!)d$^&;PDWtly1mDBtft zLWd4(JG-S-`QDa!$ND_vlO6nE6)W+XHGsmdrHleJsXvOULrAqM%tfZA8sU+ZW0{(O z%4*ghPDSRj_%I&}osgLBhca>9x6-a{sL5@R(l6){7GjZW|+%Bm_}}H0k?2 z!8}nHX1DGema)>CFyj&OU;{McS8r~W`6yz?UR8t4cX0|_wxZT1Lry`~ieB%Dza15Z zFS<&G@wK+sKH5Y7YAB_E&aQO3MlDtFQPbS?-o2@T;=S|oX#HiyH&C?&V~IAFD{ex5 zg5uB$Z>fW=OTAC8xAk_M^pZ)AMA(f{G$5;yi?_Emj`K{RSGfV(>}zp#{ByK9V4y0% z$=$HHi}^gy?yCFi-7-GnUGUeprdXax9vc(U8nu)IP zYzzOVUgiwG;*pZS!<;>=F{&#{-47%yyQC_mH2qc@Em=Nf3%Ge9{M&+r>Rg^XLOi5E z%+c}t&Piu0ah?W@N6JxmpL`beA9t5 z$Q=s~TA|dXT{L!oUTnnOT+6EgIg3iykJQ*_|8Sni`MEV&1^n=4>;CRG%LE?lI-P4+ z0+GNyF-^NmIsb%^OE7|k=HFH;$hJk2)bD7^K#qhz`3)XdY`(0jX!4h=YzjsNJqY4* zd&T%zdMPj6Zc;H34`2zCstzRH9~yMM^J{#=+Zgm2BEsh?Kj!TW|D>}Y5nY0C-4`Fy zf>PcQdMH76M=CdFXVV9Wk*r!#^$Ys%`rxkcupjBg=vq(5)IzBxwu&FEhQ^k> z0ttszVK;m0TwXW&fV;aTgl*w|tQ`0Ok4oJ_g$-7e53X^UfEpUeN^XQxNe)w!RldoyO<*F>;5&ZLd}3 z+#zKr+5}?4p7=2S+_f^aK#@>u)LhawUFd`l3kKN`9}TR8|H9UU=}cb52WNjm4o zqn2JruCZJkTApnTzMo|q=0%c)9Osbb!n;?_>_A;0-P*%Q^FwH@N!=Ge1!SEqe54m6y-s5rV`p3xFdIKXWbIJVAziSGA#0i+DF4EW>TV%{h35@UX{UCFS86E6)_3kGRailINiu5P}L?OAi0& zT(M6AI_av>)SFMGpZTbGvBP^`1OsZ=j5r+JvWXL?Jfe?F^wCDQHdN7JUU$ka6DF-7 zKA=*gHx#ayL`h`h7PyQw3EA^g><(0dX{%xh0Wp5~q<;;gNJkeX(l<2lE@nG}Kv(3P zFFCr(0E!Now8V3(mVPxb`)rh)Nha`?*$`R!4WMZO2qIS+S? ze9K~#Mt&9^mC>DfR!g%gyqln={W?tC6-}ll`-+U};7vnP`XkZ7x5V3yOA*Gx9!!K` zpkFnyjMj;XOZmV&{RqdbD|2*o*Xfn*QNRo=x=V-Hp$qzeu34$&y9#8sVKn5>&sHO2 zn6(UGDcKwRt-5p{3P?Px^*1F!US78F(z8}7^T183;2s!AxH%yFj@n?}R> z>cyUBMw9ZtUuZ;to%+5>si}mOnw!`K5MMjFGc(bqV2t_8lnO(wXt;|LT5k)(PEc*D zR24TW|5=gGH{r_91MlqYKwqqaNf5Kp?c<@n&iU#KZ6wn=AAxyKX@_1?{CVg^%w0R? zS@K}gxa_b+Ff*Kh+>xry<&|4^Vc`Odo%l+Q*g|dko&$Br=c6;57D{2)2722k7uVm# z1VX;{`rgSc#9Amhgz;!8_f<2>@k;I2-oDM<36`DddNO!yUF6-AK#{HcJia6B{*HQ9 zxBmC)`>gMWzKl?c5Y3r(LDCHYZl%t>b(t92a6KdDOTVztRsdlOAdzY6TzQ_27RivH_w6N%X!hXVx(eT9?ZRazHk|H}h zLL=nF%UHGHN>z@xQj^-MJlOd|XmByCl8IRdex)KHH3*a^90;4&)W-Iijehzj_E+%y zxG|iFHpUTd!$Y4bmfH#EW-r#p-K)iP$c=YM>ZGLAP`cq&A^1}~>3%)_cAvc{3hTCc zVT?rt3_9a#AF1SqP5qrkl|jyp@zQ1A4y?3$6W?K7VOeNNB%`Rv1lu!x?_RmXW)Z=K z?zfgwsgAT$?0CcCTA2)nVD!reP8-n24e{!3rkXFw;wyZ}Fdu%}X zL^`OsRIip71h~RGJP^*MHC3e`PAs0veXOXN0?o+|3)!qik);2+LqB_IS|X-|eQP_j z^QQpcAAR=p4Y=ws(<(*t)5DCQxB5smry=Wzl8~5bb>oOWwTPkgnrBg+>H5<8wlpb2 z6C8S$gU2VMyX@0qkn23Hpk`H_7|*8%lHS2$cH!3#lDjCr?chHti1*1M)+O3dI#-HO zvZ1>7`vyC!DA|*}ZAJ zd$x2Q5jaS6gj#E$;U^ya61B zkvT{!Isi8RIEG+qT*`qu)I&PtpRSx*Iy$l{8iJk9LL^W=7|Op2K)~~I#;}Fb^Xs?p z(HK%?E8DnF=kGt?deUhQFdwl1~0uVTAtM$`H? z^w6OnxZ!Ks)}S7YG-{TTtz^UFWs0aCWlD_sRL4&=5I>`~h8CIT+@HDc8J#$#Z~|RW zD!=OxKpJj$UiCSOyn%XR7sW;D29)O;Y|Qr*VJal*(!M#Ii(K@afmT7BbRi9ZQ# z;i!6wexPB;v-2B-#cYGnpO9XE;Tvav#PI{Lrx$CAeQ0sffxc*=2%74#U#d^NWu!>J zOb?iYS_9(;X&aVy3qVT8p})$jl8}vwzd85(X-Q07*lAOpnCnWz?~yF-D*(TE@oMdH zk&^O_KMeKT_0MHDhPeVjTegy1x>Jc1@T;yoF+Dw_OuQWgA9H!S#mbTUoip9h>aRN~ zecaGgyfBcB3aWP^xM}pNA-Q?=C6CK%kGF-n{ zf<&&80qa2=f5Ye0pDwO&+T^q?gwemvbD-cykeK-7u1bZ;3G22EtNk(u4?CS1uOC#N z+Vzs1sPa02;%AWCEed#9Nm4t3ng*g?a_NE-2ZNe3FKZ;kiD)U$Mjh4J7w^Gbou27w zA;e!ZKBFG;m`G08BCRgQa_2{no2V*9Z?m!1)KkU6j#$o&R;Uzxu(X`*l{pnHg>v|~ zdQ_x(1!#FzUp$I*(#GqZtgxeUQ`pw(%2#0{`4qJsuk!&VAM)u}?NFvl!EXgVo6-J8 zMBWRKlLjj2bNK09LZ@K!4SZj@SJAew?OqZCok7CIzo%QVth4t;(z@j>pFx~ME41nF zm0CtMgbMWs(ZD7{uO1|&*E1xGfnCB!WK-z7LM;8khmCX-&d-@(SPr>{{wRrhSbl7~ zq(*VF<#{)Uid75Dv&@^j!)J*bQjvFBlC!yZ3U-T2yTUOye?QJ_T2T7N|1O61E12s+ zex7BqZjN5~@{JYd zjpyYI;y+rnLKJv!Rmi;aVpYErbv|<-G=67VYTw2p_R!kP=aqX=kPbM!cwWEr);R+R zMZi%Zd-zmRr#Vxmgf&NKirf`5$^vQeSbu15ytzDgo--hQd07#<@iDCzPyzBd5}i@5 z#J}n4c|9~S_jmSX3^+!B5|8`oD<3ujo3U`?Uj!~e>TIJ2R}Y+GuL1Q`^6v#8JwE`6 zC$&cMto~KV(YmKLwnnQq>%N|x@=&Ny5%%cKZ0@~#QVj!b9mIc+gc}DYN21AmC%QAn zLm=~Ex3pM|MT@j2D{rCZAu?uFXp$ysJQGv49hD&UxnD=$*9fdkn2(>g8svk}Lfkw; zQNc&i1=3qb)-6=RG6{VXovcT6d3x*$MnYZHm+p9SmF7nyvea8LicZBhTZ?+gMPcrm zKtyicc7{C4=VJ$>0*(GJdL&D(PeU^km|Vdp2>9)L9bssethW(+!@wMUscta3E$vF? zkX!nfxAdL~wsHAjU*Cn+n2O+Z&~tStfYHQ6+KA|B4B=nU@~WeQy@t$!sqFGfdEf^j z*^LPjyt2azh$Zo1%VM%cizb~|#Z5F-O?uyBVCdn?Ep3HpvL`ns4p`7spmHl&b%5xY zU#L(N0=WbjhlTiwWaXwapFUe4%1tF#tZG3D!lI~YSFz?brPPwOU*j-|5v_L7(oo(r zN>3`v_n(Lsw`TA#KHeZc2}K~6m|8q^o+>F{y7hVSh#Bj}-Zo?Nwx%WHfya&>)rE@9 z!NAbuVwVP-ez^;mx^?j3Cu|8z_WND@u}hEjS)rRzQtRDZuC`CrkeSl)dPLH$wfdKQ zL@rof7nJN4++k`tOHEbM_FDjOHNY(Tu$oRpYhg2WDS8uFp4f1I4ez(Kc@{N(BrmIF zy4s6x+`2lIiB-kLnIb;{!4Agcz~Pg4;M=ptrLsugh(pn8@ws$U>9mx8>3+nVe~@~q zOFK27Wa^sN?#1kX=oqz5BKh%FHOFI#98>ss2&=PS+{+=jNcy@MagQv{jG|nfa!LOB z8myqG&z#syir=?{Sj_sP5v6X+`_g0Q{g!Rwqlf}=CsqeHqS^^`@Rm_9?n~2Exmkzb zB8#FjZC>-yPD=l)_Ur4suY2i>&6shsgXN~W9!W1+P(~cN>aPiFrY~0FhFsLV3B*u_ zr?msN3xk*M-z>GIhuohdo>ap}PkKPFkD*g87++f4^#*1J0zaMTP#O$e>{v9GOo-d{)td@PYB#L2 z(wvRmWAM1fAVVDA6`@vb(s0#D%yD>;pmOP&hhm%pkO2uJuY`3paxq?MWkKi*=bGjq zzuHWNAPg8yv*zMY{g?QyzEs2#e~k|#AW4s7#^Ttazq++wVXcuoI`-*{a^@$cyjZ~Y z^)}1!-sy=jtE(E*odmpq_~-1Dl7QDLZ7X6=yKX`a_>SO|L$5+flAn^uJopPya$gGt<_K1Rc=VhI!e*Mi;BiJiNkslk& zswv3C*r`VgFEj*)Zq?Vmj119cH7|ty-kj$2O?(LXxf3=({cG%55b+5JckP_3uJe2) zwoeZBVD(lQju{Z>Ha-nuC_6UIn-iTqGzOVg#* zzicG!Um({4-`!}F3)`=(v~A5QXY3`f1A_XB0;#4>urgta;wS%T?;m-1ngrb$fjdZV zr`s)C&B!$nTrZI(q6_C~2J>+>OtfEt*^X|6$7=f*>!Cc_}Q_842=dgYy1a{+} z5psBjdCwG5dH@yZT}IA---h}lirtVi&UC;fGZ>_ek+$ z@V;~vN~ghyghwj^RzCY@MJTj0Kv(}AN6yq|>%#c}G+CiX$MS?bW80;qJu+5T>)!G@ zUn6Ae1u0sO3&ozO;_pkh?t!2QVw!=UNId}#g@INTM1&}=l#)Rs>-X=)v_hOHO(lq} zawdvZa!zFz%vElSK<-)1XFE^$#Iy%UCk4)$Uf7d} zdn?KlZ#l>YO{Gl`1Ur(GWRFLsiexitr_Lg_q^NW^foHjHEnXBsr22uu4|jtWez4I& zLY+g$kDqmZb7mYOlgja^R0j*SpTF%XPHC7+255#>ZhNvjfp}*H*GerQ9t!#z64_B6O*&yq+6pd?O2Kus zwjMPf?Y>cDek4a(wY294B6K|X^GIKcmmBY3B%cz`Cxdcgb_|(@=6r`fc6JgVB-R8C zbpgUWBhQs+943u!I%4T&e?+B--ag_mH;Dw7w+(QH7w*L-&N}my1e}@db=%cM{Mi(= zsasLsVq&hnw|qdFd$)|0>EsQpw0xnSfMl#0vO9>a)ehFz_GMCp@xZy>GLm!kh|qJJ zb{&=xz9VnRI1{x1_y z=G+)hQM5PawM@N{KMtNHPG3_%<#SQ41ZINm12c6*w$Iq&M&@M#!aM&;dM9;zY@k2l zmwAEb?Ucj2%SMJ_7@^2sKj0AI;0f%7HKx~isAwIw9%!e=#AR@V-m6xUTPS3^n1gs> z`(sWzH;_Ijr-lO_ihKvjPHJ^%jZf6Eu>K{u~|fI7eNK(wvg z+Rm@61TmF+X0xP(eO+D=JaPHFeRT(#xod2*B%hGTfKYfu4Sh-9pta#Uyo!$QY$R#* zlNN*}Qjx1962}pvaU6#rzuxcRw!1U7xxF^5PutpS-MwVJv=tOIKly5IsE}4@qLCPAM{jN;Qrk9OkAG%up$Qfjf)!L;$H=S=L5VQ+V;Xf>Q1tSm3X zT94F@jDiUq>o|oeTT%0lfQ&h=uJ_oTTFFqP;u_AsrJ|x|dKI{8*uF|`yfEdPxW2=G za=(elR~p)5_{MHrPb#I%v5${1p{txr)!ipRfi1n1gA_Tn?Y`-A{JOG%4A8w#*AZ2q;)6%@t2EQ8WaQG+RaH3RapDt!1T`H&8K-nW(_ z&q{UEYqRm!X?5X$D9(R`Hi4BtPdM*>*vwpRwZ^FqB(gC5>HnHozO3lphYu`SnJ~=q zNSAe<-{fE{O&L(K-(n9pj)il}=rl=$?FUC^#A^6((*((L{S@a&D(MZoi{nMooSuPM zQ5ZYF8|S6@%U{2)j|&yd%4gZDi%v@ugq;AL7zlnYHSL)0+0(JJzYN$ZPs2#fE>o`^Wk)1kq!OPl0jyn|*KpN= zXjKIr>h;(5>Ep$AqNGn=ziOR5@ma#d+MdY`^+;)l8)`11&85|S`FHex_+jLgm!_R2 zea$rH9t9`QnHBYK+-zML*~43T$ENqy5#In3sZj&@OsE%8po|BF`Q}O=Vu>6~&rz_R z!gqHBEQnjXZ~L`XkVj+jKz1wEuEm+l7Cvm$+YxpyK|?*l4{X^aH-!1o6PtXNEQUVuU?}lKT z7ta(s7qfJ;q{8^8;^y$Q8nz~!n^u6t(^S39cUMupUSz*aRda>{xaq^|khBg@MK^0A z{`4B*{s78PW%wd2o|g1*ysWveUBja)xx&6T0r*XLGy*Mi;a$&x->UK7&XpeVcHtgO zkzN5Cjj3BtyLQk)Eiy1-2|<#ph7R(3Ow;##mxGUP&KNFlgO9QzAJ@&9ZXObFdfd?} zDly7@^=dFiw)3UFW?7qQS@@6Bvt)G+PZ9&vvNYvbZ(3y;K{IF#Xl6;$gx_|sS!W_g zWP=Z8iPU#FcrEXb{Qx%)j9?zEM4s9c+xhuTXs-!V@~W}ne|6mU3O?n0J%IUge&SE~ zOwqV^p`Kmg>8$<3CV%<#(HbAH*7K?}3eSImx0q|tefLY(8JT~uo*OF5=#l)}`Cu^P z@@oC7&*N&g1nw&()1wud}IG+&pD*{D}f=XG>Hey2P&|<>G1v2$9WQ5 zy~z7K3Y{%?nyRUaUv9UDw#k&Mh+0gV>6LyY3$$(DwoInr1#$^|ecd0`eT*LU{E#p? ztN+V`vnK(W9V93S?bz{Ri7&(%J0(U9FGwQ^F&Z|dYp#io3Hs(jSU8Zo>b zODQ9IF(ruWzuded933L$LABg8#ND*u8#GlJhcjCD{I8 z1^plou!DRU_eIlLMQpM*kylv3g`Q*FB@99`5JieOdnB&B9A4%*9zDL@OD?h*$@1O>AZr&VR z4(43%A*0SP+M{Riom;rYG|txk#;_tJ#v7L>hbv#+g$^T%ReO=1O__rFeE}ZBE&|I7 z>F)BrC8=uebS2m$c`;g=13UEb%%C%K)%~-NwBEr~TQT?lP6I(hN^J0_hgm;PPUKdO z5@!1Q`%nC=mfcxBn^yM@tXt5Y@}V1Wz=1yi%`nt#`ccTr-S4N^QOz}s3BPFt#zk5< z)p8)*6%2*Ri+*(0B`pBF*IVdlYl#O3#zj&cUmFUW0L(w5kt zd3{>Y)yr`xIycS`7Z$?%t!Ag_wD#}>BNv|Edh@>2H1`*hVy$7~$8A^s>{tCTR)3C{ z9h%_=UDRA8$n>9KP%TfF0{LZMXu}Fikx^Kkr?GQREK2IwT~JU1SBdum!EH9N>>2-= zU?JdRS|eqYWf22%cCS=a)TCxZo#ziTrB?J^d=W+H6?+Fk(VQ(w4kJy+01s)j1Ntym zed2U{$8#y~m0X|r8LFwW~+r08XYqCKh1t5x8)GB8DBlEq98 zITGGD9y^E-kn1cC za;hFD;jfd$o+smQ4S51OM+SD_`=!10_sPj)dGZn>qsh$BB+Uowk!J^6juXj~3#LQc z4R9O*DElWSBel;s**$Voipfan_q8?x{AnWiJMrH!LJg;3GWC2v#T>1FW zFm2;)l^jRzR!inajfcnk#$7U)n4Knr;5+}2SVrxqUDT<$hK8^4@le@bU-?G>^5tB; zXJ_bn?it#Om%DD6d(_A?v<1wWd_${+Y|>=RW=+D<4oyQpFE7?Y{Wg;j&&^S!$kgog zJ^N*p@4|`UvoFW2O{u>SjpaY|45A}#VRQ9|xeq~7en_^f?-30|2}zi>D3!Q$W&%VD zLt_#dkv}A?jbroK7~AVGUIYfliUZ{c(F+QS$9j!MmRQTU-|Cx1XN_v|qaSmt1ck z?f0em^LszP{@DHBcl}a+f9ds?l*9FxmgSf7`*ZI7rTP7-@45caJAcozy#4&O*U!`Y zX<2^$_uu0BdENii>#u3Ew|9Sj{iSLCHD&oruAk@k`||YN|KtDh|M>qQ8m_137SUB; zH1H_|?CGj*|39H_J-dfKA=_&CgC)@K2l&=1Gc7ZH>! z&MyzcY=^Tcd+vPziY8BiNjsPmeJQJL+TotNk{CvQJl6l@X|n*yxwq@#5lo+THya zxCwkf%)n^i@$md5!2CJ@>o~KZa-EmgIBYEhE-DUx5!!{pGR726Ii4Rym=eyF=4h21)yF;0*_oU? z*2fsmQ_sT8B9S>X(4meFR$M28yM2JPvdD|p%l9QPcK^x6Qv_64*^|?U+WmAoGMyS) zhr0+OjaJnxFT8~D4T8FgV9n9dXi$_@aDvUWh@c=RNa=8tPw=(b_8j1!ck~}?JLZMV z9fb*A_5KvNWp3yGf*IN(3>8S`uS3Q;h&xGNzaylyCSw=9dafH6&h=ojx9db!y+6cDE#foLNE@y>&Itx*N(&4 zyT3i7g++~`Wf;+)PT!ofjg`@QwcD5Kc->cmLj0M@gmvz|vDv}LXNFItqo>z}$vho)p)U!U{L&}!74v(_VN9M0zR zeU9nMu0D(9_r1oMo!M0BC%dEWqug)l{rxW`8B@dG`}%JSM^H&-%|rvm?nVzD4mU*G2S-e-TG>)%tm|9h7q_4~j5-~Ml3|C+D=>;LutI{i=oNB@JsM~im==V7-G zn6rU?2>=H!0^*!^fd^o0*nc-aZ#EXiX@qgTygZ-w0Vkv&C@~#R9tY57|1HAL`Fb%- zfr7LFtw8rSpx;^#l-@rCf&)Vi>I1k>M~K=V!!ecNB(M@VyXgJTyT|Eb%jtGLTVrKs zF_Pmv!A$_jDb~(vS|T@*g8lIr5jmYizOmDJ78pFS>-`)g2xtTH*WazDFF#h_50}$# zfA}(eh>X}Ketv!oyq!;9zLa?DPdKZxv;b9?^;w|y$OazRqkW$N+w>CYseC}8NJsmK z3StG6uRNuhT&F$yNQb0f8$LB_bBAN|EigpJv;VUr0c2Xq(KKn@Tevel;#=YjI4NMax}pnFz>2ovjM_Pd8evJk;2Z;`yNE;iGBvT&x4%Y~Er z(}Q3G%#oPMEh8(B$%N=!obiFq+C+QSc-L3e+wNjOROMMe4Ncy3+4H-hc^MA= zwS!Q-kBDdE$EJby*M_2BJw1rD#2iaVVA{Y)^Kv_$S9fM+OMI?T%q&a}#?Iw7vXu-S zkDiV6_T5u;F&>#!y*6GhBFTrns94oAvZJpAmY|J!)9`UJ=hGrm7E?TOH=8mc`9MEp zNY=Z`<3C5F@_*(<%$)###6szqO_5(DK*6;REk=YQB0^g*2U`%;Y0l>u5g5^;kk`_w zwB6$iq7C_NAYrr-OfP9$Ts>EQW9$vWgIFR%v>LN!WlpchY_bgBib`_&vF}5(ulIeX z!4-uqGE#XFhf!wfB0lOc$PbdvN9erv_Pl6r2o)LQa4zt}>}&V;zVyI1aSfU6`jEg~ zekB@Aq-ZvXPhSmlD9+;kzHYGmznc&}^FzWaT&`h$d$c<;+s8GGhYtvH@_xNv@7Le| z`u7CR)de8`_jvt2qVaZ}EG`4gfr+O8#sGCexxmDAfYFX6Aj3AF2I2htI`DH5h_I7q zCq3Z#co=>kP1&u}0fyK00BR5W=V=q5W)dUnlz$`q?CT<6c-eg3;#vN7zrWn|Olw6r zY&c|FADE>u?+C+|chB|Z2O)4r#G=63gWX`Jw~s@6{`zt0Vy#2^e}z=KzqVOOIS|tweB#9IX(>Fi##DPOh@=0JXf~Mp&@u2 zb>-+RGLT(f@7mc1utbS+8aOQq6PC>dXI|!5oQng2=dEl3{*&5_2A|2w_UyZ%G0`?x zfn;ELL>oHXMx+4Y@_4Gh0+zH71K09M2U z;{O~eU>Y^n`AFPi715}GPsoCE8EV(72;DH>sqI7yyEvQA@9=}T+8GyN=_&a*bC0i3 zi65C=RnV8?e4@7y!AQ^#Ujku><@P*TdL3qVb-@5d!xXCe0*WF#y`He$=dislZ_&B* z!K|&K5dZ{VPXW;?TYoVP#A};3_*LZ4qg;62`%<3K@EDukgC*fZo zsuZmfz&%y|2hq3!!1sZEp^qK%c($p%`;KPfLZ2qX?93dFx9mRR#7Ug*hIgI=(TmCk z8`;~{R-E^poAcUOb&kbJq>u*S;SkYS2=^O~s*bc3m*v5qV%5tCpFj$akHQ@z8gD)$ z&(oLt{j}ecG# zA^^RM~5qfcwn={+z%^*jr;@XeI!9WP*Vw1HgwC&_XMeD_{F2(&nPTzeJ zb*92})2^^{7(Otu3ZQL=)2frTPfBN7y_SI%CM&?u>-62#YFckE1E#|HZl==}4N9P^ zw=UMFfzg1>V%z%l+-F$~C_6196dZ1a8>J1fW4zdia1`tT63dSd2F!7BepPzf;xr&x zd-U(=@qQd`%lUTyupf@h%(3I`s_ymA2BPP3H zdi8ktQoZ;rJP-3U8`2Mfb_OC$ZB`MBr^1rmUOvwh=MF^_*z?yZ#)kS5XY1-cgYR@BH>&Ov+ z7O2%G9AT<6uz$8VBoE8!=Kf2VW6`@8wO4(&tevXKMQJ@B!X!)yYty|08u?dLKkdZd z=i=fj*@%EFj?>Kzf|fk>y^ybiclHnALQvNAc@NaT`m=gePTyZ$UJQSy8o7K$4s)`7 zgbV0NuALsPk7+uXv<;Hek7#cC?w*FG_HbrKJZ{MC@IgpEXwUeVoH+opa_Y}R@`dd2 zPq~Yfk5kZ(uZ>TnR)1ICO5)H;GV}<)mB!e?kNBJkCtAxhb7WFR`@*~tNx!_FqeWHX z`djbV5ZDiGRwK2(6IqLXPIdsAT%6Eqi6Y( zz=KAoZ)$Xc(1ird#K7}!QLK<~VWf3V_!5wh2p|eb#W1lNT7^x0_+O2(%~!uGtM_Ko zFkdrq>6@1bPGUsRn6KZqN5U2lK(wOG6pwdekD7 zN7|>$UzN|7(m-y$jcab{Z{WJNJJfHQ4C-xu7A6Js!fzyERl_<}{9}UxIpIh~z` zu?4OIETY}40(f?CJ^LD1S+>|N0=5r< zk?%hR;#UsDdzr2RK)c(!0aQ53?(Loin1hn#Y zKQICs(Ri?N{~U1t)jtFrUY^FTGV_p=Wn|?daDH;EoFY5j2Z)90e4c*153IEAJPHFF z*k;fFWp@&={WAPKj(x{D+hKhJG%f)7*0HCX{-!}-u4BjfEbz|8zj6l-nTmzrrUxNT zBTRRy?P;}^Ez+BSl)c6gnYtahyZ&bHeC`(3~X*o^264Z%!q&bOcHqsUrm9s7<$ z^#-V2M4$qmFVD4IZE_ph1c;ea0b%=!!MU5pi99@c)n@9eGJ?_ z)ZewIBQfspcEf)IfvIPwtB>CW!k(wi`Pua8!>2%UWW|nkb>Hu9rmGJhs(+x7FF-_4 z^m(8?J}$KQ`Xp%y9y{>R%bO7LdrY=O?7A@~lV=2k_O1_u$QffaDndyQ;6M7XfsRbTa|5*Zj`RjO za9TK@5M)6#w42`lhw|lHAxC*IUE%|gJdg4vkL8JocxE_i2l#1qhS`#T0sZ4MP)}YE z4!>zL|EWBfK~F$APNTB#}A2?vH0tAXmg(v`hPh&TE7upgs79ji_xU+wGb#)z(2ZoN3h5&Pf z;w&Kd@dNV#yN-Pyxc%{WpCczsfF4RSpt)vZ;mnA@7~oW1A^7rdwGZSEe~Z!#Brkf?e77w*zFozKS068Ym20mJAR` z+aemz5upfeIT?IJ{HYwY9O}v8@U--8oDDnnKuy@W_e!Jp&uSNEbR0M{mxn|1?84eo z&#qND2q~$A*6|6 zw(5IYg8S}+I$%8t-1I)Y$|AYKm6Xek+IVk{vows^*G;j-;VS% za5n>bSNM5ov7jyo9MViYj$i;x)TZeRpNR5!e2yIS{X>2E`R2=XAL*b00nDdkg(47znk4K6}ye34q_W{cG#o?3DGT)xlSWLhX67VI8M^;KZNM`jAT@{`hvqg`2wT zjx%!le0ZWFiga|JiJ0+5J4U-^+=>)8G?$GpC*2z_LhL>yn5t3MJ# zy8zsqZx(~x)MOEq`LuND_`T`v2*My2OvvW6AW#PnawMP2)pN={d^KoD8z{6EqfAOP zw%tn`q4BqLX5uiDD-QDd@Vqy)3x7464oH4wD%~0N))&mIzL86bzKN@*9hwLPqo$qC z`+SqoZTl_Sl!p7AEulMWydcWSU-+%q7 zM8oylo4XN7XhZ~hT?C>ndcX{a?%nhn09&42O*aQSqk;VM%V`&>U|bJ$@RK-?EI264 z4(Dq5G;Fw?zwrFTCcMSHf5-)AbCH9t&aca1Hbt_78qAwMTmWq4VYhW0gk}j23;_U@ z<|+`g2(%7gjNZN5-A(s*H}QesEMQUDPS0j?Ao`76|BJH#(h*==4zgm6ak!l`C|=4- zBqZh?$O%7+vjE;h0Evw`Q2Sh(cFs=&z>k4xcK_^sf*1qfzPzr6d9QVBDI9D-cG-6& z9~c$xbrXQ!M`SMNon`j)0V%uU+v@ThutKQ9r^778Ss51>A0krM)BdK$i3BWa2d84s zJI0j*S=fFUhZE`tQJ$Po?T|ta^>*^v;=kJ6?`L{h1@0qr)#;^s?hm@wvrFMu`)ll^ zmyiCUnGy1~>I4`Oq{S zv2lWRz!VAK^K+VfIdqU|&WNZLd2r6k$4D0c1X?fVW1NkFZqcJ2U-Q*ifjbRk*ndbpE&*Q zvyi;Wp?<2&%$!E(Q@hm*;PPddJ<+J#B=3np`Sd)}TzbbNbESwnle(Ud*F+!#yruC1 zAV*M+FSTh!b@(2@EOOS<^Ot~sI4A;qv58pK{-Q_Cq_0dGqt2_~n_$c_yV?Z$X@U4r z%SKS z&LG(&XZu5>xN;-pOyI^rjx{#3#r;lOJx|a3Kyrk`iR&~Tqt6hX?g8+1&;ZusGGNAi z+76&P89m;1-{;wXqPyMaNIjnDGfe=04`iiFnuCbcpFKDGYxGsWM`-DO+bno<==L5h z=t#fuGki#rDO=l%VQy6#l@}pcEI#$_MfYf&5Ux3VF3rYFeyU&j&weQS;dAdH6*M&b zLp&>SWFn$5>d;(u%H*?m`(C>BZue>ndA!U~v5=AZX#_|+eH+&|Qxd0q(_TC_BbbO? z7LB2v?=$u3hep|(!#I0SJ{!92Ed(wt2WB%snN8{kAJV66UbAq3?98~@=$z-v8y30&OV{17mk9juwD z(2W4Dmsf}jfJtM(5!K=x@PGUgF}WOooZbGz<6-4ZYPEP@u zU7&xtU;-m@70}5aWsZV$9;veMGqVAD`2hg*!nU4o&!&Cg&2H|hwm1Vw1H-@h@?}JZ z8pOxWedXiVa(f4iR`&poXjsSc`r#%L7kFbjBU06N8;I=lF7kHwu$!Jkkq&S}rbN72 z1~?CaWan_$js9@`-PnoVR&Ql{eiVu7xiz)ssh+2t(t(@lVeF&>aL1#abkcUk+r}$lpG=2iCUC=)QY_`168*9Ov%W@Mp)e1;H7kgx*bj! z^@W{#QH!2SXBbMytb{pca&%c+d-my2xvMWTqnq7LvUV{&1+D>0;fwj#*j+y+n~%rCT-be{kNRH`@~uNWV9#k*i++dv#Rg)526!cM^qfFSJKmc zZGwOZ3(dddtY?{4NdqxF=^-YCo3oF}NaRcR^uJNZ%DG;ZPK3f(qK$c`;XEzPWc8Wm zsHe28b4M05m*bGhh%k*wgn~>Ut4E1nmm~L{l+B(+Wk~J@3rg2KO8qxNlzi%^)L8qDI<_Usr~Y z{r$T!=Epn3?5na2Gpb|X(7Z%?OKT7t46RSkd?iy%wP-qKGV^U*TH=2`fBgGi z-#2k+zI_5<;x}pV)1cwFOYjj12Q^*yoWE=NzT>N5Ak5kh@8SE*sc1z!*H=T+@!$RL z|M#Z<_#gk{*WBK(_v`(7zuvDumuURcKmF76fBN75A6f&y&aDCH)02RBAjBbKZ1b75 zT%EQEMix%@0sh6Ttrii;P9IW2BLXa$^9S$_a0!nK*fP^$nj}ik>DmEuhu-&&9Z`$z z>-6EncI+$z-41~Bd9%I@v>c|r9nxSRg@@f>;WNjA(cez$-tT9}P3A?R>j4B`UPQzR z@Rf(iQ1J5OJ}_R{R>L`3X)eI~jTajMl%G+WN%_?Nx}W5^$wFd{$P0U?EQV zJ$#C*aB63M#jHk1)o}($ZOFk|w6Is2h)9DdSx6zxhc>rq$Na^v|7GA-h+(v2TRP=F zU0!ShsJA06N)6Gf^r7=2ocJwlG2el^!{=$czM9T@kqHwsC;cjVk!VL3flq++G*XCM zB338mDWt74L`Lv|h$0#KaCu!@N4m6o|9931?UNI(ktXf)8h}>L!(;6km_%xjDQ0&k z$qKEM5UZXc2Z)M8?r2~}l%I*#KqWbb18=l10P4%MkE{v|z=qyQ@0_F&N8yyWX8>fR zIP!ZiFlu+v#%NrmfK=1s(Fi$nMFc5lXwZ3y);12hLtq;(qfZx+r>~l` zL+u1uKG%MURU|@GE*r6RL;}e)DIOI;08Ep;%DGqtneB+{+<>|O0uRqjlV;f?hs+N- z;3w|WS;S|Mfh2+UNq-_rB5frYM6)u^=Qaq7tgTj&hEku??DJE7z-#BUdJJEmUJ}0d ziT0*;eT+bA0}-g0zzuFw9grCQ98VEjZH0I{Gh%#YscJV-)i8w3JT zilEe&bUw4s!hFL19O;QH@Et?$fc6=rdykKYXG^Fb^2DUc=lL7|pNR+gp|wyigsVI9 z?pbD4FOddjn94Qhix|iwT>EnK75EDgZhrGzb5?`{Nsu8JY+O{|ynPgsuJ1 zXmIWZM{wE?=203M(fFJ&kLNXQ(!rd{yZktqW&NsW_;0!N$a%a6Y;pT_~J z&SNIP0YY+ra5&#pYfs6a*xe6^0Zf6uWo33U@^=@TX}P_ct}d^pUw!(n`w!v6mfe7X zNLaxAmbq9!(Af>lz7QthOgm1~cKYt>`{`oiu(m+&@_f43A{g80(*;u>hY21An7ln8 z3m3yAXqcf?--k!$L`-E~A~pAw`)uq^5Aa+)ICKvmjM8)21;2l0*1@kJkROm`!gITO ztnHA7Wp%C}X|w9DPv;lqd6h^ofqD%11j;J=?fq`r*QcrgWFQ(eO#9kwRUQwu!=X04 zzTVWPNkpXN5D>QuUULK(U#BlOpCdK3UkTWu=ahTWA0zB))jL1`SRYA0fW8b?wcekW zHVw?HcCP-9Pl3PHwz`}SlO55;hDIU43ryZcptSRP6-cezFUbtR&OB;UCQehQfpZQD zlEy4-oNG~A55NA(#OGoF!Q)*-LI`1&`<%FYHi9TD^h5Q(zX3Y6KWY~gr3nc0FvAm} z%IVw4+%~ZP_#DYHBpNfcO#mwYC84ARM5t5>*pnY5j0dmkg!$$&ZnY9SB1_WStxZh0F zP+V#HesvTIELQ)9Y!8z~pN+5A z&{kA7rc``P)ZMdlebluaY(hZFJ)@1}HAm%AZW}fT*QZgCH|@-~aJ{w7-~IZB1ol&c z&LO-xf9zt>STLWOho(@s4VS*trP`e4;$qyNpS@@S;9x!z4yIR40sXyeApS4^cmLaw z%KPblO+Vi31Hys4z;noH+CLsz_!a@;)%5rfDD1Zb zzGw_YfZ~)rc7TU-Y(P73^iTi%+v!)=AEukb<8&E#af0&ct682|6SJN3X%UGy3a#6` zzOWMq|?9Kz^q7KxztBRNv}!Ut2M`vTm~FA7@pBjvZ*oZw49Qo1hJl!DoIK%561` zL?Usbg-OE>dl0=l?zOI#1`v*HY|Bqu*-d5Q>~O!UbAAad4`vO}Y3;U(?9qTM*V{mC zU^XzvksWDxPL^mO1PVav9P9{WbLhUf3|t>*pPmCy>hM_FKTg+IzZy>FP&a}>!}1yc zKCh9L{W&=sT8LeF2Kt|$kiXhDOkgKnm{&yk?%^q!t6x{)guQm+dlRV&NDBpw7n}sp zUmOk@v2yl`{I+M+C*n09Bx#p_Gaa7x)A=^}jbsZfAZ+WztS4}IJgtoStnxDdq7`zY z`7wDLJKZ(xh{)A%{y&rohr``WMBS?(#*Z^CXrP8^Pvq!1GR0hpFAMW3hfBUZMk-&O zq^}G>FOn1q2I%d2m#4En77<;fP6V?19l~lyJfdKnBr`%UJLvBu!eB3ef6+r}Gw~uD zn4@Dv!U=LRqod(;Na1$6+c_iR``$rP?B+8c zVhUwfzZd(N$wx8}iSj*1{6VNaKQv3iNO|KE-D9H57Y zcn3(QDUz4DVi1v%I9(tb`~IFukS_;G=)SW%2G}2ct9%FsO$u`+dD3(+lcYgxjP-9W z0}QKf%7*aF^_z)RB&{FXin5=}p8O1F^v2J%4HuCF&wu*mb$SzM5|D z95!@1;+dNq>xI&0E6Z-X#cHHkTb0&pd99SG`dqgF{Ae4g`k1UZu2~qFCkSK7`O;1d zaB{4|=Yf#cmKK#3d?$u%|s0m zfy1tgoi3pr$Kh9{+tV#LXTy|%s$ImEi>)1_TBJ$ir83;#Hwo0%rl`vnKIadVeEGK6 z9QPwlHtw?tLGn`F4TDA|1xYp>dLSy`8X17-*o%bKHhZE{W~0Tcp1 zBF2!D71jPz;D>E~=^3xX-=KVxRkCJ+-&O%eE%_dcEG>JZ_E3K(Gs)X@ z@;E&QcA0^2CMEMuHeNR$9{Qf$`dw+AnU|97^Q}lt0kow9(`vOAbtejwZ#$mzL1ckl z<~jkj4;SUjQMB}cZhezzMjV>Q0&!;nGHpnsu&yzdmCw%NVtF~vco2egI20%Kdxx4e zPDQwS6pD1(*1v4t8*72Y)5i8VWjZ-Yw1+9l;`E}nPR{Rt3$H z#r5U+^y6otIIBto0?-7Motwf*T}b2I{&R%tLuogMMlzYUZ5p_*%ZS7s+xE(+Py3;P zaIVOYH$RkKeK<5Xzw7gP^Ond_Axj9=a9|JYp8*Ngg%1^t1#-a*&@TDa zRcps>t99Rx-Tmb}7a*q6Z%BSLwBrpo3*bF;D0 zS2M7tStNPpx%#j*>-G+)4mbyxg)<)NoN6Ln?LFZ2@JFzsl~8RwM`l8z9MXq)KvmY( zU)Nv%&+(jaxUa8weV+`Dxr2GpJcqoMg(=~PU`6{d06IY5{hlY28jNYytc}qB2uYY} zXg`vXp|x<3r8UBW`0|x37(?YZzxDP1u#UFq^B|Y%CZscmZ|lRMAB2W%i^3(j`6O}e zG0N5YGMB}r9h3*zs^3nX{qv=!zv^DC;jqBbZV2=5=2!mC7isw>d^QvW*rvLDyKXGv z{SC~EN(JcO^_h8;?*VxrJP{m&;cTju=z*4qAzD7R!P8~&3ao~_i(}WDzBA0egR)H!fmI5}<0adMO z(M5XLwyMXv$<85JWC>ujQ*+rOCDu8W@3Kj`nY2a2f@km|mcZ&+Afmy^uDS)qAyN3q zHsC-#kEkSdL+;KuoADjHRyL;xlX%}d!B%7vj&?Oo6T31fTZ@_nqJJWq3~pEXESPq^ zP6L7#g_S5DO|T=JsCMrDqWak(9xCVns0bg-FW4s<`+OPGpx!A%H zsOp_<3&(3f!`THbsR73Ru5He@?17(aGrJ=7w>ItB$I5WASx%oLG3RFKF_S4794=rT#&I*Ub``Z@BODF&KYzVdihul7c@A_i%K)-@vAqgl zMNnE_mH~A{(el=U{bJ}K1DM0E23uC zbs4oAw(pg9N&b`1Z6NQqersgZ*TRM_lEdpkn%LbtGhx_iS9d9#*Z0UEn|gzqJ@>Fb zua7={`fmDi)8e(-22PT(`oQAK)|@<&J&U_YD6cIrXQc`3eE;iDwVTZu05G}l`Sozd zJPbl-oY~b~1^o1b@nqv*QD53MKCA7*V-eaP>Wi<=r^yDQ!6XLQWLCsJ{}Bjp2wL{Z z`I<9!<+O8p7Kk6adx04M$ORzS{BW=xGnhw0n?OA@xjwbQ#tHhFB>0BxSWj4 z1WOvssF0DD<`FaSg-wEkoyF={8SRn->{k(qT_pFiz6Q?iG%q6+XSEaO zP9}Es)oJo)zC@bsW{V7D{2($=Q3bIj(Dz2sBT?bnmWP-Jx+_*gxWMUMI8xfQqj*3HI3z;}Dj z{Hb}d@g=mYwmI~UU2oF8sNJpqhse0O9Kdt(xNdkF`1LMdngLjooe^=(;#ZzR z-VSGXbNhNx-Co3W*wFkImg(+OEbL z=?QP_^S_ zaXpAi6jhSzDMxzy2Mlf77V+ zP<5Kgkb3wT;d<2x5vV-w&A*$k7m=hvmS`^gla6{+6DC)Kl&DXn4B=QPhx%(TX(Arg zd6cIXc%7qW$-{=%aE32U)T51~1)jn$*y&(-DpE5P-)0c0^5DK*JkJRQ`9 zuOF({x`h%MSOakhy*4tLZ!5sq1qh(*S~$-8+ae0|%!_Gd?t6sJj+KR6Sxjm)B?deb zgk_+uHKfmWxh*bgH*0QyLN>bUb}WA)I}gzEk0=3(CiY<>5TIsb%z+QE)IN3vf!JRK zM1FVQVu73lw%CS0yfledPVv)UYLh2z&^xp}tNP`&H0+umE3YMDQQvBN4t;yOoPn>i z?$ug7Z&#@@mVhvt`$vZzwO~|!J3pK@?NHnGL{98ZZMATP6m@278(c4a2IFL7zy4$nEPd3LQ9LT6H7q(-&>+r8Re$cXV23l#zjLrJv(`5_%uo)*K zLX`?d%HF&(46xP&+JdV6kwCWf2hn19qPB1%Ea#;I_}CRgSoGmArKueZ9AubWaZJ|N zv|8(ASY1&%nj%1c#GOwrw4EJ7JFlx`(eCq0u^cj6qVp|C%&bG8|d|aHDw=)DP%lB8zY+9_W=79nB z(F26qacq$`ggAHZdvRz65%-8{P$JL}pbRiDI}$w!2s#NsZ7zP@xU@^&m@ua_cI|8~ z>ZFrJWxt=zIE1paz>)W%0R*%IMTkCU*3-t1=ujr5i_))P$!smlJf!*qF3V(Q5dlJG z*ylSFL(7S{#4iC^0D!NPv#X2CF?SAgrrI5$Gw+<8&mge@TU#&2ZZJ{;Iiw@%&k8M zDcM#A=0P0sZElbsr1I(6JYjyT-hIdHMcJJ&ZOoiEj^>^2z-sbh=XH$bp0Of2?9E(e zBc4`taeV`3yL{3vJz_$$p$;iF>X8Y80nbJ$n+oPpuo3M7ASyFhl|58!TB ze>{uy-h91>Kp+@4NoHRwX=%6D*GRYb%ELVWMhYhBjkE#zDpOzdMeknr>`WvU!^DbT z2y%erRMy%YN$G*{8);zvHM9+bwDfN855mygKRb?>wz8PfdTwY)`iDFW!lFMa3o>FI z8_x}!3F-S$Za6`in$$);kd@EX_dk=izvrbzz6rAN>n4GkOqUKHi(fTpX#80+_S&yp0vGh;cgt& zUGB|;7nw2Ox;5VU2Vk+^%%+%UDaWVs()9?2cL00j!86hvJ8cGj_mo}Tl!+$h%^9B4 zA+kll`eV9GaO_$lS;~Y=(1-wq(wnb=N}1hqOf#_V}YV;!p=L z1ME*No`5{_lT8yFXSvtf_pBx|p^1t?JvELIF12o~eR>zzd|K4@^_Qq0$QLuK*{mU%JZqsS4QB!T7(lExrJt+>x|lb~ zkQRtkj`g8DuSF$k0Rw73^xWvz`U8P7^NS%5NCGBo>#3IS?gO#`0igXZuw=nn*9XDN z0n%S0M$AE&x-FIg1;CT+mB-C~H%JAuwPy!xRfe;`H#1%^gDkQ0Ue-R0kN{*8G$DU3 zukCs1H;yfi%8eiaJkA;T{^M0u44gN~YIi3Kuak#=_=kTOMDMOXtFd}lJ^|_4N2DI+ zKAOh{#nT|b6}Gltwm90+)mDdq(CO;3*8_)@muUmxm_v=$o`JAhZfJH8$V6*sU6>6y zyzQy-uWJWHgM96)*S7S5H)GO5tFGn&L|zOV4vWj%NiPF6+k@#>T$ISBnoo)OfoL5F6*dC25<=tEoUTyX|BZs2uZNL~@Ml z!+rC}a*P4MmXoYqUJ--*Ob5-5kQS=q%Y9HtEd`%mevJFl#sqh{g4% zvnmA03J-f4NV-q1tQxE41!Pto0f5a}prf*zV>o{EJ)n{L@acLunLpL`^$)Y(2`2)l*BJiRjA0U0KLt$%&DWCFqItIAH$eZ0UNv^Z zBkKK=&S?PD&NL~pIkQ+QY;(>vAb1?w>}_R4DCV%Lz-jWD;5(b;wRy)lJC^=1kL?}f z4Ix72j7h7O@k%>HyBibjE5LJ>6I#cc+b{JqfY>wr+f@fdl$KBc0t*XY63*-7&GsRG z2W@SRJ#UVnodJ3m%d2@_Om1u_EtUc0)}+VQC>uhy6bGp^e>R2&VQEg>KR-mUkTi4S zY}RC6LriI~&F7no-U(bjN03&@j;##sZ+=|{Aje^Q$yIL<%CY9GgqUrP;*8C-PsB9y z$eM|0ovt?4wb?w#I#H^PLz=1iMD6;&Zxh?SC zeaeW^Kdx>E8hJ^%s(Aodf#4XWplAo71x5c&6W{ zvunDy@Mom$p+F>_fa0{mxw%= zV3q%9Pv4hMGeghVRQ@)iQ7QE|K{hyl*KC?F@Sec-$=?HP61+YG`QJ6LEl#@C@0k>| zfcvBWfT;nfdsbSA%XI@9pa;A?1k?i_p7jh;P_K;iosy|1b(gbp}mCwuaIR=zYTNs#AQOk1jqa9eB*@XfM0?94r zR~*g;*{}=q*d(_e>1ZdDq0?rK8tFgv&PS#tt*CDc9+Mvqq$kHnLK9*&9|b(Kv)f=~ z5@KMAzrG1btyjfHQ#U&5t14gk|Xv>gE}08>%zSlJ!3TZ!PDGmThnrn?p! z#S^-Z*~o^Cw6tl-hy~BAY#U%X={K;e8-Q!Hm$U4meC&ELanr~AE0|lwRr;>_S`ez! z9VgX59N!okg7fWF~u%C?6#f-cEo1CxIQ1CY>*+loVD2wF${=lyCd>j zds!TJ5tCt8T$?`xT;~JO8f(?*nuiMho*T-ZVmOwg&1}qtVVe+8OfZ=}g8Ce9f zEaLkB9iNOvM0phnW6%Ea!$qJIfmse2R&JUuw#-Pv$MdVooSX%qbjBhXVxlunt4@yD z?z6dmw)nPa0}M?0kYo#faAUd-L~|5HKn@SJVfkq*AePA#joEM%tv!$q#FJAjGZ>l< z;Gd?5nUQ|@a&y!B<==Q-1op`gfWmJDpb7;AmMU*@Wvq*ZKLBU#kC0q_Y?19bk$t}V z_^aA{-`K9b0x5R~Cnsy~v&!jA4c=QCIl?f2U&&kalUEv|F=^H32HDtgu1ww;gf$tp z6OYs!B2Y#>5WTI_o|7LyZPr#LxAoC$ZO1Hdb6S4^`o>@7F8nH}JZtLwo3P2;;#m|tsuv#HRn%IsM(1c1@zG6S+< z^0D-c6@c*@Yrl`#7w8uQ=fG@RMVM6FWM0hb!6GKt#7r(lM9 z$!I_t@Ep$Afob5}?)@@gwg}`J3&VV>wxi+Eh2()hk3JbQ4!P_7R+9R(oSIj@+}?~a zWewruVEy1|e0R5NeyQD!0cGnMVP2)>tQ7>hM20*LjZ%M`SG03C8p?LZ1IV?PNMQ3W zJM%T07PUE|+5~_M(%3LHMPBZA&J($6elT}b&)S4}8`BdeW8{O$opQ}i#R2}tp>^bx zHly#!4$Y-#V6cOt4yXIZf_lqmY>qW{Xidz+v=7^@wG_#>a%-{r!?>u7h9He3bID`v zkNldW_>NfVnS`0cMW2#B5-mjYGE&EcN&oUCW714ok2K1W(nWytNJGx17j$?zPl$*7llzz?(;UwtwLNvb^Re;gW>=99h~qd1uxW?$NY z?0sz;=ZCn4=B6~|F@I-V=y~KqK8;KN!ddPiUEX=uZ2asJ#+Jwd$ACU?&IE}m5j>+= zX%2?jRL}I)aQFuBN0-z&L<;EE<;@>sa3Bt}1DwfyW(Fl6>FY?E0f2qhJT$rWzUkgw z=34TdeJ$h)#3mlyRF>bi@Vk`U9?t-e{f$Hnhw{E-N=3`C|5_etyqQ+XLs_NQSEH`} z_ME(FK9HCn$_K#rwh3_fcl2*u{c>+^7oX?vJfY6Y;yZ0952j{51Kp1`oC#W}Ixuw| zvDmlRp9aX(m;)<7fk~fQ(e3_68pZ-=*QPR3$=Xq5H_w69PPk|;c5rAIUd!wb!c{Jd zW{Zw?wtlelv}gm+h}*6#kc6SGudvLvvc?B7{-8ZrKw+VNI>#HQn;WX7}i&%?Z(?H)VDow*Y$&)S4;>PfLQ~E73 z0RCP%YnxHN%1?Ft&_upETTNf??x+9iyUS^pP|^sg6Jj(X-aL-ItGVx!1kUAvCFe?Q z_89O6SnPBGeIrz6WjL!{`C5!!U%RBeXLpJXEUnZCXIZ0+UA5kQj?4)c8oe2sCp*|k z9@)F9jC=|%ncxh7OhaU+*JReh-TjrF%lhxWg?w8b06$tFZK{2@muJ)3NwNu;N%y(_ zqS>&6s6+S<3@3fE(Pu=G4KkCBkk)kMDE$>I(#SYL_QS=8-Zzr#gXh52CPGuY+Oa*Y zpE+7Ozd*>z(e8m6J~759K>1pmY>>1TzTNJ&dW$6VG+jmJ9$N_6HM93$u*WW4PTRxT z*<#Uei>`ATIA|}=92E9c-M7<^w|B{cbQ^0G7$6u0M<1Ui& zGX01D>L038GSxzJ;)iC&u4{{2^m$@;d!jzy5x@O+K9kVdu^+uQB}`sDCk*wQa)9e8_nQ>xkMNTb_O+ znuq(ow;|WKVZuVYx2+#P-wPhG9$MCNPhKi}eR>sXvMXu~+a+FaA~&_|_4!#cv#I>& zwNY@RwtEa*Z6i$lPMQMXxyE8d_IVLmx|*EaJWOF~Gkv~I7CFq0xnQ(C2jRxr0EW#| z&1=qnIPD#qF3eB{8AP(mknFzp{_lSGK?45wO*dmsQ6Z3=05pcw|;cbI=T0 zHcwBtJ^@rO*fB;ASH~h7Lzx^Iz-!|sX%Y&n`)3c}MT@Kmi>p)0# z5zOM`E3lk_-_sy0+wdFo%rMPewN{$r-k4sKJ4?2_x|y_+tfcJz(yo# z*6tW{Ntbzev28vOc);9&1lU;z6l=4dc}3t)XbkPvw>nvKY4K`vJ`oq&*$-|#0wMs( z&k-wq&wOtNbc^*xeF;c4=WZOHCp2+$RF!%2fK%E` zq=SFMb8{vzXpXQkVlAen^4Ug?xtKp6d7{ZTe~exC@_TCj;-m7=SUYcSei){`h#!9! zTBJp3FvkDUq3_DN&zGg0^pw8)OnHw-8VE9& zybWNl&wyh6MP{sZ$z}k(QuN+T3I{1zT=yAy?(6ZdHuHSX%}(Q`HZ&66t4?3ZhrZw+ zfhbsq)YZj#de*Gan3$t_R_ZbsY4kI$1l-rP!yrQan?KX!sHi85m9WJiQOFNOsOL?r zgt`doKb;2Cfmp1MH=hz=64 z?H$0~MNAqiW2gc50K5)<1LpHG+`#Lz!vbaNY!1Xj8Gv8vbQb^&f{8pe$W8Z^hc<;q zM*jRG{BDjI`6>@l8xGxH^Yzd7vxDvY9g?Ly-u1WiX<`5t1jXNm({MH)?-0%w-!h>J zMa+CNc47LheK>F{^P51!esA|Vyd!BeC3Z;{O+2qu_~j`*r`w8n!(_vblburFm8lJI zFWQv0U6(JjAw6KRvoIkYFN?D=`8g1Y2@Li0xf60*Fpo`|)T%(41h*Luj<%Ej<=C~Z-2$`P)-Bf;k)Q|9=vkl7wUwwkPj=y3^zG0hL+6!gket#)-d?H`^9b^j=+-95rQNy~lk4k? z>36pQQhgY>IkEFuSuIBEZ9p@yUB?fZa%%Kub6TBtm1|RtlaD~dvPI3A51Yu{j{)^7 zXFoLQF#UT>M)=_%e#=1n`L^+!{N8hhsn1UlhVuG{?>|I5TV!jbHRsOibQ4%-o;4<^ zWaQzl1&@t%r0cZ)C&SJ~c=IV4K?Z8cUBty~M#~bEfwq!In!vlpcCwg^Cf3s;g4J{| z#?2k}KL#B8Y-6?gv3lAB(C^G8IODD(Zld~t83|m#ta?Qt?27Ilj6cA(CM)kgP9Hyg zoE|GTAEu81s$Fx12x(8XD?5IEO)eyu=7#e=tQ5fS;Vv)}$OYzUl#UgI?AY0-@iQLBj%Rbw`2_$P5H3BWTZq>|=o@3JQ_s%k zasxm_{{lKm3uZ+p#iD0WSVd1DyBg zOJj=$QCpogPcTz5M<7OsNyB8i+zJWXxC!7e!6S=6HRp19zG)k^(KtV$dEzNTJxquK z^7>LB0_2Ayyilpn&0Paz_Z_n8nf*ia!Ao;Y?+FIL6o_WU+&MNcDwFZU%!^;bn7djR z_V=GhbS=Vh5+HMcpP_043R#R9CI_{Bi#9AUz;bKR@J$JrQu5u}=&4sfUeqV8O^fRF zDRO!vnjoR8?f6|7<3PL(3Fb^dG&0BxY7yB2ghko9OD+-iIXWJ2OeSjI#@({9LgR0f zVnjGQ+z*ZA@Oi3?2tD%2*TvlK;6vnQ)7nE*N{-AGBZ$)ZP#~$z>~+)ufbq|{i89B2$)Zdff|zBl>RV#s$Rwu5MK?ug-G<6tMA|p z?`p>pfeKNeF&GcjX4P$&TeY&yCRe3DNCsaJxWT$lv!O4Twb3qc^8PZ?7+EP=<(ahy zeI6!EGjW);48*K?b`T2Wq54#g+3boI-TLF6{Jqze+|I-SVU|;6Exl3y(SL}SXORf= zqw_tq^S-nYC|A#!ID2ln6tb750=lfE zHvU5sj>t^_H}fT+zvdl|(nJCH2cPZu1M9#Z?S#(&_ooIR9|al(M8!m=^IXK&&;-H< zXy`&<0Db8&dy69bSr8mTL)?csSr51eCcQm3PcfdI%k!)1e%ruS9{wBbrKO7; zDVt|!(Vl;syZvVBH4aNmVC`_({jn1 zi?fA_`3SqCF%(*S^pTx=(Aut6OHAMoAZ;P91;)hNdm~>H`Tzi>6F{8DW|_2*bIN0; z#H2ttStcR+jQV@g!atl>tJP~0<_N)CWgR?aXPHeqAp6`xrYyo|+K%H0Y2w|SugbIM zq+PvE0z8|*DEs`YCU78&*$oqtv&w=hu=*CbHW3!RlL|(a0#M9aiLt=7;+Hk$IkWt$oMh|JuU6(f#Tdn-WA84e+OR+V&6Y0b)hBB1(E z2j(C^q+g@$g+oT-_mKxAZ#LPe&XxBD2@aI>;OIA#yT0Jtpf3F$Cw74+?J2?WtNLTf(o?GE-mk}>J`;7}uWuHtUjn-2|CHR&Qn2-YZ5)+t@0g39n^(*kf!`W?fSt+@j31Nl zO@Pft$uJ*N?|>f-qsh+p&(KaJPY9jpWkWmg*w~Cv+$R(KZ>~7%HfaLx3!4FfIslqB zb8Ifu_RP<0fY=FTipNg^$roPtOV8IOgOJfi4VigrY&B*OCUd~hHqz!*e#8lRVJdcc z#gwXksLw?r`Y38qWX-{38>Fb-wGy7K?DSTa+SQP=%g)S^JPRtoEY182U~p(3n<$N2 z5t1%11J%uuj}Ko)nf8$f^Wz9S5#i%Y<7Do6^TpiRyxqLKDbGXfl~cX+X{l^P0QIkn z^D#~xd^iAkpYLd=N_hBz!LWVJ*%^^K`|9iQ>BFbm@jgO2`+=!~C1bUU&{;2<57d{F z{m^<;SCVXRW9$`3w2K_@WxBdp)(-OVV0CznY|6KOG8SnOXc+VfQhCLnBsoC7SIIQ( zhc$?HM>N3^v8<%N>~4pKK|bTeb6SVKKkFR_9`eUA_t+IjHU%r$IfFv}mBrk9w*6S& zmw(t&8`(@^R(7>PYSjYZ=Rhr@8uK#qtFcNG9A0?ZPv;^`oj4VreCem!vvF)a7}|yE z!OT;1zUSwgF)!7XrPo@U+>t|IpLy5W+0{s2+uEG#tLn$m{;KzCWpg+}RDGT*G>rl+ z%9xzZ-6wn(D`y{VIv_55zlKR&?Ms%Jl+xr4Q@Or3W}lq<@iG$#z7?(+2-iQgtJ!M) zyFpaF$8P|C?AG_y_#VFMXMp;~IPHMl{yO_4fIkxm+SGq2FQf%wvner~Dj|aO;v>%i z{MFUfI@sS%9iNFt^*VAYw^ktD&1<4Z9e=Fs-}Ssrjq)E_2ZE=p2!m}VB*PqG^FjVh z2x-3Dr@2!0q#L=bG(&5{`XG5x-a$gNv-ap6-wfZ8>L{YrV#%juCa!av(Y_%!$V9nR zeq|idu3m0R`*QpoUw-KR-~ZB5-vrqZ!AXO;oMSO|?X|l(v#&okSVg0PHM5!P+a`?W1Eq@i1FS9J^smERKAPEDg_pm(G z(dX8u0c2eWjV7Z3v4`iMcjeP7qs)e`_q?IpG$h*1-}3U^d6U9jgM8U zpToMgz_nP-yGViYCQ@o}JAI;?0Fg6LZHSd8Sa=qYWRha&Q{#%DV~0?jd5cm@Xzxa7 zXlUn9=&^iFPC?)$ACib~N9FQ=46j}r>ubmqJY|;GGcGY1- zi>dDFsLuh|u}fKf&R3i1hr?|Hy}oQ>i;&Gh;6UEn=g zY#zL+JR__y8K`_ngs4tcx0jJn1np~|R#s$;Z1D|vjClC|ON8KTBlKW0QrS2y(=ISM z;%qu5_7(@GUNjQ$39Z(mda3uO1=K=j=S*ZCgwQ!AhUzLgSPZA(>f3W7h6($s&mPME z)5j0Bp&ho$n>-P?MT_(G*5V!!>V|U*#_dNA_5sd7F7qX1;K+PTmzN$B24xWzl{RUZ zm(|YB39*ApM!wwcN^3FXK!3f|NoOTsBIl%fpPZeSzfh@scnol68qzwJuek5<@MZ1u z`5u`Nu68U<)uCr93;X@E$^%e-xI&C;597ErgorjKgqkGA>&4ccMkd@ z@5=_r%^*PMEzB*B$t9crtu?O2imA_2@7Og3mPPJj(or?0iwh=9_A=}5%6%G8Vi&*R z4`aMkk3*Bfhk)$EPUz7VMkL0@+0nHwR8``Vaa&%Uw9 zl*hRI{#V~kC&*=Tdlfl)t-T(FR1F9Xv$n|FLus&V42y{%LwDlDfyz`Y}%a} zz|^j3vbrPoNlSITYOY{5X(!m+W$xLWMY75pc%>cFme<#xDu)Bj%!#yn=Hq}z^VC^$ z?AzH5G?DzEE}DbKda^mKd_Bn~zlL2T>xbGE5MeS!qxqa{@&y1uoO=SCj_|O2CX#6_ z_)=X*^tr~%`8h&V*&1JCzH5FsBzxo#!9YMnD11r)j{z9-=1J|1j2R!xo_%~-&Ssg_ z*SLO3ZeGhD!Lnp67tbTC?dFWRjOl#VP@OUNDSfr)A7M^h*6+JRAhGWexna&*qO1C% zVKz3uUSE~nveaBocI&sZ6)@IhS^e!8o4YRSuR(mv^PWa#U=7;k@~LeBdjTfKc^Zu| z8izB)Hkkot0Y|2}HhO4Nq%#0{6S>VC+Da$2(=6~yKw4j4*OmLBd~3VXknRA9eSh1S z6y_XZp-C;d@~KRfgXXCzxbc##Jh#wvliBCc*i~MW@A37b-m`=KIAnA9ZPeCFr}!ts z#uwsg^T`S7Lt|WRJ=4TE$bhj$w(Wc)=r1STYn>+-f=YZ$hON0a6ZO41G0U=Xgn%$3 zOH8Vh8O8cko16b@C!2>h(41{^*Ie-Ws=uw{`piqc(dPzRkay+srS(|3--yXP#w%-i@V6MJf4|-DH(w3kBLK=XlM`fLM5|elyA|T9>F+qmADk z#Q%RUA!d;YKpJ4TI05v(PI$-PJ%c(7!A<~uH_V~>+-oyY=mU^{U0Nn(Q|dSqqVE7~ z{uw4c&m#c3s5xa!CIi^_jki22eFQ;yfO=X3fRfLLvdrHtN{0wFNf;D;M0S99_ldnS zOIMo8PD7(y(m*JrH-Kt?(}2j2Gx7W`BBHD(<6yxnpu7js8t;zJBV90S8pMk^TGQ>w z&u@#f zViEb`256}~vQMs3PZ6#{R zY(hcqS~Q0#M}5$uD1r>Kz$C`RMH4ZkqWHcO!_c`AHm9=_uvaGK>OM7B>@4Eor zO^9Ovr}89XBX~eEVys(?0AMntj{!Xs|2UAY&z9?p^MG-3?l3AQKh}*AIj!=+M6)!rTFqin7kED=CE-%ILzZ6UhR>+F+o+1Lp%jZl^W4Q4{a z??=56Gvge*f^L%O8 z{eIZr1$bw33+5CvAVjRqErI?B*)Y2)KjZNFyFf%hStx1eG+_GU{EXxWaG!x*^|}5y zoWxxqT31D(}ldD_?s*zE7W zG^Wb0^z`%HZL)p79S51wl-La)z7Y`@^Ct5qpv*ytNYbI_#$?@GYm>ow7Z;mV@=1$X zyOy8B0!QSego+Q(IOl@K?0MHSueITa2-WR$*?T|S&b!ZVz8B_~5&0}BRd?W%sp*GH z(UAsxs{Gr=@olnRe?2(FEO}2(pDWYm{B%U=a`N|Ml?0%Uv>1;8=juadoG-F(Ow)+b z99~^rRG#`YF!k}{uWP@D<}bcCchiUZVm4!`Gm@`C+O0EVOs$$DYFlecb@RQkL6e8T zF+*ZX#-xvCX_zB5vK*vol^dHc^}iXGxeiU5KHZGZnlBk^ysyf$Zb<%|8B;$s7cG}$ z_`LDfbIG1I;1{M}ho+)B(h4=<_s&iE*M8;22Zu?E2wJ8JK{xo$S$D{!d2-&Ai5Moo z&!u&;I7TEJ+v|^`jKXv;mdNW(^{wA3zq!E1hmD+uOL^Ipfd?8NMuRaBK00QRfz*#2wHtUkl}ys=C}!9>x- zYx53S*(bNwK64Ju9HKqu#MUdpVYKP%3nzPMt?PrA|B%eZ6tyQVh)o#6Pfwh*?*&kXf?LD z48l;Goivt_g4vg&bzPZSZ4r_l>Oar7Lf7AKr+(9D48I5(3naUDr8g`f%BPXra}X6Q zqrB#z8nM3zi9j68)4hjSX%DO0AX}v|MV?ex`ZMY3EA{YUv;`cbPR2W8T0VoQw2n8X z$6<)gV;)ZJw7F6J+-QeCAik45EP`0QAHKPapmeqfB%DZ$2XcdVdZx zsS4Qhv-V>iP{8G!CsNR#y&Lf8vwVoY=K+4NOP|RTjfHz}j@!~hj)<9hdya-i{=h17 zMUw*PtBbtV#k=Fs!|Fz4J+Iu#tWN4?knBqfxI*ka|9un1T-M6pY;o5;=LVQ;5Q=NN zCV`IeckhUvV^_81r|+s!X>c$zglIi1rgl-8(TEzw)JSMr<{5US01*=o^8%(14-Wya z7EJGJA7(u#fr|l>` zV1~9rGPDj(qTU_&1z1RD=ULi;%O=X{SbqgF&PLeF%2ay}oAcVqL}U>jp+%LIIZyfQ zsta|!1Ly3{Xln%$23X`HK*z2jbCQby-Ae$Oxz&$5L~cE8OZym*vunt_hHBLU0{q!M zAKIPrat1^z$~YWufT0%SPnYLo!36gB#9X%M0s$Ml&R6M4{DOph%%EkMpf89oP`2oKx+rxG;GL@44Af4ZK{ ztH=utVkoY5TsQADwo21U(+C-D0<(@0X-FH?1DtDzNt2C@NS6Zu&#D9SGv*?Qrfxx2 zn*GPTgZLsO-lt6%_WKbA2hAmA1L)IKk}Y+zVXzHoisT3QUS3@d&5Ym-Re1FCZ-4h? z`VYVUuJ2zOGtP`zk8+rUZKg28+FX2?ZUOny<%jk0!*$O)3xI7s6G7Sv06n=1+yhEL z_~m)?Xl-w9JgpstXZ`L&Z4pvuHb&d0J^3oxun?-*iXlB9{O;jykWv~+E2$l6WOEP{ z>w>ndzid|_Q_fScQSsXRD0&o9AQUc{7=x&1&RQ>kTtrI0ir)0}ki@L4X|3$ZI-iko z7KwSNIatV8&eEcGae&`!u6vG26YW4apn3V`=5G4*X&wu}t?%!fdj{dE9T6vhn3kD& zk)3tna>wc7)#C$l6v?zMims%%0&T39)%mH}1R;oE*9eVm#H4vF0C23hva_)U^7>=alvPW zT+-4EjeY$$f|Urw!EB~k%6TJX53ZrXBauT3?yj-o{Z{?e+8S+RFWGOcH2&1$>FIU^ zJQ%(!^{%xSFl8Q!1Rk1CXx_A=HS)3kwCmrpKl+)5gO=pu<)(hCuakf8StAi92xK;? zvW_>u0^ncQZ@_qV%C^pZsIFuOk@yPSdlm_tuSO!!KfbpyLK6dWd_UehUC?GAg4PzA z1tgbgRr5z}WgXQL1B}-Pb3Nrgd$Jo|wlsmjU${;TALuo%ueC7`Tx}G z%)iX9G!~^b$Ok#GaS~aJ+zb+3U1@+ktN!m~<7d~eLzDn8pkH@%&Cbl$7<~lxBL@Dq ztIymCfzU0U7io$qlFu_)XaViB$wgWSh09;=1Nz2}i-v+$gw{dYKs=G*A7VGw!m4az zF6sFks@V75`5PjGS_MRo9n{tNqwZnhhlb8@B2Q};-~{n z4AGH}wm`~=Cfk1LTD;!MD_ulG+REiVVlhY-VeL!l$#d3j%w}9;2d%vC%V^W&$-aA- z2sM##vTjUj&=%MLM3aifwu>x3;1`g8WEb7wST_0bBLD{NZu1wgi$=Bn0w_1JN>D_b znSh)&IU^bk&Sh=Zgvx)x9@cF@;i84^F^~o1eZ2ZmnaZ?0;BPy*BI?*hZB}n0ZUC2$ z)3Jp|1@uO2@@9I6wSl5SZMI&9U8-|QIb3h-ME87i>~vrKEF%@I$)I|+U^!=lL#0Ut zz!`Sf-Dj#rRXuj*TdYQU)hkRoKr-`%tJ>|*Lcn2mI8&Fl-8_JL>}1qtgJM=j@$E%a z;%hRdFN=Qlwgp$K&yz^`2rEq9EsVE&HqfHC(`FW-&(K+JY~F+i2oVjfSl6&CXr zq}pMe@LJ!CsB&@jsfA*e;dP6OUG@>Ip~~Fs>{J6b$#IKt*dlq|P8XMrpZd+YD@?5b z76;dD*aUTrv0Fir9e{Xiv7*LTrzTjkG|s3<9*(8EXmOkSt}@kczY+yzjHBA3XM_c2 zW?;cR?2y=GFd29?VVCB5QD)V%+hZIJ><6G!9J^;%fx_Q@xeb8X{i&Cct>oK|>&N=> z@wsP_%G!ly%vltx?p5ePh3PI&RV=5BYEq<+x^XL<*YYrHxA774@@xj z_w{w{G}C*&Gt89ihzB^gfx7ZzkFCwwg(D!Fz!_f<_Q|Vtq%6W?w-TTL!iHZ60^4lo z1Z_L3`l(qgS#I1W%nm)XS-{u8yjbf^*Mc@Q2G7=4-J{hATt%dw%FC`OX?zMSe!RXK z+MIR3?LJU;9^lr$=a<{Y{2w?&)|xh@pcqY5NXOcVnE}eLgl;*_i)- z+568X*^=$d^V_LKMCzkT-CI`zXiU$LqewH_*bL2vq!~XwjiRS#T0k@!SJV-ywc!8f z`y@c{3*f#$oXX0`h`oKgSibyudnJVgZi4KBvMy@@9eBkr>9qaemL5>xq(1L*dvbCBnP2ZmHJ(Pc7(OYAV+I! z=HqNBufgfg*+R&|XfCS5ord%|Yw2wz4JICyZIoj;++AoG7S=dNE$C)@bY8pe9l;_$mR!N^((I208Mjf~i z*>o}ItW_hi$|@bFf2zyaxVTIuvt+T%1$3($tCrZq?i!nBbdZoTmN1(HtLbn+()#Y) zA@Vu&bb5?_8P>>$xK}x&U&bMNr@c=eEGlV_ zu?VN{yk-jrlg%z;ZO5sl9gl{|j_x+qSA-D{ADbrO*03gm10jPWL zK7rW)zv-b4%$)riq`)&QhOYJUoA~(*zz04?_N#ugxKJdo*SG`l0`&LCGgGh$?QEey zm@2>L5;JwuZtZff7c!z0b#sz>YH56@Rje?tnXN2pN>rvh)j^r_^XEE^@A{wqwGH=s0tRE5|Hc8anEccffRuh9*H zt0~_5CPY}JML|shZYkg%p8~UscV8R1z*xisr?pF(*3{6LdlcPEpRHmGfS84@);TcB zq6c_!^+G=Q=-d10rZN7z%SG2ABz#V9YEA`K2f>4@0gso+)nfZ7A*pR-Cj}0aUbY%( zkN%%ey=@%pbNY9MRUDOnFbtA`9&q68?5N>ALY4KAJu?Q>|_bqy88{K9> z8+xW|?I`lYU9T>Sy=BjO9@ZTT*U>UiRT%U|Krj6X#t>(KV@`t;@WMt21= z1Grl|V}TRYa(;O~fQB8fyZU-}_!ln%gTc!HJ;f^~0YTgp7+n8b@QgIK9qt%TR=%mt zc0sw}ZMU$mCwsDJ3Cz3?_yVtVz)JV>wU_Qx|G8ce=jM7PcHeXIimG#KS*Dx0=sB2- zzc=fZ3^zdFW}t3>jmnZ$X*F3~3;18$L=FNr0M8uPvpF49&UN)`g>8HSmN!>@K7%Hf zDM6Wb`$o2@K;$C%YYHTXc9N0Drx6q^yO6Z3w^!%2rCC&akPrFnrAw`L$z%2Gx#Dd` zj7PwJoRnXk1h9^{3ggwa7CrgwZvuulA)JGQ5%w@b#}CnZt~kU0$;GaCbU%s5z-GSnm+Aac)HY>pTY5 zDY}rwgZ`n5o!KBenRo)0Y-2y%YU&ri9}vE-Z={C)vuR*gzR|011O7eRVXWrLEZ33C z`spIVOa5i}>%;zQe3DUP2Pm@$*}Qs5c37hw&goi~6>fFw>rza! zrd8+G7Ab^*T?gRpI`A;SJ~H9GAmsB(FFuP!l?(0m?orRTNnnE`{Wj*NK;`t`TJ=pI z+&Xs1Ft{pp{a4g8KSv$> zJqQ2<?-5u@$q+RWe?^M?6UNnMsCn zYoUHnUgbOKd~S<&G|o26YWp0sV*Vi%2xGcY9Y;CyHKQ;43_;Ph(U-M#q|U8Qb3Lp# z|6aRbyOn$9tW7DU?(OX$Bgl?&U#%5focspr9qz{p;M$q=%p^g5WP=)3jlN4)jcilO z07lh)F4qnQfVwuUEZR4#1ZBMMvp}wKrKDuLan8WYn*8kZuCK*)w=##{bV_JT971KXN(j_T=MTkbH*p7W zNU<|WE`iM2{N*wQR9m*Ycd^`^u4*gG$5Z{FT}<-Z0BwVXG;!y8OwlxmfuGGl^~Q){ zX(gzRfNsyNeX=WgzY#dQYLVHiBF-1E2rgyhsXPIhT4%9d>rT$D#OZqxNT9ZK3o}CIk=PPV}0x1$J$H&zzLvS3R?*WhWp=LWF!D_ zRewJPir1>M>?UGAHv7?%tH9w%Bb+i8zaYCC(r7FNk)O9nlNaO84QeYQhscf)N;|8fI6*x8#NTNL6;L)I!{$S2SOZ~%Z;)jiEJ7VNq* zkZ_hv>?JQOaRHk8d?mu!pY=09Zf81BAHW!X>9unliq%5BY_6;|zBkqHCeXduktW)_ zr?Zl!o`tv`9nI-WzyId_bU6-4OLn^mm_55Z4M-jL+}nt4nxnZUqm4cV$jwDScTa|y zwWl!_2$BQcMjGMTHnN;0tKyotrU5l97^|Djp~^jIj`86?yS!-L(XIT-lbK|Z`^&}E zDSlX=8J8JE2?VY4rp?`**39N|?WwCPyE)TyS<~+8m+gp-^IZ3+mq-mDE`(>Au!v(14=L=Uk^ciq)jPME&AJsp-EME{Wsn_c+y z*_@&kkZqm>5c@h6K%Tm`{@>e=j8qP5+2+mO~k$aY2CQ%`om+Eh}oYW0TaA$ z^|0gLV`|U#&=IU>vhIPNPY>yth!m@5chyENAFR=>8I6|>04|BMYubK$6SPa`PCa3pH*?BvB^gQKs8MFSvYF$+#TNlriq(b=tY z&EpYsX1?iQt9ji%&L6TH-gR@fu%1fi0mxXHH3C3OzpO{No}L5Twa571-d#@ndrpbA zsbVbyr2DRWkvBx1TaXwen!nGR{b8yv2~HhjOeB%iU#VB-8b~wTz3WBq&dh)w}0e>qlai#+U`;Ho{kp1_84s zj{{5V3jmi+q+5sES96qguGO;7>xc29JwUOsHm>t$UjDWvs2nSWYi97@Yk=uF4x=x7 zPp8=sKq$BdA!~is-v|KNa-G$KTUB558Cd}Ad&)D5#8&;n4eFxLXM#F^PrlAZpV6DL zNUg0Nbv+__*>7#sr-H2!mil7jo9_8C%J%o%2gs27)l0q8J;P1Q!GLo;=K9msi*f6S z7kXl$@t^hnygI!0n`YG4y^(23J&dioiyxUSEnMp6e)atI^|y`d=dM*?_+VIRU`7_3 z%dY$9e;MIF390vDp0JFepL&TkYK2KvNE5j<% zKV=QV&_#m95daE=l>)e;dWpWYx!j`=6YfRy5P*L|x%M|wfutzQGyxD0kdda>_ucDr zFDi)JQjZxx$9KIorADgUcPZi1>J12t)NP)nPM+Phhk>a%aGbnFrn&}!ah=^Az|FG` zQl{FkZ|2Vv&Yt91pHe7ua5!`FcX}p^jSNXrgw6+f)xUkt8u8(1IbGae4}h`@xCBP+ZUE4%D%XLZaXv-Qu}ibu z5yx;dZ2-UIvIXdhiMx@%4irc)Y5&@xUfdp79Aq}K<1BV2^fUV7i!&>jxb50i)TJG; zKxV@<0PSAngunYiWJeh^0wr#t;xe=!-~;~od;?T6yPPSrvD<8%?V9g5Mq*cnrKWyn zUPl60nZ$GesB*F+N;fwV1iP!Xaa!5!aTI&+lPkN3%K-H_2&%rDMI$KJXCo_BV0FY7 z^u00Lw%FA7<|;BE2I89g&C$_xeSR_K>~^4=`<*i#08oSCWL;ox?{L||eLKp!PWX|b z7 zGRkH}P%OB{6Afm%Tkajzm%#q|ByPx=5xbi!)4|c<^!I=G!*slF=f6fI<1)bwx4g!C zGhk{Lcz*$?1H+fKeK|SUZ=?Cf4P#{CYOKiDNDE!Nzd1fgH*D7D^P!yF1!vcp%6>?1 zBtPP)$k|o$HL^dYAH;h&n38J=0s%a+utx6!`YrYiqSTzy-X0xllMG>(jk|!@#+u&Z z<`bb=PXJ#)puYxfxFE^v5lVX7!G#FoPNdZwv?lG>Hmo)g z$a+D4q$6+czEsEMR{592m<1C-}sFzOn`6CyH5A* zZ3BGi1ASXRKi?;tUCXVBo@p?qgMH@>ah(%mgqYB60q_WndA7N=JFGtseZH{CNYM+>(!{!G9 z%Q`g!blLgH(#z9jcdpk*5sh@+OaP|oFhb02OmYSmoy)6>>f7^^r;!%8-gE$=y0X~O zd31vScrig@_E@yY&PZ>+TYD>8pt_AEI-jnxjNdegy5L|=FK>8yT6 znYC*M=zu>Ee$j7dR-{KN7jb<(01xgOf#F@NpAcEqn8}MW=C;i-AMV#)pTlWBYYd(R zu4|9Aowo#Xg;KcI7&ZsAbNpTTEH>4Xg`^M0d|HuBYqAUGN85epdF1M#w_-~4ll9G9 zM#7ZYpbo^UovlNE0xz}tlOP)onq#U%68!M|wEHi^k}flh$OzE_n2BZcqz*DbCtN<2Z9cUlV>Nl$ZD~f0N&O5tefHbSe7a*zo z5D?EoPPj+0T$swrVnK0OAhO^Z^=LYdrw%7UUts|3FADN22@mxg1=bnMwAO>Pf z^brdP*C5k`wFO!7oAP$}n*MryCKn`+Lui!iM|;NgeW$G1Y*7CQY6EVzB1L@V#0mt^Tp+GqtY(* zdF**NSC<2{2z+!1o#5-)yviLd@G}%dz=jJ-z-e15%@(Em7Mksqr|C2@C*#Rg3&n69 ztBkc4;D|X)+ zwR;M$esbVl!`65-zV-i8%9>K%sgGoz;y(AnVuiTXXZoR`^wjA-84L?Y6aqf?U02E6 z?Cg>~1-Q6C+(dkg539&!0AIkST{ozCqnpiRRK4o);7ECBYTX+p?(ni z0)Siua#(AQ4p_?WCh;*_jRkOjUt2B%Vfva&2>^Cm-}L8@DT~fdb(Ge3WKv6}xbnGn z^iPD^0BPe0wp7XbaVOw3pIj~ms>W5uVe+))fXegx`YrHompuaHgkNKvt^Xu*f!70RE9~xbJ~En+=bVci@7R>Gbq8S)jk` zgJgO>i)fJ!Zwwv-e#xtZ3adTOPO%_spS{!;Z2~^-9xn$tbb7lu4MhLyCgM^*RE7FS z`rM?}$=fz|B=>0iSf@8PW}-E$FSU<8lmSqT1@|?vQs(egi`@R+VeLrv5k+I09Naym zSL!!i%~G{k9!+=2C>6o=mBoeC0U)<&!fmxdt}W@+z#VIV^BNkhp_3nzgNh%zq3M+# zovnD=yV8oL7g`V0>G>%lX+t3$@z_|6O(B~&fw}z%bhE1K8_R&V&6lJ7y^)UAs<@q= z5jbs?mJEOeceUTFtn@u{>Ff-#O%F{F^LEZChzy(8^-pBi0g7U0`Y&mZShSw7fN(p4 zHJ(~1R=Fi6-#(K850ORGhGi(3v$j1wU5(9AeK7*M)A{4on2hXM%~@-kb(h6MJ?U-$ z-P*R1tgsp)4U%*qB1kDK9(gw3mW##uh$h zSn4A>>-m{A0to=NUkL{#HrE%BHb%o8sULkk4%(}qMxgkU;Oy$uz2rj~Bk(&yz%qy+ z%oYmgPQWsO^+6Dzwd&nnNYpD4ah-a3(KxIY+BOpd*K?Dqe&d z{i$1z*z4PpUCmr@p!Ke(%||%BhRF%Ha4Mp*DrPL z`VlBEK4kRU*S3v%>$mzt{KZ%DqCD1<@qYBdSJ@b4>3?;#0s1c|i2sw9tVn>rMV9z7 zmV?E}L~jQu)|EgvMJ8r}1;RkFJOK2_2Wx?thF1`s*i6fmctwmCa6$X5x3wW z^RrBe@yG$d0ejE%L)oaGdbmS9#^;r3M_-wz0a@v1#az4&y_gSV!u7<*6!5oY3kgA9 zh9#!5UjyHjs~sxx#tuSH*G}h=*s)a)f3vJ0TW?YXT%vq_SbJDVUeD&ReCboq2ly?} zKrw>Xuj!({)n|_N&;|O9%Ad)Jt(@(^3%_;1f1GgI^G4uUlK{C`1|IE*J{yE?wCIcj z3cD^XoU&oEt-v}(tcQ$HBT%j<3bGsipzc=(^9%Ut29^WF21w!JvQYuXhbz|T%*sYq zYWi?VvHNay8`)*5$ZhwDTd;$wzPEkv?0`BW<=prNOyuPUYy=^5-{IoKrR%BZudUea zP0{x_0e4q{2D^}C#i9WeEw<)!9xTL8g|^Fmac+^n@7nF2*`ioIWn0!>$(-xqbkO>~;docL5Y4Z1;RTGqN^-O!YYm zRE$H08c|?qB_P6$<)($mF4k@3=^s1Qb^5dtS+iq)dlN{k{W}5Q>-voA0v8)32GL0E zRepdvFy&-r10aAVbnq99%Cf#`}Bgfop`M`C1*3Ti}E>5i#3I-k_F;WD6;(!w0zKW&`L7 z@YfgDG31lIz3$c~*X}|9-Bk7CAVQU>|jl49MZ!ZC_)`I5O&{xepLEqoKe?R6r z3nvSSU1etg=?iXS%Y_}p=IM2PpT64Oh^)~=`nbB@2w?AT76IeByF9MC75GF}(kEnB zj7oKXa}rP>`*qIl78i#46<|!_b_4xLGE%ppLdhrB$K%8O#*EB&efrG&Y>1lIGNoOn zW4JubB=g4k9(L@*1>&$4jS(=!rD&%yMlSi$3y$Aj9FEiX_ZQp4Dm8$AV+nWzd@LOs zVnEcV@gPsv$*J0oLsIFQ^kbr3J0gws>qxcxRj+c38flXwLxALM^KX=!+|uV(KP#Gp z=C}jiORb$gIdq;*br>h@*Cs*ffbVtkCj-^$3t|Wq_3SZkdS-IOHAq4chx-j+*L{!m zfz#a=`@8AS08%=!>W%Vk=7?*M&|^Ti?jM$#z!`A7A!V%^S{JPR^&6rvHilZC?2A1; zBJFnLxoRf+EapA?A|eNPv$EVjTnx*>Q~gs7>rWe5$?vdi>jm9mOzWS%V`Qi{gA9AI z2y;WK`&%F84Gmj34iFqEap@jFzY481$5_a3SUI}qK9XcjSl_TKo>sGXCqvt`LVW)K1sicJ$q~pae?DDySrF)8GU=3ZsxXZ zbFVsY?pBwIXw2!yZXO45jzb?q5+i=IewQj(AKXSLpOa~?v9sR~Fg@?w>#gR-0LjTm zf3sj1ZypC+>BhRmRcO^}-8>z;_p_B}zHT?!-LDMS$~47l%5@izo(V}`e!brqu%vrN z<7K@VND@%@qkL-v*QleO%YO~nN7vLp`G5MUv3fT?e}1_dWx8IR#jEAQ^XKbJ5{Yx~)6>5k>i17x;uDzW5COoOn0{zM7iZvazk&Vn>Tkdv zcm}iqVt*qBQo91q$Odur+YY}w2RWz|=WsaS4>;ZJv*9Au@BSRmWu53D;~t=23njUfBVnx8zADDGuGRritkq|fKrkhy;eg8tH0yW#Yl z=O8{}LHv2sdkf%Z3Y`D01GFeGi_$~jXP7&i2rnxErIetIRI>8$_kKxXS_ei}pcW5+ zjg?3?m#x4DaC&8jFjO!yNHysWTA-Xz&HV=Pv(QqYYio<{YoQ(sVUsEaITpMgpq?te z=s6d4wqlxhLynPPD=0 zv{IE?&NTAvR0trm(!&mADUHrNf@-O^IeNb&R>8)V$r@}Te~g(`anCC z2|yyFx5MfbfNx9zh#nAl-x|OSpuYs7M|(Y%WyNk<@*Ut{!e39R%DF#Wr`7}Y4_8Be zxCPl+w-f3*1Pif{menrs*$p{dn+~|quwK--OD;rRD?1G0_V(nUeoXdScmaI5<_D1Q zfMnGe?`$=50(ExqN3MCJT$g`3x5HIuC+f)3LH&%to1bLj!lq`5o?KV4+QlrM%r_4l z!1tI;@5{zhpK*&2L&Ha1irWEfYL|oN#tH2G+mCo%C94MkuApjk7KONHDpt)z;$gtIgn(a>wwK<&Mq&)EUVStZa^$K*^9J%?C*wj zfX$K4H65_GcQ9RDo{fzK?j|AU{^QocMd`9ae?0J%ZHRv*X7^MKZ!AlL;`G822QI9!cbX9di2 zBe5lb@JMM&1@G=~<>O9CrtTt9`(xAP`sOA9sN(Mz6$vJtumyWfk?j0OVmuF|SWi=vIzr!}k7xGOvAS>Mb?CLsg-G&Ab zUK6^o&ngS(c5cMl%3iV=*s338QX1)|lQ#oFXAGiU+w=hvD{IqT*N}B-#Ginqi0fm- zjP{|Ao|1EObd_6P#Dc|k#OTz%rqZY@{o+tl*ld)Y&LSgpgqWa)cV15d?B@S~Wa;Tu z>thv?$!(6+i3>KiBgU+;MgT`#m-T2P{rZ$n?J06r- zGVXcJKr}+dBA5J__u_kycN3Ef7W-#Lcn@ojJnM+AWe=w_pD(hY5vXx$mjjI-x@_OB5h-1af|~U{jqDv z#lHlI|C87E2{o|H=kYaA8G!(%5dj~(k_(>$%@%oNB0V+U1Ek!J44coXWS|+4HOa&= z*v;oQwVx(*4X`~-j$LO?xfkg69K$)>G;UU&W2P3ale0XtLdDDXtV zbD046=96m!v6Pv9(byL1hm_nwO7W(0?ELO7notdpbg@zdJ_R_OOLEusdx4aP?$_c0 z+*@#Ddy?%)wk1mMe544~`WB!j+z9^FhCbt?D#!Usi!bVD_sF6P;Mx@*dH?HJ0he}x zo?2Mc{i#0G58^VGEovKf;i`q*N`bo@DPhZ@06sgaT*)jAGKz>dpt!m6tlEj|PG^?r z%d2bWA8d_&1d>}H=V0c5fjEulo-+k}oDE@T?6EokJuDtv9UhFQ1*AR(O6(9y|2d!1 z$~v*udvYwT;caz5P^(MVbI%w%Q!Nk_FIn78fCS5K2DZsBU}G$nZ{HB8>Yd1~SN`gL zZA^~40jbzWnvjb6XJ^-rmfaT0eq-8eAwCaq34lEekRI+Q7u+Do6E~9Pkkg-^>_+wb zy7mDi&-KlA<=eG$?*;%}->}#KYtApZtgYNU?5goiwiwGC#cEO4v`F428@tn+on);A z;`Hu$I$G}6#*5J}NCS5y@j6Z^J`1$YGX)vq;**RG3yZlKxEZNKljFv->d(NTL6hi# z`yC(l>wpZoUF_{mPL;MxB@n-1A0T4v0@_tf1|9NecX2BKet&g4T(0&O2g$K>1!}Kn zb&rDy&n}P-fb=mLo`EQ${BUz!Jszk1?e*po>p^lDQC|c^Sb;bzu63Q*iQoP1?~)z6 znu!&8f2kks3P0Q3|2Tly_IAW0+2W`F{@q@ElWtkL8DxgF%c;og>$TqwaMxTqjXWZf zuqIfXakt1N7Q=ykC zd?KG4()yZ%>4-(2pUc){4%e?+^{b3)HXjC0ZK1d(YxS4DMi|%DlXbTfg4JYicQFXOxF4S* z@y0cg8Nd>ORG%5h0PQT+k`;`tmZ8(RHElM>kcqX3+w~PtAJ7yK8^~&?l2=v~C&dGB ztx3&sI+CS;`xtl8T{+7uk8A4=ce6T79Gi`$M0v=5%Dfxr9sY3&cF$C&4J4?wfPP(% z$gwb0+aZ??L2E_Ns_c>0yB`*nl}+dK1ftx$GPlEm{RO{0zHoiDVH~s*- zwQhiaZb#NJJMgRl^G^IA70t_W2E?o&tNOfl>(@C>q4$Ag-yCQH=*X>IIY~2HHg5)a9iqc zRtn@mnXDm(pLqF9Cacr0f?KhtUXPM(J$_2DWPCpKZ369s;2bq&TaJ#vJgH_sijEjcVwi;jQ$vz zg&MP!6q=EH+1v#7|4}4%bDU62bqGXuJ+&pp zF2K)nVIEs7>qt*t#hzcx^$)yZk$vLadFmMLhS5nN|p0yM1Qc8u2o6W4(> zaTj(e5tZxeJu-DX+I^tW139wW^lb4x7k5vA!=xdFw&>Zw+DIqZz#X;tBSa7V4EMIi z;#PZF#6}E4?Yyf@e$RHoSGYmd+O5TQ|L^-gU#pIf)x#oULA~!f2XRSRJII~7RTl>m z>I`a_8~S0?xa0-+Fa}h%E)P- z2d>Po-CeN~x8uB+;APdf3z{r^M{df2q;*9tP;ihf!lnz)#8n^^WY5eJo zn@=PH;^cBy-|PgG&Le7`JI=639uM}U1y-NNr#|WtV|}+q8(I+*df+;tTr`h zoGnuSa07Hs&`zZ6DzfOD4{mF#t5zT+sQ-^^SoG*b^1eN>MmqOm`03Lp>0F@u_+T-D zuf;q)JzS(O0`9|7$=Zp~Jq+M1;P>gdF<@zpK=JKIq7sz)>asb=HKoTVo8zpB`hRQh zsQLkrt$Fp!e6VQx0D^CoGk5luheMxfFW}@9ZRI$RX`H^_vz%vilm0s1->+VmmEHUt z7%Mq&bMp^~cG|zVFGL5K8u3izt^TwLCe~&}+UnXaZS(HN{?Gx4a8smmW-A|8C4|_V zGhfFe0)BSzxdu9)MjBhLb4Zu;sWvti=|1kc$ci`@2OZw0qhzZZng4pm0DaF~bAZC? z&Z6L$_1*6J1wIhj29gB#Le(Aog=I_lNV&vJa+dV@(m-97-^?*!O_yGBhhyI$a z8OTNYaEvqepul})BNfBVCwYU^W>B5nRNt|t8k>l~NZ0%XBrCi5%+k;uGofg$9_2Up z`Wz_t`HW^h{n7(uzL`vSC*q;5P_%f{zkzKwR7c z%Y&{3qGfTShy+FtK;QN50^sJqfvLG1;MlbSxdCio8-PY60CA*1DO|5i8FR-@KHzP4 z+iSLZybN&eSw0;*W0Xs;*%AOW&M9cQA-M_=XZixx)y;2!P&=A}gCuab8YHEE$P5dE zm%czKSTg#L%K2LEKUzax$rb%6-bK9;4t4d?14=`(5Eah=aI{As>Ra{FDq`)0^mv|j zIBNuO96i~8mRj*4`gEm*R{;ItV%hz`pGmu39|)EPcI^5$cGofP>h^j7o`p|td6Rj) zYu97lt1SXDkEpdiac%-dBN&Z~!NI{^3sRFm1-;+>*L}}~UGuwtCXoK#Uf-N<($viD zcCzfivjRx3Xve+>2h0PzCVO?~L%(1xNnvx{l7{lJ`|qy1zlDnhgWqnLvhtqBt~n5D z0ea9SEn;@N_gb)|0KM*6djSjwP;nPI4YdfuCd+zRJc#|l8XK5O-ny47jGgU~N-;3K z-Ga?(;?!keWlraqvaTP*6g;m6fC5+u#&hj;D3o1CyVP?U$rM_@?*la_herc=2N%X} zyE-t5U(`R#032hJ`UrI8x-%A7yV3QL%wu*5?anTo?QtK#OfZ}@{L%v2ax}6tA(mXs z`2GtLU$3rqhOJi5>pP?W!>&EIx>oPe&-MA$<<+oK=x^2`JO9Sv=1SmkV^zH!D0P<{ z4w73~%IX_s+LiIRZwb1S%7L6Iu$Sp@( z6Snt@`QBN9rej#0Kh644%=w#YiDh8IHf}D zK-<{@`VnUt%<9zX)8|iP?ijAC%Zuru{t;uaXe{qqz&Gp5t3dc_K=&!o$C`IJtVkAE zeVlF!1tLi9TPC+vVY*Ltoo#V=a4>PhkkQ7bfi$FCV0f9Z;z>l{Fh=9gJ!d~zIg8-g zF_kfCXUDt%o&lg1)?{6bg+taZE(3-w;(an=Uw--|Q%>X4SeTpA^L}`{KgM~{+*6P1 z%TEJfx4-Vhk-Wt36Tn@yGsN+`SzZL0W&D@XJtTorBjoq$GzLDGrt&Io7mg~^8 zuHK)f=`d0YK@mTfx5@%}uGPlV{*9scUY~mZ)sMTlmGWIb@P9G$;1cjUT^! zNk#>!vs5`BYGXQ$#BpDfU_v~L)5HZzpX?{$$*A>fXxkMQ7_ytZ_GX-OQ$Nz*Ty?}w zuzU`{mMpJF!p$+`w_2ZVYy>DDT1O&OEVjTepl%nNMN~Z4^W%B45r}&@uivUi57rwQ%n%0~K>A6$_Lh;@bk5F}o%`0i zVJW#zK6ZQN)yQrKfQ=LFtDAmw##4{)S%KkX!I%T&T#dv*jPe7!Bl(5-RKHjHw6(h& zaZ{eF&Q5Fx*62utT_O_)sMe*!3j5RPZR2I5E5JU;M)RWibroT)8r8cIuJ6nRq|ew& zW?*Xwu(v+4T(AxStq+aKaA#{AY-ZKn^+$lU`Z_COxP=*Bb*S#nrMZe^A{oXV;b^-b^f-gWLBgyBtq;;z+sPL92VaPtKmu&Y2>Q11W1|LQa)=*m%R}T7F>#Qgb;P>h zAkjgftl4C$pW8dZ`}JejS$~noyZVl0gyJ2i%Qp|7r{;;>{a(n>Ocq!qlE<%q1H?11 zu3bPdJmmVMRcyj=_Ziyx6-<9^d!G*EHtN);_1nh!hve{Y`Ur`r{XNJ1a~&X(`8lJE zUV{XAQbgnFYs|!aZbiL30?z05tgoF^*O^#|d9Z$tO`BJ;(nTZIqWchwx!lHZ90EuW zAUDXAdl8$NWa$gf8s#EdmCHlG-Q;8RMSl#7NA;htOP-#-ByT6do zC^E*HG6<#q9Hhlq!i#fXj9A4n2HcJRC1&HFyxy*_Pg2&_ZNtKV5CGMz39sOuI3XN% z_wDQh?yMh(gX<|6!_O)JOc53&;fKH=!0m@PR>W)#=zAStSY7LL&qPAJ?C`Th06dp1 z48C(M;O{*Q>pSAEF6sr=DQAGQepCKlEGR57$`kwHpQpHPjtK!u=knd}_k0$}TxW_+ zQR*w!;X-}-LVIPsavcI<2{f&h?r;5tV3`^%xr3ajGa%$DeWw0%>2v#iKkCza8LpIx z_#k)yBb8t}iF=7F%sXHGmh#jNyoGp7s+2HOtVM=PgF%rG-U5b%0JoGc_nfhW*J1YY z`Mz5bkd%vn55+BzknbvB`WUdWs7Qfop}7d`IOUlIODi5KlpGE7f0NK+J%YB>!>&}I zoj-dRAb@7)r_UQZt|@l^n7Xg(r~%q)>{fuqt{yig@Iv`w7&JO;+Co49&pX8PZtMN@ z!`s8a&P@w`1yr})7Ayk?6W6Y$pv_ol^n~(R7)3p07`GPT! zDQE+cYU~jZL8XmC?**GzPu76?7iqFMzCYTZP9r3GxTP*oRK1;+9ZIXap?UR>07zz1RiNUTn>v?Smy>Z{#* z6)?SzblQ!puj=bC^hnu!SKkP-t0`>!C(u_*KYJM$}6>fxfS4V2$emv!& z0$H(G;Q%B_0-Vus5g7s8N0zbxApp0#Ykc`z2UP2)=lhk~?ez1tX|YIN6K;oe?WDL? zBAKi^Y`|*))axpFT77AoF}~Zo)7i!Ow7*li`vKVc&LN;H<9rBdGtHdmz%SRF?EqtX zD=_$6ow|71KiG*dIlqBhmUBP0B1VADdcfLA+i6(yJGtF$99B|1`^&@W^5S&b3DC-% z^y&080xxc$aZ5I~A_$k4i16<8)5qVZM=CoK&4d3wzyp^dLHBnp#sP)h#laYZ9#fxg zPe+G)k&wnIS(@W(RwG(__0w4r)x2w5j`o)UKkh2))924$>g$c>)AO*nH1*OYyUmM6 zrUtJf#`QIRD(5pASGGfMTgw$>XiqAbOjSYp3&HeHGG;96Vx|ob` zhjW19L$YmduCCk-J;`cg?y#1IjhplJMKTAVa}R6=jqCL-9nSsjHodnI`IS-Xo`ob? zbH>XIpaWr*A?ujW0B$E?%hm>PvsRji>#Ouy?WLn1Zv*=G)iW{{X{WT~m<^ixb%5B}ZEoJ_*V5XKY?>$5??D_~2lTW2u-5EX zr@b+jui$ugp9+Vpa&hXj%9^c6{fymu8)mhcHKJz>U|mgW_>kv8K7jC1#vEq>Db65& zCOm+--TnFRnMkboI? zeb!Ic4^kEJm`_VbIJuj3{iug>zw{UMMF;8=>zMM=b(N(K!(!5yk9x7R7=_5ruxLPL z`mbvT!KrTs@)`YCAB~aklV|6G{PVxm=1+ob0O}6d(_Ol$xiwIeN3Sze*e(+`2fM$N@C&w z|JvTv8_#{$LS_E@Tv?u>F8)R^^o{F)8Di{Seegr#B$m+Ab z+-u=OHk#-lhkgRw_%gSUa3gjGmFH04cH2h(KiM7JZ2`KEbiPbSEnapOU%KbTVpLfa z{CbOyQ^{Eh&bS-Z@j%=Hv8tV{DqS)3z;%7)V71ltt(i#IFAgpg#0zLi`+8O1AsYLO zt@`A)MF(hGHYP2K{Q&8Ae75Tcqf~PgJ^E~|I*d#{5g~!PcF-IWXgtgY1mdpicWcA- zmB3{Kw>EYIDRi>oY=$Y~0bp`(km}O_+i4e&E%pYXLLjymd&2^<)uJq=ulN~3hIZg( zZSnqau{(XPU#{yH`-3mFcP+39OdcLAC+7_81Pni&UPcJ^DnEIvEIWGQQ24~lAU2G&0QBY6`E-;Fkq@Ujv#`n}^ZD#zTJG&NAGfDfV_7*T2ZueT z`X-b5hadP&W9GB1?H05^#!+K)6ID0{yNj?XjTXQNAio66B{D!l9&Ww_YUIqrmOe z1sA7;Bze7yWGq?1nomgkb>#0lqB1f`HP`6*rbnW66R|l8#9k!Vt%-d|w=m4uwFgki z01|$ed~nf`g^V5$e?}fJFVB)kaRia^t^Mj3fw{jL#O&&Z1&8a8zG;0)=gpfzvre^2 z%8-N1%9clG`wZBZ4w{P+i_YpQK-jaZ7}6c}s{Ke~YaPo&{lz*!gUtsa-u4`)tRJ+F z08jO4<4f)DCNGEp{m4qi{f~u>+o%{F);^m-R997RKJ|IPUGj(oy85-=4Q!Y`UqiHZ zhfJ8K5*ToaySodBwyN(ej*^226(HRDWc?yrHp#62T%xWUOLNCsQx%8RiNyxF1&}ve z7sk09JzKUtaV^F%ZPY!jHFQRQac{F8ZgJB~4j!MX?*PGTwIO}+)iTq}>AQ3#D@o)7 z!O)Mx`ctc{&MZl*%@v^6Cf>QP;5~rOyEWdJ9Q#FW}9Z;05TjaCi;t zM*RWJ0QTg0bK}R_^~twA4>6?cnm1nqyXUwG#0;U-cQcS52n(SYu1j#5w)xQ?T$sG~ ze5q;Q^sdgX-P$5PF`4f1N**}?>4d9mh63Yg_OKiROlUgFCW7n1?!?mx6)(Lv{ z;!*=h6V6u>0DRAuiY9H}vxsn0B64=-0dZhk+E}~teLVJzxHJ)Xu@83pSxEdIWT(%L ztAp@g#CW^I+q)ZvEIMIAJ4R;JzJL1r3LZaF=*#iBy*8?)*uOI1x8 zGGpw9+du&QLE!EdLX#5dx!gj!yal3>PPiyq3-opM6431Aa9NFP&D)ViYRo4m!w(Ce zg{ro%)sM)iT}&1M?oWFG>8n8BAQymQi-`rBZ~xv_vnXV}wtFx=ayQ}TQOljJaee88 z>lAC!YVoqZjMID@$Gw2B1?=Ggs9bM+nhh=B7As4H-Q1f17Gil%nFBI`XP|vs`>NkP z0;8R^V`s}@fPuV-020q{U)HKQjw6D{ZOOCi2YtA{9jK~bF0Z)%ROk9%JPm*H)fU&? zZNbu!v#$q|?Jpyv0g0Q-i%FjT>xdg4=7as6X&k=RAOXc<8W3(A;Wk3CzMa0hVa)*A zncD*!Eht;b_hk(P5J%#I=E~7wK&&~So`9Ob;FEXD>HOlZ{^Qot;vT3m?sjU=8+$wT z2nV+%E>TWbe|fIG+x7d(!*p|THTqM`gLKVgO1374B;F>}0+fTBjYFdpV3ps0qkePd zhWRN?G_tEiN!?7j<vtK7fIo69xL@G(O#l|zB_lS9Ao;bx zIoHhP@~HW{Hth#^zkK@LbbS1_wh8iXj%@*Kjep|^#7bNH5>erjxW5;X=$Xr8$>s~6 z|Au(lNv7@{ytfVXC*y-`2Ijhk9vOr>T?%|Uh;DXcV_~B=(vOH%bBBA4Q`5P}$V5aR z97X~kt}8Qn2YzJ@bWkdNINTST_o=Vi%<9E*#O;surZxB>^4)!xH>b(^wAw;RKVQJ-<8vd-S7lh2!TfIN`ufH^wQ_&K@# zs=8Y35PtfaT-tD=Zyy7?#)W>j@v^(MTRjmM5GMI;%*Q-#47Py&uX3}ILXhQdV`YwQ zplYm3ViK%VYwLl!l+&WVJiqvpvFqIy;@fLT3Y^g6cy$^5&-T z<}MXjx2ccN%O)le-?$47AFjW3y3Mt^vFAq;60s`@1R_sPk*CilK({&7x3#swju_G@ zi{_7WH5}xJsERqM;;mKsr*^CY?)38A*f?VebKjVl2-H^sXfuNzm1Y?+mPPI*-2_F< z#HnlRdvYTA0vEu$$PiFF;x7hp1$bNA?5bB!V0ZxiVI`0mQXGcZmd2(wAr(OI=&(i@ ziJ7xT&BQ_(W2Zl0K4Lqn^K3Do3j@}JtgvuY+#qH8bH3lR?ex!OBEYSvFI+Oe={gv~ zGgwa=x4vh|7@4a8|Nee{Ml?Kcwp`4lMV<7Yfcd>XO%|TN^!}vlXA8+paFBzUw9K&~ z#$3j!`I`BAbz8Qnj z?8+MP7IEv=a+~k8zUR|!A(=*Cs{_8)Yo9thS=~NUC~fq0v@Ur}9)Rf)Ru z?EpA&I7snz%7=^D^WDW59qxQP+uS=W>`o>JG}0|M4?U|s4bUA`j-&!lEi?y#VUr1f z7t`|iVzHR#J*&{$V{r-HpPT~+KqUEJ4QSloMXu|b%k%31#LfVevOmeff-LRrM<4;fcKU|^(=t$LAw_N~KQ+k0x2!$RMgv3-;@R*BI0gGE%?r#lpbb226t?w=?=l$DvB)WO9IbEEc*KY~6 zg*;tzbP&*Pq`sV9OncjO*IM8^pjMx7d2#Jly>2+t~qZ8lT$t-0YBr zO~V(C*BcwSd9K)=_dR)n#QhHs_b; zV~*JQZn*o@28aw}FV%5(=uW9*tz<|CiyO-VH!E&7TLI3s?x(4p_We-*qANc_mWxnl!qJ909TX#@tO(A`Z&o*yr3!*=r7`kDM#Tcj1Q`t@QYX*WQY zOkZ67zH*xXyU3rF$oVqj&FpSBf9jV(URc@gxULxUWTAGYMv?vQ8MgA|uq@p?8pw0RsN+L#WMP+ull z&E<`;UP)kJ9kdSgsPr%5+nh|ESbG!R`MB&=2a9Ob$gi$N*wNy3-=--z7e$ zLta#HxC5E1fo=id!^KKH1~8v7+iX2hW_9~|-#?sF;m32v%QFFgE>K-I$j?kVo+Afy znptxvqNMEcY%v&(>pxgOHpcxdKd-=jRHFY0+75w@zv&h+6N4;pZ5r1D|GmuFuXUc? ztbE!y4T}cy@(TP}WYg5cQZc((jg!H9fIgVd@=(s)mvhQr^<**9r^@xLei^;dzUnzF zEVkWPeB57~zpnd(jQvYCs(<iH!Sqw&7q0FQ2;|8`*BY+V=v*$>wyu1`KAt`6^G z0YF@4LV|pZDKK_$xe-}-T?Y^&7{ELCBi0JB9oj%Lw7D&};&E93qk^8n+l0-o(T zz&a5Cl4Y2Z!WN((f!uv(=!uiII5#6bFxp~Txo@Xua+%`#y4^DlG;2|_Gc1VCZ;KWsD|m1*Q^E2`4e_S!;C3K)&UA{R?v@?#}^ksvfCz=tNZx&3gA87-kr{nnVZ@4 zdchw&!qIBhpVgzr$$Vvz0Ny?Yun$@QWLLUMnOmTDnU106xsKEvMOq8TnbmV6lyz}-9pJI6%c2p(&;Aje^bl048c(n(9xyi?m- z;VPR2E_tgApvn$4H?PBkv+7LMoh$7<-M3i!rB-D)Q;2<(xWw`%rahD4i zE{40_Wmnkw-5G$;>DTK!djYHU5j6kqET$k`y1ltb=8~EEArY@jlbb-x*pcn} zaia5T`mW-eZo}ere=Am_IdF@B(dX%v`c_c3L*X{6&)%NE+A`^(9xnZtkPzce>7Qj13;v_;DVMf7Ne{ zUs^=`4q~yn0YomE2dp!-X_213GlsRH-jkjeNw+3d`WR1SvZZotpo|Q9tZK=rG}!b{ zEw7!3J-5Eby)|$?Adt+?u4q8&bK|$Z9?|merN1k4l@=G{WnE2v#%5|``<(t;--^hl zZ&}tymMv>+@=jMsX5sKtmd$~plF^N|*1G25)8oZ-^Du+m`TPgtZrfDvBQ*Dw#XAzP#!rWki(d1sSqjKNFBhVQYAm7}u~)0QC)Qo&hCuW~#e5o7V7$lNiLq~7=Y@#(bphzG*|W8x0-M^ zxt>E%JQw(8N$BIb9=!vyUFVUMn|qOvgRTSislyq-Qz5gZMLD=IQo=1uYz7niyPp3! zg$J}FKEs+*8TvunwQ5e?JErV#2h-mEthAMJHiddCTfJCP>_BrnP=<1mhjGS7->b{- zTS)Ym9oE^^N*u<@AWKKJ!TlOHtM!?*=>KufK%cX;=vVFA?gIDkbT862C|1Ai)pO~v zs51Evce3sUyyjgR$};v{IZsUr=3ojCfZPojgcGa-tw$zVilYThx>RM`iJ9G5R;J?s zH@BCOPk$|d+>L`AMpUi?a{Tm%3Ai@xrMzW1nqC02o?pATkg;UkURy{5Ja$a&2I=1b z0I<&rA-DN8U*Q&#M?k8o+_%6vyMy2Eev9K5ZX5N@e!6KW{_0MF-n4KyObkFhySWJf zwg5$hn5mZmJqrp#CiN~8_Kg7IK%U(u^5vOaEkeeHM*IJd0zzV-w7^{MUf zaWZazog0}2mv!LmY7T}QJ84zxFyOJ#f+3av=1vRJ)pasPzGZ8vf9g9s)^98}(73Jo!zUyB3;8~Q^YXnQS06w>J>eDG;lGu%LBaX|?OdrEb;P0ud?XN3h~rUg4=;Y0t>Gu4pe%T-H9#1XAy9ds~sDBz4aU0vfX$$t7_uo_x zcqQ9EU$rm8IyF5%@?#CGy79OV$BhF{lMZh_*{nMvFdi_Wb3ASYg z**iL_9f9nf%`uK*1rBx+9YIAY5VB{E;<0d%sO|GW8;eaRp7i?kz8F~I?V4TVArBu zY0?k(LF7byRri?WeO_(r|J&y2-E@3-)Uc6})`)-__c|8JmF7S2d*k52fVANMOQ*Ou z$7HQK+@CEE4*3h7SHJXB?cLuyny!2Pa>w{3n_d6q^fbNXzR1ny{%GR{cRALLWM+pV zs2}w7-jWrF1*CR2j&)P|EMU{OVns$O)j)`})iRGgKSin{ayA}pvS>S!&UK7j*YJL) z_nRAB?CdVkFi7692Qd3Ou!)t<&`kebHZ949XoH^`YYUsfwi<|qV` zYc2i5U8)fpn*=N_g0CN+9XQ#1OwL$w#M-bZF2pKPVRT7lJx4l5wxxu!8Qt8{e#GT* zw$Rvt3OLgBYn#qB`JA3^-DTZqP`>EfccPmz$y*hub;YxN)xg7U@f z*tkKAHaB;>)`6yx!^WOPgG@_ryS92i2ilPBhpgea~B&i99=t;m!9N1^-)GT&(GM5P=>N9W4_OsB#8LGST_F2iwNtg z@WcS606jneKzlv(3vqC|H{cC411#bTW^2a`h6#x4UV$`zr_5!_OIgb7(VvqZuwQOJ|52yGrHENtiJP`bw->?pA2A)yiguUkLOEo%k2s&aRvmd zkRW?5WUp3@qdtF)jqy@*ga(m#bsbY*3y}s43sQgk{FV54kEkJ1p1f5(?pqK5AG^3r zwp8G_SqaHrzzs{AU z{z4zQRgIVmD^~57rHUKDI7gxO0nm4qE^nHYW%AZRM;l_6IRoCo?*|It=1d8w4J{J=$-PMnqar7XgxU-N(jg9REv|~+q3#^ZV7vArGWdb`s`^0G;h@h zXMuwn(}IrFv_P!Yr-2ADFO78l(endZ>tAzmrMGvvr=%iDo310xuB zt4Xxh7_ZePvPY>dcbZdyEP>hr8~G;lA?6|kw=BDVZNyVV0xMHI314PA@6MV4fM4#a zPh)8ZlyC7B5LeK6Kd;er6dS|DDR7-`+ul%WY9t1k;k?H2V1*X26eZeDgS2uy9#y;8J zXd%3&EM8gug}5d3g6#)m7>Rp5}EA;4S9 zW#v5$(06_Q$8kQ$B6)Q-$noK_C6hZ5tH8&ROkkz)GM`w^93a@OwG&WJev?;jS1cUn*6IW6l0@i9k7 zZyQs3*x_UV>q8P2VOSiDIZ8$Za|3Z}5fW!-eEGtiCg2wVx`<%zaocHLFC*!9SNGF$ ze{Z-$cSA^R+?j*I~q6if5LbxXP4D?_WP#O#33!kgER+j9|4%2w|`WhAian6rC|B9=5T96pCRn4)lbm&#@0dO zZ__A(R3DDGspkJmAYQ;YH@^qu1Hj6>i14V(YI5`#U>vfSY+Dzm72vS> zx%$*|xFJ@iO{wO=!{b(C5;(2KsgU|jyuxBwZEkwz`r3Z7ao2U$i}gs~~U9$+4L1sM^~z<-Epjzu6dwXyF2VW4;b_x`qVKul&(%%XGD_$AkY@)@uL z<>`w7)R6^%IxGNl^n_tq7$hNiT4SvQp2cXmMyhTUv~>*e=(|BG8uxMgxJLaV+u|V9 zv$o97oIyA=GvXRvW?&wgs^61&B&xn8dlcZXzI6YHSs5fE)YIqd>-x#Ywto6*DH#%p z?3lNg{hqBuk58YI8}mTh$+k)&Wxe<6{yC;Yj0J*MO~sh>nKH%!fs|YKjn9VlWAsG7 z^{=t(B%Meo6V<-TvR_8h<;g!5bvQno4OK12jr5}&}jKxDnNcerDHeYP@(`;$5n-L9uE z5hUfZQh3fQ;c~r!)JC9ReU-2NEI3@cjz`~8Gy>|mjLrR`oytVSl+VRWeTHjS-!1iZ z_jlXqBi^B|S98kBHSY19_lU<{i{N?f97q|D>SjKQ*{g_u>EdzDr*Sq)Itp-)Ofe}CJK@)rXJ^`OmuCawQd0sXYwPlrCwDE} zfW<*z;Apws6W1EY6n|wKJBzg)){TILGc@e%Tk!7q5I1mK66^vl19lEP6t7}ukK4&p zAa3>Hsztay=zg&xPj>U_OJHnkjnbKYz+axYMXZjDNt-Q(ceVAdez5b(FI-?I$iC8h z#N)QPWMmy~b)8U>9|yqAnZXc{NKOD|WGSh*F$L0(7cHm(!#PO3{%?V{Fdv%?z|Np>*urSZ3N{!83B;bBSYH6Vr5=$E}VgJ zGhEw{+Jgg!^;PcxE4@g=f(aQton#+}{35%~*P18@$=6h8q} z*FLSz7K#O#AEZ+M$a9l5~WALAqZ8ddBVT z@i&drdGh}_9R|Et>-P#7JGww1mnRw5WF51U%sr45>FjC_BIn9t6r_K}19o=;MD^Xx zW!Fb&UXnK%wwemlYJIR{qoA^oQ*yR<6roM_o&@JN7abnw^yV)Sovr5j*4DemoSRks zo8ANL&m$)S{_VgIz|wQYk8q*$;u`c45MAysTKAIi4KiSTnyre%`ayr${0Mm3U*6l@ zoUYE1bb75dGQj=$^s4vOBS3iD*jP^_GN8Z4!KDqLl&t2>-BWVh+?fyY+ingUg~wqz zSWn&&Xe5VBnuj*PC}MNCFNdDPX=z_BoW_IYddTCZljadxm(IG5jGqJT=@fy@^oe)@ zGUtSUCz7iR(9Oci9Z!n$$K+BbENjop(`h8PcQz^-Tl(~grJ!fb0olcy&v_AB*!Rj{L1kBf< z2<=gGbaquD?(j&ewXvrQ8;hRJ0&DCXYCFa}6*VlTjia3{hof@qG#=&_XCQ87!*X~3 zP0#;4+BATxSF$z$vQ>D1>k3T!cp(cieW?M!3rqvr!)o!&O3-r#p|CqI(~?+*#-@7D zWTmz!zxSg|Ab)`8zMI6~7;VI>-w})%jDIBwg8(5m0KK}1h47iWiwhCh&D~1IDiu= zv9YdSFM5yM+5l=jTss`UJxe_h8Lx4!N6#EDQ|)VeXV8e*ZAfVlVDI2M9zukKR1g!h+^dQrU|8;Nqpv^r?1?I(ALdWe^~i5b-10+t;IR+`;BR@|pB0 z;oH9Z`xcx%_Ub<2R?)JR;;aw4m!=08#!~;%M5&Bn;(Tc0*uC$5JKh@>j6fOEa9jVd zBCx8kLf9=AU@rK4_{I19IbEgZwScvt0+r5X;3F-A&p4Z-h2ks)uN%~t3xm=1w?o@x z2a?KAomLYzsUDSW0d+bq0D2LivFo&KkvqEz=v9U+IcLo2O@2g6-#9d`%csT8W+dZg zx(rOc*mo7Z2eODehHvDjk@1+Tu5Ipx0({X9xM>`fBV( z?go4hTEsrz2`*fjoS+UoiBFMUm&=J*0Bu|kTnfGfHi1eD6FC(7Fz81D>4f)Xpkduk zw^4;Wtt1V6kxPFc2$+I{Tvqy58ikL#o-c0#suC-yf2K=rXP;}#)C zW@~3H02U~Y0N7>a62Wa^4ldn_XdF#9R}r$v&GDYV$-vy5b44}+dduN9H3O{X!q(1o zc6L7Pblqw|aB+MXVLF)p7=b{J7WK8F8 z?Cl-*?7yA17R%~%6tO%Er~r-uoE?i|iFU^Vtja!*GSV z8*WD@N5|9k)t6}}vhO^T#APIfczL>>Nj13;VRe1hT-lk9>LXST8y0t5V$vHw`~H2z z>|%gY=Z%;R4vL#L_NK*tWhI{%5!4k)4w5hFgvBLDNHCvOARTuy9e5u}Fk)2v*Dqxb z+e-GDhZoluV-AhD4DlL`;o*t8(Ay97^UW9|?l9Ydt%sE~a3J%-VUw$ylT_Epz=Z zZYk@u7%cN@q;(@%K!id62EZ-y9E6_alFezwuUIht;h#pKWl+;Pv#pnLZ`eTvH#D ziS$CG@A~$#*t z6fvq%%C(k_%zX73VgyLKc9BkE-D-syYZ~j+OER%qTh`KnTv`+T-fL_9s`HvxuDesu z?%Cejul_Z+dLaJSxAo8SZFTE+eLTOa_o~cCV@0bzp5dmnQP&QTYr-nLD+a8rFTI{$ zq?3MEeItf1tODdbxqbf9)yk-kM;yj|zhzZKLbwGXNngfiblZ%eJO(i!J4b#0hxs0g ztM6x5DPWw1BH8MB8ynw@`VGs(K#t^EU!8m{%Xh60g5D95{?U}-n&gwLvPZ5{Xb9pyS(KD3R6l)G02Ab+DzzY?3CGrN$HvHGyO zuCDBj&)w@a0^i-59L$F!LV=C>s(2J_;;QA^c}(WizW@9$qx~mAHoi^S=&&y-K;XIg z)?dJ&_cKuT8Su->Vd-F<0H$3Jup<#f98jKvz*nbFEdX49fPa<@fEkEprCgH#(NTvH?@>93h~KObtU|8yqYOmMbJf9T`a{1V33L1B zXChcEHh`->=(f?%tTdk~qy9#q)Lk94#~69B#Hh1&=!@60KD^go%G>DYb}eN>k+vuR zN`T?m@$aIw`rKI+c3qxA2h8*0DNM3)7Do%8NzP?vPG7h>g4~ddhu-s9wb=4c6-X{v z)Q$r1XgABEW0BmXlv5BRdsD#IiPPdCxQn=FvlVUwC``F~jzD7eCH}n>_KuzVI#QM; zE;kM2Y}mE-~D>bpB5FjK!u!I$@M0fu+C^;z|=Ke-N^BNNq#wZra_AXMPq zY0yrEmi>q&XeWRxi~JqIeSY0S-aVVujGYY*oMR1$f7)<<*~6N=i~7SZ0`IfS*-QcAt}@z3T0NLtt=y><%LiK&hqVt57YC_oF(h&3E)U>8@q?cn`wFQW_r8{STB#Jvxvaq!PeM0T`rdqncL}& z^EDcm8=0;EVf~%_*^QN27eHAChVKyc#tv{5Ov-Qn)93RR@kNB}aLkX-U(W06S*`_5 z-(H=jKm(%pH`88Yyc#(EyTAV_(%~?}^AV6LL(lH!!3fHid5jCqAAb5{V~Mmkeh6G( zQX15se)r?@|WLC*Y(-Sn|IUY*;!-5(im8;{^pQ0q6p4Ta*oLE zJIf)tZKgI)HmBQ2fp(k2G~$<^J_WV`hKK3+;AntV7LU8@)9La$ozmxrhY_L1PARNO zH_64-_1*O5q_WeAc9vzEl1*-_ab}ghk1POoHY{wBZS5czEPa4U_2~ZlWLHL{?a2K| z(T#woS7cpV9vlwqi~wnbj?1DQa25yIot%FE9Kix|?C2vO>**|k;x-NdUBG$~>AUPX zT++CZ+Eo|F;7k-74RM1==KXL}vvV(y9H|!^uTCs4J6n9`d)Bj-zz=Sg%;_y3Z~~>xE~^-sUWi z`;=ePzxxhrW5lEP&*sqaLFBoWu60MMTv-7(x0_$hL%P_e4NJSavD!XAuLa`uO(371 zOkZ)!bouTM>rFbgKe*8%6gG&Qw_+V4KR4-4gk+@A-H=sJ(7kgN>_DeqFy8dtBR8uj z!N09fwP|cVrh{2%ec=Ce2n&e0+?Vws`M7SLH8-0Bvn9sdmlOjzb2w-^v3cSQkjF?p zylEzOn&Ur8;2R74*;CLp0}y| zwi>D5S5Q7&mH=hrmTWX!Bim#B^-j~dqJ^X`6s*T-DFoSv=S<2!c({_eK>-_Kkh?qV!-qm zgWn8H)-SP zInY9>@%PsM7Pprc{i_zzdc8#~#S$Q316c`tue5NCo$J81y4(3W2(a8x>=x{vVP|LF zRkEXq7}QsHDeS(q=xvW`&Hk_4P57S+XkJgrGbPKh|B!;-2I^ZBStXvI*9S;M3Rn=9 zjmP!FWA7V3yXOJ&FV{`%7O3Zx{BsK5&IDiCZb{*6fIxLS-G8=%BNhGf!WWk*Z!BgG|E>Tb_} zzO(CBImk$h-PU4nSR=R+0ZNpg%s&DLrNRBu0%V~R(;|KE=>G`BbpY)t0%FiS2XNTw zIwydiUP$NX`2nh~dv0NuY3Tm;exxxSr?oc@EAZ%KS2W0K z{qz3a57X!Kz;TP}-cH~mS*fu-EBzJFzdHLou6?u+w;+s^xr_bU2@tQ3K<>li<#cm- z9+*6+o|gkatOXQUi{2ie1e|UnqBqmw(VIYJ;3AOp5a1iZvw^~@8sOuvZ!6+{$mPMo zhsNVNB5*MM=fD3Hpig(yu})SNG`?RsPIo^&zZtvddl9RR&6URCaag84efr(>>HKbF zr!p_@k}0W+k#zU-^dU$45eH-ov3~pJc*wZyVgvB(>O^!(G$5rdz7h$zg- z5FEN@%$;}h?%hdk3XlZEe(~*_>Gu&CU~zj9k*SSezWg-(skET}GM~ThrV9 zW!8vWa9|#Sf>0bB?3u3375eL8SZ zwg5XsU{JR@I<^jEkU0u<5D+l00kQ>M3QCt?Q z=aY?&zy|%fnUWbNNq3zM2y^JZc_!R*8)bmax{V$N`H39ejD0UQeg7ma-snGrYTLevKG~oAe-!*m|&4|F3iV zGzS97CfV9f^_N08GW-l=wdSM?x!VdH=l&(IxduiaYD@F53MaG4+f8dh^KX5P-kb(; zWtG%!dN3^?nTT9R6i4Pi0o~2{4M9WIdvz_+Q^f#vsA6M)-^3xEjEp%e#L41LX&)PD zELQcqO{JBUWUkSgUJ#@E=0f9M-KCZ_MiL#!uy+6Kd*{gPj{dPZ!74AYfu++rmlA1A zHY4R#rUB=cDHESFJP@}**dmh%30myFaky=Ah!}0I@3$UZwvH$({hzEKHqS;{)z&0I z`D2|4e6DW=t^?A;s+}IQiFo%Qo&it=pz9iLIptDhNzsEhIui|A{gXs7v}OhzzfG9q@z_vYJtzq-ss_uDS&D=`6#m4|c)`c}Fi?Kwsyh1K%`Y?-H8 zuf{WdXQv;4SC;Z$>%yWjgr|RY{axpPLDx7G?<56>*dztx@H`}i<%7%D{EWGs$dLNE zkA;AsAxXaX+>6Rm21~;^P19YT57YzstTO70&uX*Oz3Sz?HX#xS3G$&l{fuA;7DR%S zrQg+2`;nSaUVppR?s-Lw`j{>=Q30gC_CfDGM;WeHL-)?AF#^w8HC*SGCv zh)f8Cr}+6n&B{NeP$vWSLm{`&37+opV;6O6cds_p?f_I*3^TJ6t379DXMM<*U3Bpr zf+v~br6!e!U!Hbx3fxatHg@KF1KQm%Edyw>Ks^j)A6fLf^5ycsZb3EHl$k69k}M6oEwtQIxB%^o*{BtE3)domJGI{dWV?--tSc5$t__oJAZq8kd8J87md5!{>|7gRB7TEOOU@P;&6;%Vj`k zG2Dg(nj4Sl$pQ<2wwyIy*NyFmw{NG@Pamh9fb%LDa$RF!WY;2A!#}+$vn);BZgK&>?WCD#JKYbpqOH2Ln-?~=m^NaKAGNqMPbKD;}eK7IVd^v#=Z254kayodnvtzRs}IW$+Rud`e@ zqwXZbvcWldx=B-iZ}xp66#%1BcWaZ79+}m)xN}8rmdTPBkX0Fcw$h8YeTVQhhaV$s zPIfpNrvaLAJneFBkPWD@5zY0GN$`b+}39jt?XMwe|A+GI>m2A4bG(KGlw$ zVQJy=BL-|ey|dihpT0y$=@Wp8OXONWcO(O;E%cC+!to^*J@N{yixF8_Yu<^uXufQ- zK9K1p!dPFXYaed{^0k!}#hFEG{g$+?$GMlftTAf~%EkeZ0v z6+LN9i0tofMPRlY$E(R8>Rt7aI6yjYX>{%UbNAfeJ?t4i zvwF<>1~H<$SH+;o)yc`+Ook-#kO~-Ck&SE-miv^xS!-PYc4_YQ$V*aE8@bPQLEzh|_;gaY^*e%A zUp_?Axhg(IB-I^vap0i2OM|oOkXx4K?TzLqa@GBhjj8@&MPg}})ZxxJbEEVCYk)qB z*h@sh5+d$oLmXsv+1dow)BCK0^{=>)ac+pkkKMRAN578^x5nW1Azhce&Xxqg7vVxK zW)PcjRW1vM)t$WQM^>7}Sf}Ryg$qV}g7@?M9blPmZX8^{?u6`Tu2j}Mm?C}G?|~@N z_iKQLIz4oi*t z4Wb0sgeAIfj)fqX+=W^8-i`NuX0jqc{cyBXf4Fac-rW9SRj7`$b%$#i@DIh*lK!6i zv$YTb?CSAK`K@ofZ=8M_Wr=%vdi+Dz%>>1G^rq`rp;%X1b2q;4`ak~v)Jxi2`WYcY zc3_N%P2a29?2h(%e%?Rx%XIsbARB->&}*mNjyZ75J;<<7;II~AfLL&&`a=sKS0ZFU zd;`#J5beSb;N0IIy9VGs>-(8JJP)e_sOnk3FpCBd4nPChBORP)c0Dln&Bppa1dNOE z@OzAZ*NAaoYhWP&w#V5Ty>AT~?oR5WgVhaD0Q3P!K-`pMt#OUtEGNut+ODlYW#T(5 zAxH|6rQKYx07Htx^GqNBU*CAyO+j$ys=_{8;(TjvVEI&~B+50&K#qwg7RJNKp)b^AJq+7g*~6z=t|Z zcBIg3{bhlxtnM7(3Bu^*a3%*$3Dy;7;r>Tly=L9|O~48zw$NGJgZ{Ml9I z?jVrUE-3;6@Y`^5nA9K~6=)ZD(MkpsvjEtGX`Z}Ltt$qkI1V&RP{fKq2 zi1X9s4phUZ&E3igP~HVjj=mmXWkBo*#vN)#&r|o>&V_HK>vo;El@hw`J_o<`$0+lu zKC)|1b#4ZzrCF67=WuT`@X=iA^UL~a1Za0Hk&ptH%yH$gVJIEzeZXX-s%`v9`Uo(! zd);STfDUWhB_NhuaQi{_$i#Yp>h%1a15@qj@5Xv>x7pfCJq~OP81i#>0{6+$qBb>y zlZkPvZ*ut*Kp+Epaj~@9SAW;}cY&F`7Gc&0fZ9%>ELYAw+3V-*-0A0B4pzqjk;@3r zQ~hfPQ0AFM!2b5;YFIWdFIxN}PErC}4$O&NJI(dQVtE+22xuA;0m6ZH7K!bCv!Zd~ zAoHY_m11YH7qB}_23n-*KPhy{V`^=jt#NvGF&!NtLiKGQiV3;7{5-AN)vmAa8^4W+ z#vsK3P`j4zq>TOep9b0c>GP+E{7%n8W+NnAZ?<*=Jo7H}K|u59aDUX}=K6F5e>-UH z!`tIPOGM`Cta~;BsJo5V!*pxsI3Q&_`K%96dU+SHwooQ>jj7lZgyH7)Y&`q&N*e3c zVZ}PyUrt|6TlkDsq{Yei*EeT%;a2_EX928(w}<0%S*31nfS#M->a!k6SxINuteAJP z9X?rGKmBo@n~@_iD!%`G8qryB8+(~9&TnhidNKh>n!yOjcEodkBthW1w-SIjJ--+P zk$azLaC*Xg0oZOLNnDYZ$ZE3lrhC2^n}bM06LhD!EwO@)3h`Y7q&-zmz`{8btP%j= z^%X!ADfivVeR6d?-9|d@lQZX)Yz8_nt~`tDr!`8DuN~ISq4N>>0eb@%Bd#Ic#^rN! zo6mbhwSIBF1AR4CyL1W*;{MUzm>+nSqzC5am4pO{3EdkZsq+Kt;whdZpjXrJ{>hLR zZduzA25FH6Dq}UQ#COO{bJU6LvmBV5^yH`E+Jew|SYm3G}s?*(S0#HUG ztJa3~&D`EOYQ4QrHc!(pYojiLu5Y<^r9EY<8wX@YLc~gOlafV>E1tQ6d~kmoR+ZYn zOm6j&GmF;O#R$}YUlVDt^gg^a*ANb;m6O+G;W2_GJ-hf9n>J7BV{TJXo$AmWt}gQ# zO!Z6TVLn?02(~uTGqNS!*M~P<--rOs5sW!26c-|!J&3|gD3Aw)z0vHt*3xbnJM3hm zUK%HTcWt%nn)-Y#Syb|HjY_V@4b7Jb$@tyhqkLAF2+9obT}#{6FAaFT(BHN()L|w_ zb2?k&c3zptL~Ts&5R&2cG+d3kryn{%`Ey)DZ%6&LUq2Yv@I~zvB)`7#uJ^Cj8bkxZ zuwKImWXRv@1ShdXvChoI0s-)v-L+UuJr7|M%&v|RXen{K){GtNuxp2PXYNy0l#vRz zfBMcrqI3Dp#j%ys8aqga+2cpw%+JUvvdHL%%eX`sXNmFkOp)CL)RUr6aZVput<>s`hc(d{R5VX1^_*>b95cja1z)6 zo(*AQG|EH}eo8q4&+Y>}-A6E7r?#`Z*X*(cTe3nR8tNdOF6+UoMT9I2;?Ns`%64iH z5LO-aKrE06*8=>B)OgP4uAS55*22m{dVHsC2+C#8R3`Ey<^d7tQR5!{XNQ^Srd;XCCa1^pU9;w&f1))z>cG4Qub2hr&BF$H?BCs>3Nq(XNabjeQH%fkn5r&VIc;qh^mG>)A*w$>Vd(+Hj2=ECRsXC0YOl zz;m0}PLarh^N?;99IBAHekl-OUE{mvu!a9+vqdKW#%;l(Ka;E4UwZ|bFB3cgh8ul; z9vDCnoN~<17btfUw?%v}z&XH2g|7$n))9b6o85D63o`g{0|5{o`O#D(2fiUj+_E-% z_HO-i-NI=0oCJ8a)oZPV&Vq!5IAvYEuFkHe{Q$Tfw$!BYq$Oc=sX%Q-3nM+l)im`QaKmH3c>9Q_})(M zUtP5**H_4nPTrLbEab6i_qTr8Oo^{V9FO+ahh=GVtDhGAy~Bg%PQUDR0Q@z%wL$L`T zrEiT;?e9+?Prn3+59WD82bfFsC+pp(K=u2RqljvYc5~?P_+)ywzcuab?~RxMa*fb( zuR93b9Ugx({qCoqhClxGbp-688QVC%JzncoULsS%iaEN;4pc+sr?7Z+wE<-f;A6$ zY2HaHz!m8BdJdF6IC#@F&Mrs~RByys`qqugWf9q2yP7TnzWep+{H8$VWR@$` zb@*rSm~@PDg6IHb|1n*`vL-#VuUiF1{|QWAEZ!!2SKZ@WjlN&q>E}6_i);nNU$|W9 zgMhqb8yCr{4VA488Lg}b&F}P=KzAE}Ge8q(plyv`>w|#%Yi^M#kh>OpnXQIU+C>hi ztwmVx@79v-H)AuySrbm(2R@y9#8u|i9Z?1>n^(JAjqANEORbX;0f`^RM%h|(T6VCf z*6QYn)pi^pJJg-NY>lX%L$|Sr*m+D}JFUH&XVO={bL|BhrT(=Bu&lCV0PveO!zsqfIORd}WBjU-DW8AGrS9kPo z<78bLyYL7^b?pW#xfOW^(*6djZA$4^WEzMT577JMYd$Xn(Rd{u@Ir0vo{?TQkUlI3 z{ZP)V2ucNrXVe|bm_s!RKYM-_3TLt#r>8Rtz+MDDY30;im>aW+hllikb zaK4B2W1Pqrnea^Qe;uDjt$s%y|0QPQ|L-MjEr4pLA8_}hI{|NiyLqre>EZG{*DHbOfUy@Ma?v8%CGm0 zxP{)US09e@yj<@G$P|b@TMkU6xjya%#MNE7uGOa9+KVi4U2?sb?}#e5r`h_D66;PB zNICSD@6}DcST+zR^+AM?8}0KFU*R((#Px%`s7F8c_tXy&Ky;9+;g&XPITJ0`BG(`w zt`m3S`CjUPgj7`Tv`t^F3^F7emO3FIN<+Z>?LDj2Mhod#<$>Pf7H(QBWW$lk1Gu-F zI8GO@@Pod;Yf+ZngVn(lfT23A)g~@TzS|FU zQex-zTk0i%ACRkgS9Q#8?R*Vl+-_kXr+^;>-rQFi-IC1fx2Lh&C1Vm-nk%G>@TFX@ z>LY&MQsbUqf0@==>~@xm0X|xfBMaNp-cE!b39PS9b~mQeh?9&z-@iMU)>_Cf17B~t zhU*L$Bd!74_0?<}S()~Z0>HO`M15ZWO4BLmk^2reoK=3su?nsPn}I3r1F{c|EH7)^ z#cl#x%lb01UuTZ99+t^gikN$dj9A>tRsvf$2{%yn_U%#Na&LML1UQT1^!#iP6#d1z zvIsN-Xm+*EK7O2zPu>Mg&j(nSWoKD?e)@7XeK^_~{c88{c(284Jvf=HYz=EsB=G2@ z=ODo^)0eZe>AP>g8K-VbX0YBOFb;3qjs&HHWM2Z(5r*%-0WzN=76I<#;~`5H#*qX6 zhKm-Lk-Z35!jmjGtAra9i`M4W!D#Dq?dNi`Xil)I{r&Hqad8)b-%kEk8`GmfuAkSJ z$$-F5B=~uHcX(XAkEi|Px6@z!)qfh+6bBc6`{9Ra?*Q?=n+^|80zYQ~#M%9<0qglE z(^+-nD&xEvmPsIMKY5Wg=kpgpzVT>29vw&+AlpqKyE5$xgG9GiH$CShFl7fd84ox& zr~?o|w)C9&$dI?*j1>zZ^U?nPLHaHE*g2f8&p!>2Z(ea*b66cWJb~|0!yW}PyL7k^ zi7y(~jHGcd8MAmpHGK;E{~3;`v}Lu zUb2Xk1{l}**w>z$NE^Uo_5K#pZtl% z80%qVQgRO~jkMR&3y)0?glY9KkpE=_q~F?5&_lJ?m~gLTS+H`j^ir&nII!Bd?y-KG zV=vO}^^wdE$~-5F8?BuCe6m2%9WoRMyw(Cv(Rp#tzVDjkvAP0@sxXc#dQsJ;dqzT)9{W zAD=fYBcrT209smVu{kU*jc0ws3N!$0Aa}8~SNmEMdX9rVxkTP3Yg}x($4Q@Sy|nQ% z@Jsq!LWk8pw-Kivv^8%@z$H+TXA5Uo9TysTF?&hu4S7Z$K)~cgmT8^UBEblXA6-S ztAB~v_$M#!O!|1<1t%sm=$+#$0vdfetA~J9lZyM#O^XqXEv{S`a@=ePFy-2LuF zHmEf9+Uq`bO;rDZ@aX5+y-8at<7*w=t-tic0N<_!^7>AHtMlx_HJ5qVqKFvi18rl? zKp2rRL=N#%wjF*-alQt~u8u9_*P#a|f?L2G($q9=@~0$I2z;$6&Xp7@>l4roEcG^} z*W$Ff6X>yABohPuw-nWw5l>+eFaUul;DsOYL%{H6>>34Ds-vA@L4n+wb|Ws_wXUx& zTaa5gSp|BQIEPDl|C6k-%VeSGISzXhY$*5>c<+z&Tfjc>wXwCF9vcThcGoUby(o)G zm$vX#zZP|hb3b6a)_bWK$6=C{f17gI+urZ_$yNP+RefI~Dt2ZqXrH+A1ja`;pE|;( z)M^Wg#qg#+u}+RfF~BKh>Ntfq0(Nzi5^eGF63lDi>XybN#n(c3*E5X$1~LP5RM2qC zsb4nhTUokpE&xj7nLPH{)$QeUc(APL{DG5!1z+He`s-qPv{P5#TXY3!LW$?s7h`N$ zgSf772MpT&6%T8jqD-L`K{y)EFB9EXn zc9*O-hZdJ4)>>{{o|Ul7IBCKCBKWk0Mx~KZMVB=*Zpd^QvomcH(#oM{g<46`pFp+&t2bw z-a?OHgQb_3eBzs#_brAs9d%q=v#7dnw$Q8w(73iZaazFden9(6K$5??!yX-wXV+4? z&F9AXsAudgSzeBkgQw}khj$6y#;_#lzrBNlfJpsRo48=@^xjG4R~T8(a(>29{qyPK zdiwsmABHvPr%#^;2;1eVwzjPOAEzIG{@dwq{{C-Apz?NYkaG9k`!`*mo-v1$h0mXU z-&_gwH(txV;a1n>%Fk>@{W8LwZ1oq!gey)bew+t=G$bT{$xQ-aXY=6W_O6>?D}MP zo;rH0joT5nDxMzsgaWZv#b9Qgp8rS@0RoIJAlJDDlJJGAn z{l;mzjASIYwe_(!+$I|WwE5bvt?yPJ6fkTrnxR5holuF9db7TKjMuZo>>uDpqdSh zKX<$7;c9^5IkVF0&{fy9M|l-7%6hEt#Sm4&?oT)L#p83jbHvqb1iZU8A}9FbnnTE# z`pf)AA0k66*7J@%AlN#|rL5--%V+b)rZQ6Oj3MUS#;K@y`F%ZL2M-750W{?h3N9*MN;wZUD*FM-_c}^$VtXoeG z&+DTZn6nVV0JgQT@lv=Fk%FFqoX{VGNW1{dGl_r@ zppw}V!eVftFi-0D*H@p9&jzr!=9wP|#mD{z%2^ODN4q!HKg{J;{^R4P>dJCbP3pTr z0+0^iy}2mv1i)uC8ZjuNjoOXivj8Ddb3L9SWvj!Q@Y5Jyt&^VC+NL~&V2(ebPwTT$ zFKtB5y4XY>&z@bawCVM9^g#}*k2S(Q%16jXJ(Imbw#MiBGg)l?w2sahy#D!LYWpWa zHvTMt^ZDs{dXs_#+6^Z+AfgH!zk=lfRC?D?4U2})y$m&we3;U5kKuTYZ5U@y^!F@& zGe9?_uD6fkdY}0Ls-=A$F$-f*=gEL%c)m|uXJ?-qlR5y{rUKETa$Ju9jdLHm7T6v; z_I>AXmJGk`(gWk3kC1paFfL86I;fv#DRa1&bRA`kT)58f^ymQkuA#uSM?KWS&VqiT zbkvFKl-E)pYI_&i$<-H94W72hY9CVJ*`BeiF03rd8w#r5`i2$bmDFep;-t>{+G3#J z5V}Fclv(*m9SceyO}j1XpQ^yXn63Of0cq76X+jf#gMbGGd&gYdq*`r}ceoSaMQL*L zvG}pn3~Net7q8&pJ-f$t&}QG)DP?>&c8{h0ya6Ug9Y^DP)^?<)32E{-(d{gH=6Q>W zAXC{*UILwVhxk8h@pB8N-FCphB4@XmOadz2-zUccy&nT0(&mm``ue~^M7B=@7Mt5h zPj##=hr21A78SZCcf-t9p6%u#_}7QYJdpSbWK4_iXo!jmk!9jk5sUt?s>TMRa2A(!#sFJ_tum z>N7iS%_SH$04*?6j(V2}trwep#*e>L0t7+W}{?DLpMv#07%O z0GEx&`>P0IHK{%b8ux`oV9P1iYrs##Iu2aZra<<=Vtd+hZbA#W*n$t=ydArkEGA#h zPFwJwrgum023b2lKb^jL|9<+rKYpyL+7Wn+Y&ze7@A#FpxyCOr^6uzxS_JgCll*iO==neo8-?x=r?w3z=VTt{W zK3Ntkq+@4yd;0Y0OZ~V$egFNpT^kr|ytjK6viFBC;u)5K{GCCJ*9S;$wk8)hPHkS> znSS=|o9Xk}`H;b(50bC*2&ayJ`~E|O^>Z@aysnL(e){9IwOC97G=2{vUf0@95+^h+;<<|255n}tFhBN(yg{wzB@dL zpgz^d)p>7k`u$H4l>OcG*XnSk;R?f>cHm&sWkTy;*~eV=|a|63PsAE$Tk-lc!idl3gj{w|rmh*W(1d^R1wc@uHH zP7iUn2{;DqPY#ZT8=rpsKjeYf%=0)rG-V*%cD2r%3@&*g@Yo{?~X9`fPxWQSe3i@0Tg ze4Mqx($IaQj7APP4zL@90q`r!^~37HBG9UV2nev3B$&)@*#8=YMi{)m-fJA&=`%^u{ujp6xp5s&eYo2^1d!vj| zE)w4Fbf|v*Q+WN!kPU!woGsBH0OtTXi^fb2n$&$}huzLR#R|N-#(hBlOa|tTAEcwt zModS4BO-t~usyp-&7$Qx;CG~b?M|TBuKXClWXC-S0Kn|r4(=sDIbcmG6Bl)$bh$je z?)YjzsEDnO-E%X3Ag(Ggn_Z9|!|6}`E zFc@V6e|Ys)qs2n}D}*@tlKD!$SmO9K^JL5Ey9zt1isncFTd= zofb#RR2oPGD|K4EH>W)(Opjq{3@R_p9Z0xJS=C=ne5nhoR+HVL{W9E;$dFhRWzQ}G zo>5=6_>>pA1Hj@{E&?|Dftrf|6syQ` zr?$2jA!xw6l$?N&9W&(3E}C^_%b5o)`nx;J7P%h19vHC;)}xWOi>u4Z3iMZ|bepSu z-s>dy-aSyp^+N#r{PubfgIG`i#kklpnfumG^!2q2Gc5{S9PGf5iHT2pixx6exg#}S zlfh0r@_195sNKafFdY!wajJXIzJIu?zjp(xz~)1J06o~jlS!!Sq(nu`YQs)-I}W%4 zUH5$_5PPQunN4}`Ktfk-^^rm9{79g!GvxN`2VD0A^4IsI-Q+)&4&jEF3NI1FtB#^12-=73FYw0-D zaC^7U-;ch!xxSi?-h7yz1KRuhtZ%E+&%S#zcG#cv7rEU#tPS_muYUR6*!4yRN7_te zCgA-hK+Nsvn{VDtPJ%wYxa?UQ)5*zxK=@$9Z%Frh5h+2q5BJ{I4^PwkZ|oqh2Hej^ zKrUd-!m*i*zBze2{k#A8SJTPiL9+BP9UQ%BjCO|G+GetPHZplFlFQ_~_W$_9w*kw5 zWI}Utw5+8*4=ASq9_mX-{TI^SUfhhaeDhWuki{^GY7oDCIhziep91QgD{&hTe*6B- zAnW}6cOv4y|NH+uT=~fU`c5FAr;t%6IuDnv>IQtBMlAP_-^4dor*A&IpAJvnO@H@y ze>=|CIoLn!uEwEuGrn-caR$fB(|PlbtK4OBbzeO%>f@J)!%oEWru8WBV@JPx-o1S{ zy{$j~`fvW@=szw?*EedDOe8as8R&;Y0pt=LMAEczWNQ1m$zgZ@tY>iP+YuKa06ZYM z6Sx<&e;FC>@qu|etoL67*&nBi=HTWkjXJwoN#%QVxZRX&{YfW2J+97HpvHG2^2s_& zkBpPYHzH?&O@P%wdCmcG5T7$(Y+l%yU^x&6G19f(rQg=Ye$18wx^R89H7y-jabweF zKf;Ina|!7&Lr&=)u1kB(T^H``9!-~LAIEd4Q33hdHUMbzxsK}v7z2~HJul$gV&$BO z)vmFb9 z&D{DEFpQ{2B*gSB8lQ(p{o6(LMK_JPCaz?$IEctzwB|^$9C2t)BX$C=ojW5=?56pw z59e4L8(>2X42#%m^UIj)4B(%Pi+S0Ll&9U&S@)H-jC6%W(pN7lT)S9EYE7~v{W7ZX zkZx{N$C#}NW`Ej9uO)|(HUwj5YgxU-GF1I!kAA zSlwBufN2&6vV-uzJu~PZLEF_DxSdG>BA_hUssQ7!B!VkXFZa4{5CMbIlY#LWXtSPi z8-)*e4(#_?n&c~}2daT-f$B3#gGAsufPW?=b81;-B1rW`AYUCu`IRwV6?z=fnEO#UBPlH_beK&TGvIJ!#J%}m5e_1(ajqg$KBlfGTMNUSa0l&I$Y^2+t z&#I5M7&UdNZl1{q@;wLn z(#NCz`n>1OZT{zf!IOUyWJ4SUkjsiOUQJM77C=Wd#1J@hLuy%FYq9|SfIdvc9il@qAT9klu6ZRIz%~&9(qFSo5g!26$>-{Q zUU|~lcI$W^0>t$RsP_FJB|U?(Wt~u81jaK=?N`gmYk8~$uNDkts*~rHpWsY@)rZKL2RdslHvPPh9VF zi>`iF4{egADM_!wU+?KU?eLv?s=o#urS#QnRV+ZHVjNg>|Ip;0<4*Y80)4l2*xu%5 zZJMVOw;2U*uLn5z?5~JfX)M^1C{W^s5%i2BQ+fOhd7YsYE@OW#PlYvV<2Y9)x61hgAK2i+Yk zx2MbM^3+11C1i~f7a+}xrBMtV1~3E60=VsPk6^^Dz(HdtW@0yax$ij_0mttE-|E7O zqLb^1YL!%mq_}zkLej~~q~c-R!Vm>yto5g=2B-od+=cW}T5Bwd7qw~Rr0++6+DW}( z*5BF+>}?G4vligHI6I%-25N7wE~cHm#c<2nsxQM!J=daDKiS!ATy6p{;wWTx`A$4S zoy1QYaIRO!BE8i;7nkSLRv_%|@umg6#VbWAgA}53bhH@3$;Sa1E>F%f*w|SQgmXiv zK@@MJD0alD-3aUT#nssLcj~*0HI{0!DFv)u^g3)>jfI^A%(2In$e43i_-tAot|DsfC9FwQlj40Zvow-lR-8d zrY92@mpx~keDm&PWbwIVRoN6%^D>=99)9)XkJG>ZkAEFtJ{}|&p#0+>z69o-eZdU> zILc%35xXGK!QAu7J}|>&XD7b&h&VDQN7b^XP>7J$48R`^$wFG^X1_1Frv6o9d8@Q zv`j>R1q%2PWUj2Mfa=?b&`%$Kn%*BBPm6=2$k;Lv*nAo?{XBgW8F;u(`!;`m`0UIOfg5BNfv=R_}6Jb4= zK7KhJi}<@p%;_oc(^|8h&fjZHno9!wxgGuNyZ3_#0GpeU*Zaq{>V1+drdJ*>hTEW6 z4X#JkdH~0~CckR-J&7y93DSV;R*1p$ne30B-K=r8Dj1M|Sn;21UA=TD+;gKxi8ANjWyA z(n;wt>A72tliR)OAHYs-=nqzDRs~j+mGz@^WAi1@KkD9^BWVUV+k|yyR34N1r|>e#bK_)E?j3E zB%_aY+I4eSqJjJSba(SkU&-)Ajy#LS$VSj(^U?T=m3f{P)8$n{W^Ei+92+$(5$oj0TYwynfvGU)Sx?A3%QN1@I@g zgQSUR>HFD|!4BCNj=IwY;!~W-wAV8bxL0eBdh90)g2SCv(s$h#G8xy3%kZ~44r`oo z=(59WGse0?0@x2z zLVl}{=XsVhI!q|-?6PsK)5<9-)(IAbJ|2I2H?nQ@fecct9@>iV=qm&XpbdbnzTB^@&A`uf3Ylq9&T|UZ6P5uGhqW=2w|0*mJ0M!1C0|^be?~6*7I1)z%aO%* zH4yO78tse@E=Z4&kyKc~U~iC^y%e&S!0Yi{&(mj8Z$9^1_8Gx>+!<~I^eiGH*t>fy zY>##<8+nus$s=d92^G}<>U zEO+;It{T(rfI5pzG9xS2)-vT)-*Ja}4s@`nFqb1VPUN-IdtDnSX~4lLvC>X50!LPjSu@8g&AfIc?P~b4mRvkt)L*PD_sPTVsOt$=p~`Xyot*bu zf!3`SX|W=A^g-i)l1vQ$)+X}K-a%s`BT)6|12GNKVE+2&KSU7bw6tPxEZXaVbMgmh z$+R@i2xxql0r-=XH`7f7;^gQsLKK0$x*8d)jvUm-%5Zl#{rLTNk=*MsH~5GD>Q}#< z{_w}&MN|$ZOVn0Cdda26wLkxbjpF2REyC9#8Ms{pyd0{?-}{hjRz&0Dr^_jP5!svF zw%&i}8JCyIxvi7c>F2-r+4OJz*Z*a@V-1O{-UM0}3o$`w5o16U5KK_b<;F&?{{QMP ze>>b`2<<^c;wJL*_HE$2You)j?DpS$KY;GH@83)xKc5b_CSY*8{v@~JF<62mSa=`s z-drxGLqY4?T#T9@0ke|`$H&MW*F?|##gD(4e*7k2H3g~~uW#SI9lA!shvTV|M!2L9N7U} znf}w?{N0#S?>~HKkp^wn2AD%?K1CwLxdQ9oNFG}K;-Yu@nOUu?HHgk z2U#kmb(QM+=I*rX>)f8rZF3`eeRybG`p4>a)SSP(j<8&IUDt@axr(TY@u_PfN+;8W z^DfePw~;m*0oEJLL^iIcXQ_gnGji2<0=%s?&CLg!8IgxzXli5DX9zN)PEns6y@_xn z?>&$1;P!+N?FXO{fk`lIq;vOxOKUozad@tNt1H(7#M?yJ?|Fbex2>U@8;|SAH;WEKB6yH|ZHulka)z8+R4a!%LF)HH}xx{)6{ z!oaOo3?6Hl&5q5jwP7XV9yd<+Zl20uH%{TV?mUaxYfb4%*JBf8vwrToK%>lQ+hcAE z?nXEQw8_(Anf%?KrWsw+>J)K7OvD3@XQgADaK4!iB|$GMv-=y%BXWscJvJ~bw_-$) z?WCb++URSIOXu(IR(8*20j_#u9&FIT=}P4xxKaso3*~Z#@UiX#9yZC$S=Jldmo|1h z@A{655Wp)Y18D8@C)OrA>I=AYCj!QYj-v*k8G5~tS>rn3$lCCgJj}$UzOAq4)4?MxVFbs0}!>-575

wCExi5JE-t^Q+h1z$RB47_#1Jz!y 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 z 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б|<40 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%0APAi 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

e+n%UX;7`Gv}_9$vHZ{=b+ef<0ja&?~l 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 z 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�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 bound) return -1; //NOTE: if use small size model, this step can be skipped // just to ensure the morton codes are unique! //unsigned int mask = mortonCodes[currIndex] ^ mortonCodes[nextIndex]; - unsigned long mask = expandMorton(currIndex, mortonCodes[currIndex]) ^ expandMorton(nextIndex, mortonCodes[nextIndex]); - // __clz gives the number of consecutive zero bits in that number + unsigned long long mask = expandMorton(currIndex, mortonCodes[currIndex]) ^ expandMorton(nextIndex, mortonCodes[nextIndex]); + // __clzll gives the number of consecutive zero bits in that number // this gives us the index of the most significant bit between the two numbers - int commonPrefix = __clz(mask); + int commonPrefix = __clzll(mask); return commonPrefix; } diff --git a/src/interactions.h b/src/interactions.h index a23fe067..f2fd6dc4 100644 --- a/src/interactions.h +++ b/src/interactions.h @@ -99,13 +99,12 @@ void scatterRay( // calculateRandomDirectionInHemisphere defined above. Ray newRay; - //if (m.hasRefractive) if (m.hasRefractive) { glm::vec3 indir = pathSegment.ray.direction; float costheta = glm::dot(-1.0f * indir, normal); float sintheta = sqrtf(1 - costheta * costheta); - float ratio = 1.0 / 1.4f; + float ratio = 1.0f / m.indexOfRefraction; //if the angle between normal and ray is more then 90 degree if (costheta <= 0.0f) { @@ -121,7 +120,7 @@ void scatterRay( if (canRefract && prob > 0.07f) { newRay = { intersect, glm::refract(indir, normal, ratio) }; - pathSegment.color *= 1.02f; + pathSegment.color *= 1.67f * m.color; } else { @@ -129,8 +128,6 @@ void scatterRay( pathSegment.color = pathSegment.color * m.color * 0.9f; } - //newRay = { intersect, pathSegment.ray.direction }; - } else if (m.hasReflective) { diff --git a/src/intersections.h b/src/intersections.h index 0cabfcc1..4af7f2ab 100644 --- a/src/intersections.h +++ b/src/intersections.h @@ -152,6 +152,7 @@ __host__ __device__ float sphereIntersectionTest(Geom sphere, Ray r, intersectionPoint = multiplyMV(sphere.transform, glm::vec4(objspaceIntersection, 1.f)); normal = glm::normalize(multiplyMV(sphere.invTranspose, glm::vec4(objspaceIntersection, 0.f))); + if (!outside) { normal = -normal; } @@ -246,10 +247,6 @@ __host__ __device__ float meshIntersectionTest(Geom geo, Triangle* triangles, in } } intersectionPoint = multiplyMV(geo.transform, glm::vec4(getPointOnRay(q, closest), 1.0f)); - if (!outside) - { - normal = -normal; - } return closest; } @@ -382,10 +379,6 @@ __device__ float traverseTree(BVHNode* nodes, Geom geo, Triangle* triangles, } } intersectionPoint = multiplyMV(geo.transform, glm::vec4(getPointOnRay(objectRay, closest), 1.0f)); - if (!outside) - { - normal = -normal; - } return closest; } diff --git a/src/pathtrace.cu b/src/pathtrace.cu index 638bd997..80d3c1d0 100644 --- a/src/pathtrace.cu +++ b/src/pathtrace.cu @@ -20,15 +20,15 @@ #include #define ERRORCHECK 1 -#define DENOISING 1 -#define SVGF 1 +#define DENOISING 0 +#define SVGF 0 #define ANTIALISING 0 #define CACHEFIRSTRAY 1 #define DEFOCUSING 0 #define BVHON 1 #define DIRECTLIGHTING 1 -#define LEN 5.0f +#define LEN 7.0f #define FILENAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #define checkCUDAError(msg) checkCUDAErrorFn(msg, FILENAME, __LINE__) @@ -180,11 +180,6 @@ void initMeshInfo(Scene* scene) offsets.push_back(triangles.size()); bboxes.push_back(AABB{ mesh1.bbmin, mesh1.bbmax }); } - /** - for (int i = 0; i < 10; i++) - { - cout << (hst_scene->gltfMeshes)[0].triangles[i].v1.x << "," << (hst_scene->gltfMeshes)[0].triangles[i].v1.y << "," << (hst_scene->gltfMeshes)[0].triangles[i].v1.z << endl; - }*/ cudaMalloc(&dev_triangles, triangles.size()*sizeof(Triangle)); cudaMemcpy(dev_triangles, triangles.data() ,triangles.size()*sizeof(Triangle), cudaMemcpyHostToDevice); cudaMalloc(&dev_bboxes, bboxes.size() * sizeof(AABB)); @@ -886,9 +881,9 @@ void pathtrace(uchar4* pbo, int frame, int iter) { lightSrcNumber ); dev_path_end = thrust::stable_partition(thrust::device, dev_paths, dev_paths + num_paths, stay_bouncing()); - std::cout << tempPaths << std::endl; + //std::cout << tempPaths << std::endl; tempPaths = dev_path_end - dev_paths; - std::cout << tempPaths << std::endl; + //std::cout << tempPaths << std::endl; iterationComplete = (tempPaths == 0); // TODO: should be based off stream compaction results. if (guiData != NULL) @@ -940,7 +935,7 @@ void buildBVHTree(int startIndexBVH, int startIndexTri, GLTFMesh mesh1, int triC thrust::stable_sort_by_key(thrust::device, dev_mortonCodes, dev_mortonCodes + triCount, dev_tmpBVHNodes + triCount - 1); - /** + /* unsigned int* hstMorton = (unsigned int*)malloc(sizeof(unsigned int) * triCount); cudaMemcpy(hstMorton, dev_mortonCodes, triCount * sizeof(unsigned int), cudaMemcpyDeviceToHost); @@ -949,12 +944,12 @@ void buildBVHTree(int startIndexBVH, int startIndexTri, GLTFMesh mesh1, int triC cout << std::bitset<30>(hstMorton[i]) << endl; } cout << endl; - free(hstMorton); - */ + free(hstMorton);*/ + buildSplitList << > > (triCount, dev_mortonCodes, dev_tmpBVHNodes); - //the maximum of level is 30 + 32 + //can use atomic operation for further optimization for (int i = 0; i < triCount; i++) { @@ -963,13 +958,13 @@ void buildBVHTree(int startIndexBVH, int startIndexTri, GLTFMesh mesh1, int triC cudaMemcpy(dev_BVHNodes + startIndexBVH, dev_tmpBVHNodes, (triCount * 2 - 1) * sizeof(BVHNode), cudaMemcpyDeviceToDevice); - /** - BVHNode* hstBVHNodes = (BVHNode*)malloc(sizeof(BVHNode) * (startIndex + 2 * triCount - 1)); - cudaMemcpy(hstBVHNodes, dev_BVHNodes, sizeof(BVHNode) * (startIndex + 2 * triCount - 1), cudaMemcpyDeviceToHost); - for (int i = 0; i < startIndex + 2 * triCount - 1; i++) + /* + BVHNode* hstBVHNodes = (BVHNode*)malloc(sizeof(BVHNode) * (startIndexBVH + 2 * triCount - 1)); + cudaMemcpy(hstBVHNodes, dev_BVHNodes, sizeof(BVHNode) * (startIndexBVH + 2 * triCount - 1), cudaMemcpyDeviceToHost); + for (int i = 0; i < startIndexBVH + 2 * triCount - 1; i++) { cout << i << ": " << hstBVHNodes[i].leftIndex << "," << hstBVHNodes[i].rightIndex << " parent:" << hstBVHNodes[i].parent << endl; - //cout << i << ": " << hstBVHNodes[i].bbox.max.x << "," << hstBVHNodes[i].bbox.max.y << "," << hstBVHNodes[i].bbox.max.z << endl; + cout << i << ": " << hstBVHNodes[i].bbox.max.x << "," << hstBVHNodes[i].bbox.max.y << "," << hstBVHNodes[i].bbox.max.z << endl; //cout << i << ": " << hstBVHNodes[i].bbox.min.x << "," << hstBVHNodes[i].bbox.min.y << "," << hstBVHNodes[i].bbox.min.z << endl; } cout << endl; From 9ffc68a32d2422474839d904f708cd58e65d493a Mon Sep 17 00:00:00 2001 From: HantingXu Date: Tue, 10 Oct 2023 21:57:25 -0400 Subject: [PATCH 4/4] Update README and images --- README.md | 45 ++++++++++++++++++++++++++++++++++++--- img/BVH.png | Bin 0 -> 17197 bytes img/Material_Sorting.png | Bin 0 -> 18696 bytes img/SVGF.png | Bin 0 -> 258092 bytes img/blur.png | Bin 0 -> 200531 bytes img/crocodile.png | Bin 0 -> 1099666 bytes img/gaussian.png | Bin 0 -> 525356 bytes img/little_prince.png | Bin 0 -> 168034 bytes img/material.png | Bin 0 -> 1193810 bytes 9 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 img/BVH.png create mode 100644 img/Material_Sorting.png create mode 100644 img/SVGF.png create mode 100644 img/blur.png create mode 100644 img/crocodile.png create mode 100644 img/gaussian.png create mode 100644 img/little_prince.png create mode 100644 img/material.png diff --git a/README.md b/README.md index 19549f75..fbedf19e 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,56 @@ CUDA Path Tracer **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3** * Hanting Xu -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* [GitHub](https://github.com/HantingXu), [LinkedIn](www.linkedin.com/in/hanting-xu-25615b28b). +* Tested on: (Personal Computer) Windows 11, i7-12700H @ 2.70GHz 32GB, GeForce RTX 3070 Ti Laptop GPU + +* Show Case: +![Show Case 0](img/little_prince.png) ## Path Tracing ### Handling Different Materials +* Emissive, diffuse, specular and refractive objects are all handled. For future work, more parameters should be introduced to control the roughness of the objects. This could be implemented by setting different probability for the direction of reflection lights. + ### Mesh Loading & Texture Mapping -![Show Case 1](img/little_duck.png) +* Third Party Reference: +For obj file loading, the [sample code](https://github.com/tinyobjloader/tinyobjloader) for tinyOBJ is used in this project. And for gltf mesh loading, the [code](https://github.com/syoyo/tinygltf) in tinyGLTF is used for loading gltf meshes. Also, simple texture mapping is supported, but just for base color. The program gives no support for the normal mapping or roughness mapping. If a object is not given a valid texture, the program would generate a procedural texture for it automatically. Note : All the textures and objects address that are wished to be added into the scene should be entered as the full path in the scene file. + ### Antialiasing +* The implementation for antialiasing is quite simple, which is just randomly slightly shift the ray direction of each pixel at the start of every iteration. + ### Depth Of Field +* Depth of field simulate the defocusing effects that of lens. This effect is simulated by putting disk at a depth in front of our image plane and adjusting the light direction to create a effect of blur. For more information, please refer to the [book](https://raytracing.github.io/books/RayTracingInOneWeekend.html). + ### Gaussian and SVGF Denoising +* Gaussian Denoise: It is a really primitive filter. Basically blurs everything. You can change the blurring radius as you want. + +* SVGF: Different from gaussion which simply deals with the obtained image, SVGF allows us to maintain the boundary of each objects by taking the surface normal, albedo, depth and object index into consideration. + ### BVH Tree Building and Traversal On GPU +* BVH Tree construction: The construction of the tree is on GPU side. It is a simple implementation of this [article](https://developer.nvidia.com/blog/thinking-parallel-part-iii-tree-construction-gpu/) from Nvdia. This can be devided into the steps following: Building Morton Codes, Sorting Morton Codes, Splitting BVH Nodes and Building Bounding Boxes. My code basically follows every steps in the article. For Splitting Node, I refers to this [paper](https://developer.nvidia.com/blog/parallelforall/wp-content/uploads/2012/11/karras2012hpg_paper.pdf). The only difference from my implementation and the article is that, I didn't use the atomic operation for building bounding boxes in the last step, but just naively update each level iteratively. Future work could be done to support atomic operation, which should speedup the performance. + +* BVH Tree traversal: For BVH tree traversal, my implementation is based on this [article](https://developer.nvidia.com/blog/thinking-parallel-part-ii-tree-traversal-gpu/), which avoids the recursive traversal by maintaining a stack for the nodes that should be traversed later. + +### Performance Analysis +* According to my observation, antialiasing, DoF effect, denoising don't have a significant effect on the performance, especially when the triangle count becomes large. + +* Material Sorting: In my original thought, sorting light paths according to their material before shading should increase the performance. However, according to data gather, it may not be true. The performance without sorting seems to be better than that of the sorted ones under different triangle numbers in the scene. Sorting overheads might accounts for this or I just implemented it wrong? + +![Show Case 2](img/Material_Sorting.png) + +* BVH: Using BVH traversal to find the intersection have a huge boost on the performance, especially when the faces numbers increased. The graph below demonstrates its influence. + +![Show Case 3](img/Material_Sorting.png) + -### Light Path Stream Compaction ### Discoveries +* Before I put all the vertices, normal and uv data all into the Triangle Struct, I used to store them into seperate device arrays. Even though it looks messier, which is a main reason I packed them together, its performance is actually better than the current version. This is probably because this way of reading data more efficient. + +### Show Case + +* ![Show Case 4](img/blur.png) +* ![Show Case 4](img/material.png) +* ![Show Case 4](img/crocodile.png) +* ![Show Case 4](img/SVGF.png) +* ![Show Case 4](img/little_duck.png) diff --git a/img/BVH.png b/img/BVH.png new file mode 100644 index 0000000000000000000000000000000000000000..2c74c9a0921097db7f7ad1cff74deacaa6ffe333 GIT binary patch literal 17197 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 U(+?y7oU(-NHK*U|t^_{(Z^69eTL1t6 literal 0 HcmV?d00001 diff --git a/img/SVGF.png b/img/SVGF.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffd8534166214ec9cd8049f6a98a97dd4a22421 GIT binary patch literal 258092 zcmeFY_gfRq8$PP90xHc$Zx#^g0#XBsf`AHwf;8#9_f7~Al_FI{q=pDc4L$VGlqS8G z&;mp{gc3r4kmT^b-|L*u`QiKt=ec%&nB8kOv2f&R>j=Dd8>^SQCl zg$t|#|DG3L=<@GfxIoQ&@$Bi_K=W<#tA2lzx*s$MSrNvlrS*CpJ*pi(eVt&b^5%=4<;#a*QT&hZhGqI3 zg<_iPumOXTUEDU560q_vX}fvK4`eg2FV~&9wPsFC-z6)7p(mYe7H3xu_Woy{A{H-5 z|10i!iVRs}m;Pt30$I73|7RY*k<)?yFT0i1+136(%h(f@<^7*6d~&GV|9@5fKq)3J z@_#0`WbCT+KWn=B|G#=^>HpK=7h1j@{XcyI1a4Vh;@f-MaAsm zf_>%bhDV=;W6mOeR-tx@nF-|9lvBeGXOLlLfv&Rg*+kH>%x+Sxfs}Q8FCRaCmY@br z#uuMIKq_^~g=$b1<$!EEX0EMf3Td+}3Pm11)WxnK*my7v_ZrK#5@oTjRnspy8g$%@ z`FtdMM)6pv4^5@^P&!(iHK=COjT7u?AV5Sbc)y;4lWX0bL7nWBcb|}trdkCWetTF! z-`xAlY?JKEzcVd2%u66fbA^E_qA(Q2Wtt)9h*^O?wIw#6Dxh+*J zamMf!xmHTEL@0h>w~{j8k$I;z;=IO9l@?1V9$^u1ays>w#8P9SLKYQijHUZeI z82Ge4O&|X!{#QbQ&%0gzk+DrC`6~4><1f;1%=*ep_v)E?m=*A(TCNh-4hgK~8jZ^k zxh1cx4q=$6S1I(-J?gEdpP7X!QZ|4Zw$~lYbef5-Gfyi|jqRZrM|tVhrh+){0`JBL z1kK)qWWyn=QgNY`hXQNL%M5EQXJ_X3Mc(ja`O4QXHp9j6lJzwDFHV1KVTqt8%?aC% z+)SRg0$qXVKgg{^u7>DV%BkUa6&hS3?oEdqc|myDHU%&&eRX~x z^N9=X%Ij`h*T>~EGxsa27Wz!IUF!kU#3(A+$1I~yf9_l43H&{bnU(8`?}lm?Qz$`x zpJf~zsVHctQ=k;~^5nCC>HJ!h7I(S}Y7v}R^YAUGy{T45-qk$2xbK!9bIk)k*#Rkg zN4qg>qN1L^^pwv*a%K%TzX2cMhl5OHHk-mhC#|e1kL|5-+f3#GTbS+b**{^@@2#G z1D863`-5B4LJXcW_6MJ=9;}Q%`VzZlT0XQU>^766in2~6I|uX|A=UU(Haa8j3(@LN zr?);3xTR&PSKDQRG+g!d76}|5gT5NHpH-5*JXY!uLTtHXq$l`#V)qt<9&DLS(^%Hf zMaIobgCkX!@NNKgYt=!h;5GvDIKX?ZVfw;vwX=P2E%a;|d}aT)&0pJ}Q*HN8R&z_m zBg*Y6v(qdfWI~37toF-+KUha{V2xvosc^xad6|B+YAcN%mA*K5s=odoikZf|3=oySP8f6uCWdB?5u_;0`?ti=X_1lQd>%loq7%age&% zWWCy;(CoiJ4|;F<3{V(Cdtim_2>D+3Nz#pZhi%1dR8UrXL_0LrT(C%R6_y*@^cphC zqN*AwIZiKqLnYkz=KIq~qwiBhW9ZHbIULGuz9a>_xk zfctE$g=5m={F*RobpEq<5^CpK@BM1T-_>!z(e+01XuQ&p9Q-cRaDDUnuVPijq7Jja zafD_YWsIM?%%Q06KV}t%vd$&n2VG_6=Y>iGP)`K{whXr8iJS5fWL-Ks8+yB8wLEWOFhHdrt!HN9$!Zri3i$1N9HP7^S zBl$oTRV9tltz8*p&WTO$>P3v}!%7R|wZ;1F0f9ahcyFv?%O*#f#N*3v4Z?Nk%2FrN zI((zk7=8|d8=z6%9-M+U&Nz3zkiLF4PWHbDp=fJDw5;|wj`6D|i7Aq5Oq*sribty8 z62F>L5oH?K^(%0AQ%*k54aLlH_Ja~t!i$^Es_fYpT+^dGKIF$bal!6?F(*tH`>#lw z(wm%&FE)X8@jVVUR8M$jDnNUAB4&wjtHxw07$j{_SuVneiU)-WNNia%cX&;qhp z2L1KeuU)%{z_efhdbJ8?bjy2|w-w*rYMp1FW_NTD|5lSC|CPJBo)0ygyY$n;Banhke@hc^4o6P2TTEb zM}A#$PsiNF7OwvyODDz^t@wTV2~7v>>K^Qa&pv7H$mw%9b!S+FqG4;^0NLm7^R`aF8HYQORmhao02J7$kQk=}ev1j?!+h_!| zDJ&YHO%D_@&x9x1mf2TKH~;>)#>E^AS{|&a&Vt&}2B(H#DsQg6@RzR*ZdW#PesbWt zV09rIj1Oco)Nz>1eDE@_JkFPcBUDQ7LqToUh?0$DFN{9!ik55UY%r8Na-+iyRV~cF z`$@znM5Di;wLbKH6ZO~A#BnmOzP)mvaMdYc%7^I)Ow%N{vwhIJ*!=i!9DdG{n^Czw z;6asSURD(@1@#Ms+iX*d7{zzr1Dzf7h;(SLz%qS)zk$GDbDGYg(eFVwJ_XabbHknL(Iy8;i0-Qan*c^Ye}4_9qkJZHjxe`t6yW8%dp0GJhovrK*?SZ8=tl=38;J%t*5n|qr(Yo!a&b>p)$n| zdCexbs82%lAuRun)d6)if2Td@>G#k3j!*)b=)~A3Y`!maYUMtJ*-aCByuhL;=Q^)6 z@r#e4zSM$sC*ZdeWxh$Cl5FNahun40$8n4;%=o+e9OrorD&sfC3Bk4wS}nCi`$!UP zRZ0louK5ao51FJMwc3|4K)PH%)$y72#9t&W z9K7Ud$c?ZoNlAEbo*baz&sZ>Zz~X;Y-y1}Tg5f^(SooH<8?FLosS71k&9{k$@n(z$ zXQUHFo~m{}JSBHvT=X*MvS!Nf3X)Ah&u|2w$QW7k8I?Y<~L}EH{zyRqH}v z8tjc>lN3d~N2ydK?H?4=n*HeR48m%4!Vko;H)D#M`N+{I0kg4A+(Bm=qB@_DjJS|alWoB=n6>&%ou(UBuqV#5oOO4(cCQI z*X1AU1}(&HS~E30!?kJ+Dp)w)$!1PBPAeTX?2>S#dkm_QNI29D<06iE4e5VE_Sq)5 zGQqK%gAPiwY;gnLob{SqsG1V|&4S(Or0ux5((nj6aG|ZIYp(du{>?*2SY>BbM+`wC zJL#P^?tR@t!fQ}QuvEAvQVJ$cU}li9SCh=YS&_|eS^*DImrZhnYHtS3DYlyc(~s-z z@TbQRDs?cOKwpx+OO5woj5FR_d1Z{(gJaSLdb;VA)!kFyv|YgMdqnX4?(_L z8=qoxE;Yo!`kLBZYX@Dmgdcp=QhBL!wTBCGU!P45t4WG-B*gubs? zM8M{(7aF2xHY~MgmGe08ry}QQ%Ze7x^POd!=zKA442>m-Ak8Y$)!9#v(zI}X9OUWU ze%k`!zoKKoDrv=GzVA+2$qHJ(2ebV6QJc^3#rCDJuD}L(gzF!&hpfMPeayVV&ISAe zESTLNE6k2wuX-s|K$>aS)Og@&wR_VaVXAZ$9)7|dJpR}16_{#rG~msc0Se7sLimZq z{zLrWf^oeAP#`T%cx!gT`o#O5Vq7Z|iTmcKe#N3*^tg2l-f~Zek-KKQOJ+y)Uk9M9 zGCE?!KV^(GPxXdawncV+$S2u^aS1-mn`Du^Kd34cj1otI$4bF$TwtE~zIX4|w)8_j zzmANLQ~-`<-R#}IG`7SM9`vd~v5(PU?20Nz?iNQqPlAk_tFD1Gx}-5=adZFi7@?eb z^5|p!md_QxFXnyZbmSNy1G8X_t!XgRSc|~shFb9on*GkU^jSM*XBy+_YiRN2t=_Fq zD%V2m=?5?IhsbUQ9Y-0Nj4fEW+I}IClbv? zRu*$jl!gzDM$+oNa`MLs#mFoI?}_=mFo@(3*-;65UcX(kwb@n;v{}nd>tA^0##B<0 zZ<{@r#B>o*B)WM*yQ)&G<3v;P(*1gz)YX!s>N#dj9r@jzw49Kh@K;h|`N1Sxh{cuDsg1W6W!^YtEI$ znEKom^T7ySMYZmYrat2k>s9>vn~~alh+m~uf|a+<&F)C=>}=0v`Rc$QOVq=i)I`!f zfC6}t7o+RucVg$Y)!rFVvvtPnrC@1l>^ZF4&e97J^8UN0i+zxqo;Ji`*pUAbxI8@0t$eTfA=lwpfTU747yK{uj{keQ60Rr|q)hO^kZCk%8s zD_&XI<~Lv%n?dIq(#|dZzFju-he4J*M!~KB%~jX8owv8$SvhUWjd`L5et+thNPB=P zKB0fm^yiF!dY*viaFCnxS@#rUP7U)ZiWRFhvCbUjEP_b&U6TuuO!;W%Q0~?JH%cU2 z`_xq7qSn^NH$(rkQ&ZjIB3DK|K|+*c2I1X|l*NNGyv_ld#^m_q2{gA-^qQ?%(EMFi8X-3`E?-qXuSP56Szp@l51cgDb;^M*s?+bn6R;a9(Hk znk8YsAX9y-O^a6=-w)l>G?S{!<)RAZA5tFbKhWm3!D`g)j+AEK43KzuX}12Ft*y*J zNyOEEvMmg%EBO7kX!3#WUyuvewC_nZHj;erN5*id0w5{g_~oy{7q+e4(lM z;(naf40lYCc)8*&b6a<-f)EYm{IXA5mpPFhvg<*n3gsZgWbn8i{(0p*2W~M!e9ddG z=i_Jh4+Y4Y`>;dEO5u8{aa{0_$xm$s%knD&d!B}4y<- zV&rjq9Q8KwM)$`R#54u0VfH3#1F55=-0II)M~?azzN(g2_cu|*ZNiIJZAGt{rO_WX zj54EliM@w|sQCb7^JOL~t)9HGi$X7v}RvvaZRRvRfnOI2c7xFKE(TMe%Qu>D}KAVrT>L{mwd2>jg9sMw)DsT z+z-WqhQ%XsTuJ8>wUA4=+g;o}84{1b6k8r5$tx*_)Q$^9UFWDtR95>BbBf?Rq<#&@ z`~AD2f8f$b-$?5@XGH+1rXMZzHH@r+>8Sa1APB2ob((k6+DCdFY?CSdO4RC^=fFOe zQB45i@=e3v=995W2~538>{TsmSg@JEB`^;|wMw6Hn&jv5#?z;Z>ngdw4^va>+7tF_ zZFZ_crXT-8NM{jH20s1+?wUB2OEm2UR+g zz%KHJ;DNt_%=6#Mw%>dO?6eqz*GeZII&06773oJk2I;GHZ0o26Yi6RdEfS$c5G7ZF z+nrN{hn#)E@6LGf+6%1FIY!Oaf`V3Pw>t6FqRal8f#wRS;AtU~w94qUy_QA8??;`X zBKJ=Mr|h$}i1_+ygDoE7%hZx)rir_XA0pCYBkz8lS9sNs{YMNx-HoFLG8_p?XBE2$ zdO$m9s`X0L%{j2OCp7+>@e09wMYbtPb1d?G_}uYeG;Xvw2sVKA4rD+5xR^e#HGr(L z7Nk=s&A@`c`ZcF|1};iugUJWB7M32agPRSCF5j5>TF;gNU!+-2Jh31uD5{lFek`Rd z0;Za@V#G(`WO>=owG&dkI?!$rl0cPU8UZX`9lYys_G!?ml|AM*~TWlPaB#!+gqzQ=P zNFA#~UjTeG&oa71Jj)YCX!6HsSkzAcA;p=m^(bCEro&SEphs|)t^Y)8VQLa}iOOC( z(XAeO%YEU^)ytrC|H7Xp0hN=Z^S2H8e7NEE0>AVpY#a5=&0XaV5)JVixwBdTK>|i* z$V@wdUw0_+9z2-sT9wlra(r)l*L~>haSY@1ESLXO0_~*lvC?!?BtRQoM$g`EeSiCB zDh9G>@hFGbf=J}KowCTj%i{`)VZ0>%xP?PIHgYG3=|-kAMS{`*#l=7m`N$fb!T&}y zU_nYtEy6v^3lmh&s`jGrSn2eNYqbab9SuD|MNs%Fn$`;$WLyNq@rT`=Cr1tVwMt6Zdtx(wy5Q)`>L`@4TKL}j(4rD!wPRyt{~9|@Vb z9)?G_Uw>;r$Iq0{yTvvHFm??&YDKrHa#HPW{89tjI0MFm{%y~nVbu0kfJxbf*`Kin z0snBhV17*`jEP_kZI&bh-Jk~xgDCdJntjX%L;Gr63`c;{w)xVGjD|E*PVxGs%m8n{ zW=dd#b%3}MksR`upQyLJB_ARF_zK%x8Yy%Te3B8D!ph}PfTV3jzphG00awa`l>d#z z%)LhmkpR9(^Lj5E!(=%dT_yT~RVnz|1Wk91d56ED)?6~69x<4%)4ceH&(kpJePH?r z?W@Bt=l%?LbI7E?+b{byz!~VLe3H6Doo82~O_1VMk{BNPieK@6ny1@oL>xPON3|LV5 zpeHfVJ-#!#&R{TQ33|*&S=OQa)#(VXzoeA^XTF=DV94Bh`wZh6Xiv1`+g2ZYo@T)Q z0@zR%n#w~i?MOf?5lJqqJquaeQ%i3$rQ*Rgr#-xP0N9R9G`j=Vf@%_;-u!irBIuL#YuUwQJY(LNoVV@*7_}~l^wsiK7m6hh= z%v{F>sn@J%;JP+d=4&imY)5_uin*r}Cuff5d zWIDI)56H%0{prBQwC&o6e5`6k%M2QdQE@T&vwfwI;BJ@LhiYyiP{g>lNN;dSlDD$ZU zJtGaDy1qR#+2b=z)gE;I^EO>u&@m*Ae}BwB6x?!TrhrHCSm2iV$B=fM z@+lv4}pR*o4R8=o+Te$#=4+SXf{38I$%3OH-uakmi`+oa3-HmK)+(Ze*w+tpW>)@Ku zR$Nokn(M0$FR4|HQv*vBtV6z~A0i32;OL|+4w?m-`17RwY~-_KX% zJ8mdPFS^fg9*<~RH}%}j!MZ&pI@%aQu5CM>5{A|JLIDR zy@_${XBz0#ye|+M<8@F<3w%=C5vjpNnwxGggRPy@{y-7`)thMpD?T?9+QFIF_I5ia z_i72qc=JfXp{9>YMO*cA2Iok-Zk<1~{aBw}D?SY6Rfie!KxUGKRBtwW*YvoPv{=e( zjj(@538avb#Ue)@k~ls>rijlEwaE39hK&nzp#V=Bhg+sP zp)T28B&Lp_%4Q1H^`Ttmx2wD7L*AK~61lScxx+&`luCqBzqd{tH%Nh>gz{$j6k`uW z<#|I#zsXrMcviS@EkXbbs5;!r@trk`f?@fL=Ehy!;`h}f;y`9ZB85$-5k`CUg$o6%8%VF8uX$1TT0 zNzLBVWxQWOr@5eFs>qF zX*SJi>_|_VpGyr+WVeHGSvwx;W=lVhoCChsr>X65lBVxUhn8wT)E38$T+$X-t3w z28NbyEG@Adi<35RHC*?Th1g&B^xXFgeFcmUMn>C-YPM+Uiq`uwrH%LJs%F2n9P2n1 zc?i^;eoCt#jNeR^@FXmq4)FD^$jkPmIS{UBr%=1E*cf0v;Sq-e6ho4kL)DN#NJ;RJ zh|EGn0CGB&=Vts0$2tTQiC-$XCjRK{c>;<3y4h5;JBGtu7g7drl%*%)TWWkORHy-` zX2C6oieg{B-o8>caa}?utW7x0)HcBDK*|HymYEVs{pK^(gNsMwyBtn_b}e0^o}9k# zE;(I-`Z=$)Dy^LIy|O0Ot5t;pYH+Uo^?#r&^FWTeiaA>@r`AzlR8EdFyIp}E z-lj_a<`$lEF_;+p`l~^1+m%x8SvAH>0p-!p+Od-EE+sXaF_R6t-6KyVXOvyP)n$YL zmX6JoGuzKlSme&kBkyJ(EcY)Tt7RM{_nTkv9nF(HuU+W0+@VyqAo=(y zS8%vlPMG}p5qQgtr;EeJ{qZb>6PN}jpix0?Dd`$y2>sJ#7JcZySd^Iup=u9XL! zMyu?lGqyftR?_y?n4=l^^9WwJ(puntSB9YLQ-a?Yw$1G%27l6Y9V;pdHy#cHKnDj< zT3dTf;tUh)r!BfAl|CiGOc|GsvhZ9oRdJ%2T&z4STP<&{r4I?KS)%pAYche)IQe&SBeWqy3TpN_I(0xJ-z z{uTc`*L{Ak$n-wK5+dE>bR&f+!@rq!ME$R@gfDr+d+HKN9VV%!otdQ5xyDH}U+A>P z+5{h*VCqHDRum^b%74KB&xvv~PBQfCm8JHN6N__qi;w~ppYL&fksbtJ>HNsnh##&w ziAzISotNgnYM}PODty9;mx{H8jInWi-UUY^WVK3`S=pE|1a&=kq(78%6ms?oYPe3t`OCffhN4ul-dn zp9o%gS#-2Gqvh|2EZurK@;<`auAW12fv544*C1qgV*jb>8S`O7oTls>4H#8-=~sytN0Qs@)!Io5EJ+b zaUW)LB!pJpy(zMq2=iUIi2A(V(D!%jYg{m1^uY>_YhzV`c^ct9V7@B9hTJ;w`QT${ zyx4+14hi|{A-lX3btKobUsa|Ly$ngC{>RLLWpfS)Ad2WVfcz?*ATBwtKjHkd-QFXy z@{+zSLG4{KxR(R>Ft8DRuJ+vgV4D?t(K2{cZ9Z~BwsKR6_j*-D|u;n*@dy&fVRKWvBX|H=Dg6h}v-KF-Z*ohkzZIu$y%4&Tp%uf{1k9(r z9FtXi#nS!;CiKGVqxuxKv&4^?maj^iIv-l+&p)`&`FM6rXef1ZSpj-{{Az4>Iucy8 zS}p$^)afC+usQ62ab>uzkY)lA#CJxnz6^cYG%<%+mT&4*;^XB7G6q8Ri##P~e??o4 zUs6e=aX^>fYwc#vcq_lbiVJyQbL5bcpuAxbp=IfEjLuPE<2jNML5w_XY<^ju^v~TU zR?+e}!yjz(KO5CaBf-g2&aXWTKR6Jb=VMRFK4V4_$;LbQoMZez7bo}%cBzD^^|Wd_ zmU;%F4rSOL>0AX6iKllG@TWrk_@yPQSN+T$i41aolCz9%fT^t!W z3cmpwP+7V|1mC5&6TX60#XK8h4&(TY0F#PYr{n;qJ(Hl6R&|+*pv>ZG0230(V3VQD zj-cvw`hR9V(0{d+Aek3!`0v2AU=1u6aJu%KnDfTc`-cw|4y*j(aeMR6kFp$FU^{=c znt6+fNzGlStUCRb%EN3-CZE~RBRleEz?N>kNAZt6~M7yY(BK+IQ%}mnBh^uf1R7Z`7&Kc zd)o2!3ae|Si&~9}STXE<^ReGTKp6OR>=Y@fH7Lqx+)0!9o6y;|dgpz-kDn5+6SV2# zcJWuscEM#1Wx(t5CQHl2*W5p57F+rHWDb9>^Gx#t-?sjFQIs_IHRpY) z@~ub{(`FgPi1?}Q{(Au>A^xJJ&B860*PIsvTMOZh&kDNth#Ad z_!4&YfUniRLKBcPd@a-mAqX#E-B9nN`49?-!rh9NSJn?|A#VP&r+kYqQ>Wsbt(Y(A zB@oZkav#y`?%&&=DtK#&z4i2XLb=;?M+;)9>eHAcLU5FN1;{1pZ*tn;l>40xDn;b}H0w*qp3oi^YKT-KfDB;;cWB0W}<>CE$U z2tl*=T~4`{kyhe7-+_LeUO%?+KW`q$Vm)gPXhGZ^ zF6+z5$Ul6%mDU5C3g%#CPJJ7Is(-Kx->*x z=B$r^ED}P#&WoJ-6FZly{{daZ=eFH#-AN@ie#cer7g{_$Wt>L@8+JFaWp++lVba{c z--1jU@L+DYl3rrC?+V_&V&6_kG?1C2lv9(>#i`ZmB9cU>S8AOM14N*AbOs+x=8&yK(|AT7wi;&~q=6dS8FTw*O z>^{%hpU`twu0EhEN(n5bOwR@lAKwOC2Zc!ciUaUY3T$kg0;PV|);*uz#zaXu&7`_{%1{J|)uyjWE9n&%0s~`k88YI5b2$E`Rd^kgJ&Q{fA3Z zqU(G%=jAom*exXyr{=enB7-AuI)ClsG%%<(oqnbu?0W%t_~&B+l+pu_h~Su$5h%3@ zm&*mKYid=^dxdDUWv}Kc!wqXS71C3CzGsL){sra*N6X!i8bE=UC z{`G2(%$CRM*=298sT!WQjn?zt=#3g^hj@~15X6+Q+XZK=P!Y*#;z z2AHWxs~a~5i(9+JXDxvp^ElRQwv#|4R-MkBUr1}<7;kd3IN#n))8a#&v`$fgg5k)F zVu}_}4zCb$9M~<#i3-`ozKLC%n?FWFkd;35Zt8<&sGS%rLnm>5;lNQ zJvY!>;>+dHrhX9!{%mSp211xHViyb>=y?Mc+508g`y8hhaO3K{X6SVVee<24QRiJ(u|p`$lr$lJGQfuRYDjK-LH zsQGD(@>TI~e;t*s#@#00qHc_Ed-}ZWQeNy;Djdqe2GkGV@vU+nm6Jx0dZ$|~%(Dxd z@wD@+gYS0#P8D9C7Xz0pmreS|Hc1>pO${YunrYy{O_7n&+waDSeL72u(KsksnOpONpUt1 zSpzff;3d=gK=;nUWUB;Xkd_u|Xf$EJ(_M`GkB47=3n_|P;5yyMN1&n(3`(@e%`_Sl z^bD2Kxiu+jq&0NK9Z**p$%&GW2&7w&y#Sh(t(u+h_Ey5T^2I3w3( zJpcL)~Nw|yf7n7lD zmyV4xc}XsKG@q?mu*V*ll2jl)Nvb}!pj*)48cYE9iJB%NqYb+~$Pxc+FNV`zSUq7! zpCI+M7ufZ2&auj?Q;DBzVt9kklkBcg69aeow%+=QwAu--!9tMP1xuSM_b)XE{asoL zUH+H>EG)8R_BZ&Z-+FD9u2U-JF5=iEn{?{4ym^9}VXh><7M=8P>DspriC!?>k5G<^ z6a2s*xD5U?IFt}H=}i@c0UCZRprsbc#rap|O+%qDWXcbwatdr1?oe8!)iBiOnA0U{e;H`MSid zQbE!nJIEMr%X%iny{LOby=v2T05?)8s!FG53-y2ear3vhimGPoSs$o$=vNqElP<%~FH&(G_XX*@Y2-3H%@tc#K5 zFVC)Lb=q5oMgaTY$~gRsB1a6&dCHexwoaJ3Ds>fyR^|(w|1TUfbvec1p)4`+MkM~!iC9P~4FQVx zTd!O5h!3+jy?8fI|5N!}?tBx!$7i1IUNNm}o%;`KgbGZ-u6e2ur>1E92S{Rkx%tx1 zQTGM#(u7)936#VYC$@0#$F9bLM~7s?6~19W41%4!q3HO-GtMR1wpR3$uJ&;b8#1Fy z+QjrqJo6IjGc%uJH&J%zxr`3UGjgYgf}TUg_a%p>a&=?QnQoj63W=9tggtP`BSBs-*i?>*)KikqgD>d+7U>Wc+hgbsk0 zKj!vE8}jK&JDQ_A;u~_G`+qyyT&SWKP%M8Kwi+EIws)Z5N=^w6oKqSY+AuGkN%nXk zcnmB-bLP~ovK>LM>oBQdRgdY*Qn~PiF4mq9!F9T-WEk_3&a2Ed@Je#fOehKhA_QKE zFUqN1@#O`v9m;oM!+z`zVsi*@wf}{`gY~*wIP8b*?Tjv@Pu`*mw)I$oLSK2f^wk0v zmi9^ayOi%o#tD(1&5z2jY6Mj1H|D)#)7X3~&+a0tf5krT!H2~bC)C%;q8=s`xk@Qn zK~iLAVzo79b+`8lV^CU(qF_hEyV+9-&pE%zrJvI=cv=JcxFdw#wUtguiwxCxoQVMd zZ`g2S0C{3Cv@SVmEj~LW$8}Lz>&UZHHPW`l;vXbk7+m=Dy)^i`3XssU8(+ZeB)n;| z-%IH~9gMeQ0o#cK7E?WxyUaqOgA8omuC0~IqYYb!*?)l#SYCu(05aH1?HXADaDLk0 zpV~SBn!0}&SKS!8i{l|2bHt-N7N4}D*H0De3f!L-q>tMLhDwV+ z=0;&R=7iq}L-}I{4h*MT6l^abIQ78h`HmdB&3WOZWNWRDe#4z64^voTr*o+l%> zxM2Q>$hd*N)$tGB5*TEGP)Pmd4j;J(g>jzPS5Shc|J@+ zux!AliRj~0{nCj*fRFJ+MMqO{`KjC7CaMECZ~w|>nRGKgqY-#tK73`OUV2Eh`&0_X zbd4Ia&(?CwPoFsux zk|Zc#DA^-wVubldGh41QN+N|%u}|l|)mnb*uScee6!}ygX@hn6cfIHzjo3n))9TZ& z&Y2wU9i>b7O{b~XA&4_cI(>l}V*N%=yOhKZcff+URp=|_U7!7H4<9^&Pu+X>iKKG> zH_s8(LRb!_dJn+@35b=OZ4k}h&V!rbT8Yps&Pyf^JG6OZfy(R*nvwLlH50lR&*+{^#g1N@A949jToHp^`N*}C4U-dTe=LZRIvHkqKZ3W&Y zY9ULdFKeV2brlt-67SG7jBE-gvL{sC1JK_KX3Fr;K6&EYScV9>W(z%D<3#Z!(8;gA zFZ#Cd?Fa138dhQ6#PK#+LhSJ;K10&`{V{U2Bh?tTE?2vgAAGxG^OD_#RDa)XJ7fRg zZGCbR##L+e&t3TYN$0wU8n*%zU8TTI`2cE;P19gah1~ zyQ4cIIH&dsN{kK+arx{2k*?s%P==4 z`f3PNcwyH?+WoYCJ{YLdzTx8kIO?7=adrArxY3yNCE1ZE?%#KxF~lp3Rja{Pu77@F=HBG4nuQ>jHULdCeu^E{cmGw5mX^NY&$UZAGf(^_F(sVXWm!>OkKIo6tGgGe zcm6JXS?HEG*+13=U0q=+e)_Q}m{IS?)W!_=09WTO{Bh2pQNGqqf6`0?noY33xZm1i zpnxkwqwx{1{~LwumEEk!Ov;vCvpOX%g6Dpco;}2^q_;Aa+u8p#^A4f9B>Cc&)~)mH zF4mR%rKWx%OHxSH@XDj0|29y2eik{G>xQsLPn)k|U4XX-4|nU-i%2j`zFQsCO2Q85jH*Cxo7Y z@i`!V?UPnRQUBhOU!rapzoP=90=+~Q|jePxBwogHYbl# zRP1g6D9`|83f9d9S)y-#%-|*j`teshpDRWxr0UFOSuy!y5RZc1^{AAtyWso47KK7) zwZY#Tk`}HFW-hju{z$O?&=D{_kWp!pt7ut%WLSKB>Z^Vl+d@jF zMt@}@3WR7>#XA%Jjw!@$csJYn+1KbW|Lh4cvx`N)F38jpYciR8W>kv3FI%7989LuM z`Uu<|=vMKu)>vcx^#s@2otg-y`E1Eeu(vL^E`O{v$m4DVf0?>eooi!RN6CVKyM+9s zEIQdL$b4>=4}v4QK$Fvp5Y@wBeIsgb2>9Tn&?0*KjqbzJ=D>8+WB8<#5?_nCF2ttI zF3#-7RwFT)_>100YFwXbOY_vf+^!{|Lvy_>oK_`o>+_XP1x_GCS*GSsqMn;Vo`62h zKB_|IHI$X>LP*JnFxg%Vm4%|7LM`Osqg}OB#PwUrEmtS-R*TpOAum~U<_o&C4dGOc zJWVq~cE_u86}{snVwL^V#?vQ2fT&A{S;?nJD_om4OZTQ~WTM`fylUnPSlG5@-p6E5 z8m-ZHbJ?5f6xMBH^s*%+;n7tmcRxn`@F2d3wX&uwzsx@i2QO1y;eRh01-y&;y(yJnUdPMT|taO}4FN04(1n(CZ$ox#-@B$LY zIs9S<9vd$D)8T-h@*u zN}9zI;m5yaDMtn)g34kjWu6CwL-ah*;#>H!Otxv zb9!|mHzQIPXg#yN^2Q+J?4M|wKF?TL0L^;JaIv3cm9{dL$^fREK}3A5GJcYPnP z2ypZ|fady?MymtumwJ6=yp-%+BMGzL=5bv8M*ZB3p#diiF zcR>n`80@1XthV#kkrMf+J$jqL{Tmwy9JwW)PKBo?%#zLC(%I*ceeDN#Noz{%zD#*>x;I3Nfs^dfq%k}Dy!g0r9teS+=a8623I;S|O)^x1b*^v^P@mOfFui;|%f2K$eRU}*ga34v|v znI))T^eq_jx_s!Ph)DB}R?#Jm$j4{3E5ax&HD?n_s2{aJLL(a3uH*mvdG_KF67|Wi zw}JX5Z!Gdep{~o3J0U8^NOr?)zo+^>NBB!`)c)4RqZTud99R(OQ0|l)oBHci_CZM! zBkV2S4bznT$j$KPCfO$jfzY`c9nX!n5+GkYrKg`tz z_4ozXNW0h^hK`*-2%SG&ah=dFH1dHqU0MF`A85lfwjW7!q(x|`&K5FPaaYH$1F)uu zvBGmO4ZSG1pySYH&pKv-Q?D({6XPS1nL9b478YDJ$F0Z!iDxO)k=!_-cgMyYp4b*E z)8bVLo}CNzU3sxhaRX6{B7HaW&Yai(o(eORXnru7Tq`-d##$B=<*sLHw*B~p-Z$Jz zQa8VDlXrk?$>lFw;`GG{52R-*_|Uko|E!&&s6OP2?-ISIZ=|r?pfg3$IKf#&*|}rZ zQv)H%GW!0WJ^+$GvxE469EC0YQn)eMCKHRbj(`KfyakmN7-sVYh4#eSdwpY$!XNDubs?h|;D$u|tjf(#Dji%o$aKxv6{wE6N!iO8KSE0|fj^ z;1^7R-&H%T@m9K;mzI^e&v^#o4U|f zb%3*!!&X_DTN~BGt8K|nEYYbt*NaYvKKF#=0Ksc zg!nJ*2+P5hSO8!1tkQ?%LeSfHYh;q`ne+rK<<59(coG9IB$Mg%_G;E%i{<(r-`YLF zOA+pwtEKxJY(3GtS*ern5aj9mNdS9-#P2x>a5}Y_JLxyzteP!aiOgG;SCain6!7#n z4LFpZEJD3^^`(IFO7!jq8qgfE8tHB?2SFcI1@Q+?W3|bFFnd-nly5 zTJtuW9wwR6`;0q1^CJOl1gN!Mw~bOj=8kTbd!3z9f1OpfbYm$SoEZ%BFX5Ho`0|Hl zA`S^6iR|MS)c$KNk~ddO6KRTNgS16vGIv~4v9O(t9ka4VjsghzGA9?=_qcr|{lGQH z*jfx_yNG%`yD$2G(U<8l!f<5f-w==kyKw(+%G;i_ez%FB`EkB^Y`fHC-2KXV zlI1Mfm{6I;O_TA1thDU6Gq-j9VoK#HLN+l7|=auwK(*(d%GCYaS2vBsS zB>!{~o6x2jkny7=fIpOM;xlGM0D)=la{|#*uAY8O&%b<8b7_o{y;)T7&Uik5k(_zK zZ(3@74X)wKTuv2)-=tslUVr^x&6}h&mD=oA zP1Z=_4Vwo_GGID*ex4$Gl}juG`gwbt!V|f*Ys|e@mEeu$-I^-(gX&3!QPR!i-B7oA znDD8{YfTNEN3CB5cufJ~<^+^AixfPAcDxl)`|p#TX!Bs3{#B4{XAXm9CZ+8C%185y zAC-!Z5OX;%hn@WOXq2D9Io&R@*DZ!srV{cJFRI6+5*=1&pBukOeB~5 zEpu}&aCTh4Ro(K-rfSRfpsKV{to;7%x(9bG?X|suCF>MasOtP1hO*h+jOw=uXFgwb z)qh;_?iw6eojKuJIyrw3N;Re`-m2Q;*60|5(4z>fgw-p8HmI3lMd}Ck8;_Mog$(tu zz|V(4vVRZ#;G#lHE-|^QL(dZ!9p1;4O1^XTyB!Vzp>o#bO)^7trNG|l)%UAEUOE3* z$ZN29t9A^oH`r}y9@skTjmyE?-KgSiD*JoJ36x#~z>$Z5S&YVC{|Q6B%--3WAi97-IU5g~5&bzd{trcDVuInrpOUjqr}6XJB=lXQI)h(@YLb-|V8w-ZAJv zYpFn}d>;oENZnkI_3!36fUK$J>&~kDYZ~r{O~t2q34Y(bZ=>8}DPK_0k%`f+Hq;S8 zaZJ3&bb$-DgLK7{o`;d$QdSU#G2d?t zW7(!!yR9&Mm;O3EEkb8m=LVCpH@*|YB1eK8{!M_83OMS7BOk#6Z7WIdNme)Dbyv@e zS;iUrrSxZSMa9DBs%Tv{wac6n>GyPM&o`|Kg54@LUnnm8(|C^bo9geoCR!Rkp54SU z-bzWI=oFQd*jg}tN5Qs1@zPhID`{C30Mel^trRh*F}dCIHx!$;o;Q)UTuY=qqFro& zz4y0sF~vtNV$M=~@>9i<CnA7FtwhReTP#&0id1Qaa^ zb@5p8;<$S_#Q%Vq{z7J`-zNTfqa3sEv+CIr%DzBJt7zcTvmc#FpH(|hleYISt!XB) zw)w*8niH7yaI999M?WuVZku%JDjVXje(bJ!CAL~Z>WWc6rDovgn4apT1SV{HLkdta zY0^83@gvBj7MWL^Qt)DL4zELQX8y_u*8~aU=x4P?Fy2j8m^u+dxM)EFxk{}^(^}P- z#muyLlGyNBrRVJQsLjQEnhJPwyKiVe*mGEeMYOGPd@p0>M;S}i^5W!)?_{pBlrgBp zBHFG?j*WG-#&D6thL!JpUqrC9RWo1E5s|H* zzJoVFuo?%q(TP^4_*O=pfv!sGk7h=c9o;>{(d)3*C?7tc_pQntFg*>b?l7e~~)RiZkyoj~b8ujpebEDOtGECh4FJfgOp2oyWUneD-^FJo2 zE%y2h&p$>;Ue9;>=byxgrZ_v)`PTi$1>SV}I-u}}^Gm(R&Qpo+OYzV*EJ;a)3)HPR z_7tR(-QXWr|)+GOOjtoiMj4$N4ex}JAp#fwOklMZuc*+ znHNN%bqtVKD17$#B3Hx1akis3mLCA~5@^Sdk#c4UHXkE z-4@z{LNl09YOlTCw^w$7%PlvnMkfwB$d~~qqJ=GJPxQ{G@KCw;UO=-#AC#aNGF8ww zW$V#4GMx(bD=wtd+a}9xD9A5MO%V{^-YNCo8J;gH<}G~wT_IpbGTpx1U~3`1H0jpS z{kiYApSL)8%!w!0&$>qVe|OvHZ0s6;bkXEr#XQMPR{A@wKV=lpm#%Ud(3)3>A(}J+M$k^iEU{7o0l5Y*y14j|KjGg|s0bi>@OZ z$Y{^*!Q*)n4?e#rD!S#kr2~Fiy%GkH;zs0<`=MeUO=H2U!AMDmVpA^Q?q-E%dbIbv z#N%hrpx}NA*B_q5wO_*wV61YWy~#?%>y0X*L^DSL;uvcwww5*1x_!xVt|?eM8PwzWa@Q$c5buPTG>wiS*yheE1BcN)fCuxm92AFH6H%MzV5K+iM2yqfd-_A?m1=>!2eq(b>-^Dez`o`ahABj&w>h$I3 zb42nmkHrqI?_&pvRof#y>UYF?{4_x(-F@wg!_3Q?X2VmBfc1}2%`kQjRhRVcqc`?Z z|GL)b%!fQwIv(;7W*gFPqD?f_+Z;WN(f2%2D?Hz~D$!rt{pN-^=jHmd7(hvPZ1H`* z*4XjcZAk8R_%l2<;VSIS?coTcyx7uT(*fW6ja^I9|E%6ycW?=NUZ~q{T|% z*d(>Z-C=H|OXq-j<*fv1N;6)GAJqQY=#p~}<4(s*K=}|C&b_%YC4IP{NrTAvwYBNO z_c3S*LTfn#)_G-|6mVc!ogFPqygeTti+d`RTitWjU@@KIR@HSGM9)~)ZcdK40eL_a zqqi4r&!%UMiYFM;?5sy(If-Pk(apAL~M9etx9-p&cxGD2P%q)Go>PQp@-DJY&GZc`n9oh zd1$Vhk@F*s%W%j7f_fYH_}he5Q|>is#U=Z5ak~-jwQjztw-GV>D>OqnW5*2R*#uB` z{&R6cftu-?JlUiPVcEmHKOnZa4ZerC9Kikj!9F^UI!3G9!?YF$Dam_hPvJh@r~=U0 zO@L}D?P|NE)oOH#s>A_k874Br8heQ46mCsmge zy5X&~U^JM%IOSLD_XVxg$lEKS{&HgcZ`I=fky2A?3$!u#P#A#=#?bw(u?cvYTi*`z(sUowz z5>{11ZACe4l9r_?QL+mL(9&;6|098=gdSRsmx0q?%V2){)E42&r|ro25p&m+UPW>T zQ(J$kZ^Gd3yCO(bN=mY#y#I%TwDWIX0uZIs?n`E>S7o;M?bDM(G(NmdZE zVY5y@Hvzx!Y<*3iOC`QK5d>tEkD`7azb3pjMP*t<6# zHRq0-+_SHIEsR}X7W;N;_gRdtMBENVeH^tU+M>6&Vui1{I-x7|5F{tzDp5yK=cBb# zp*?ywy(?ND&fKtZhOQ_Zi@8?Mze7%3Ri%6$;;HoUO&w{v<+`IN=1p0^8Vezvy^SvUub|1zQ-#O7^mWQT!g_q1qS_M);<&$~=!pALu#rU@gpJGi`C7 z)zbiNLy%BpT?C;k{sNG$+)|hBP46E2exyZED-Z_uZ6s|cwGm+&i6ZRYbnrTv5Zl#R zsQPm+rI)(QcZ6Xgmr|X-*_dyl^DRBiFWI)De(z<(ifMH z8K>85ePl1|&Fsddwg*STGUg!%JBeo;>mMJt^vs_ezflem6Vw8FQacpolq~jFJjgH}E zSI(M20oAX{cn7AvPu%Bk7QTB_>1QLZs}kKEBRv34uxQHHx?nlMV1^|;>A3cSAxpeX zlRv$2K#dq!l5Lr32&R^~T$k=|L`AcH!*2d8p3^M4M(YlxjeG0%+H-d^fZhdS^1{u% zmHuzi=(j6_d*Q}iUq%U^Qt~`D!8Q6B+vt(m(`@qDwFh&K*a4S6?uXxgkEhET{L>FC zJHh*n@_Gj>a+tUn{d2?bsfJaR3a+2Pt4Fy20`pb@u=%4wkVLc32e$g>qJKP|QPk=! zFq9Mz6O#p8z;Eg=0fAk}F#HEI&eMuU$J48<4*X0BH>!I-sou zF;#)^weS2%4vA`ofrI4mj;LXlemcc8^`5#B_CKN};_id&60Ij2YsyovhEFcCXrb;L zr8yaO*aM6S)wdM%)a z2GFs1)ZT;1?*AyYZF+G^I}eC&EGIjrWD#sb&A)^D%EZBEC ziCWO?U8J))nMBK|d zbeE=MPl=#?yQx^B;Lh&g=vT}2$Zz3UQoDS6CR_e>yu`sK60H~ibk`Q7=Wk34=xs|z zoThlcpD0FUc6W{8yKOu8SF~p)Dgcv_s3ezvc))6isG%xOVOf^1gAr5Lxx+x#Ilt3m zcIn^;q~UaGH)?n1D%ndo5-}0Hk>4Qc5lK>d>AJ)?kbNC(`a-=o?#BqS>_jP#F zbCM7l$C8m!G?GoExfKIXL`=kor5c0fYKT3eB};!;jmXIhk7{<%g6V?=iB9abW3}-7n>tk%BQ|nrXMlSG0rM{-|q~9mCLIxY3Bct ze~Wq4oMET5cTOS|K=^B-HqRj~Hzo9;1p~%kF++$MQ<)n4QmUHJaL?H*>`!|M-C-H# zc~_2n&xeAkM^E+?{i4F_{XEqsiP<6hwEP9aqAPds@(W7(7t!o45&bxj>B%0im~M>( z`bDwmry1x48b{7o>%kkU9TK{ftO!Y}aI#}bp1boAS0cw|x*z$Zj-HwDb~GEhR7Yy3 zq-ezFhm2%IiudU7*R?|P>z~z#FbYQ8Q((rWHU0i3WPX6e(KeFQE$icpmy>pc4Ty!) zCd$D!aq)}zv6BHtBB(bkw$_DyW=)#`tKru z-?kE-I3iFm^Bu4K-cQwS%M^Rc{qs zhsH>3<2UsDmg56pc^*D-B+|rpIQ+`jsC(Kz^XcEOP62Gc6loq70X4d3lEQMeB#UVY zwQHRs)j)Zv!}pmzg-q{i>TJh^Z>XVWw)E5U-U3f)z$KB|lFK1ukD6Hn|6G*1@mqMUj}DeOv5^tnN=tkM-jKT2?d0=WQv)UH zm{KgC>G^p<%OyOUD%t#U0J|H?mc%t@CU$FC33Kil-MIJ9>yVdRoWQAqfDe#!_`lVj zin}OIM(CWvSy9=i%#8E|?a*d7Vs;%o#P(^0KQ+Lyd;Nc}hpU!7tB!-G927 z@nwN`hd}Xl3T+m*gJ#;US3loF`SIAa_o3*Kd|}m+tE+;ooc4Sl8c$pu$LTEvXb*0> z>NM*|NLBs6AI|XdouB?Vk=3xF>C1}!l|-hvWj+?i`;?6(2f@6wPBlJmS0?!@uRzX^ zR7YibVP(P{jv`}UNLig`A^w&r@ZAXD<2GryLk_dEI1(`W z<`x=#MzBxvt+UPg>J?AF=arkh zgZCSF9@{(&Z#r<)rLdE1YY&Z_W%puF|p@?n_zlZjT| zuKW^SQ$#v}B_o@LcZ-gL%Vu3ApcY$<(|5+;5t zo>AMsnrPgUsa%!hx@_ZbP08r!wMgjrVN(P`=aE9*&=5`M=r{dJ2haFf$Y4^X{cQw`N>8b!5=^2?C2>-(y!*EB#r5x}{|BR*)X) zLN#0s^y(K6gUlhVhqF>wZwS-$iJV-m2xIHGxe*2-r}$|Q-%)?_yO313ZGiZ@X{SM{ zmf!g7Ke*zrRGzk7Qbe%dt(+ZzAK-`I&;^~R%5*R3q=IUUY3Uk@G0%tFo}peyw*zi@ zx^+E#SAY!!1>e=ABy^RGq?5WsFK&6((W`AecH+Z?k5eV7&})=jYPKXP#76t`H`}uF z+j%}F<1a!SgpK`&#{z>tQg!~q$AQr>hrEm5dfyBgY%t z=(*J+RlE_M6CKf2%ce@8!L|z*SmUGAF31RS0Dce1B-1lz&MDI{GJr42WoAOx!+HEi9Cei(FS6wea*@Sdb0r6TKu|a8A=~G_PQld~ zz0q#EJxSmgDddTNXpBiig$mP+=rR!bt`r2kjX&_`luG*g^?Ih`a_*eh(CPuY+B14O zOwM4Wt26p_vqMnd_MI`&u|S}$hzeb$|1+k>PzXPPm(oY|>oanOO-tI&q|hiId~ep+ z-k&}K@8_T_uc&rcX`Nqm!s%)a3l&R(PD^@gF|e>FB*g^q^!Y_MtDk>r@QbNYG^5a7QQS`>{&3={4C3C{ zo9P)!@HrLP-M0l(7rYMkIeB;*9ONC6k$@{~MTXS1*&;ZpTkL(!Jp9in zHZHnx=bHhu&l|Ud-%M)?-tp+6_~&ynVGTGI)3u5hc6ya$xiNGCi zg`lL>fR5NDx$DaT2LkiW$1Oa1T_dwG%f0e2%Zk6a={FiKP*Z_rj6R0B^BuF{0v8(( z+p;}6C&&JG>$yanTV?j+#$Z3Rhk!+B<7xEoCnLS*qpya< zVDg-D*@biM;q{%{>y2~tfx6hH{+WTzt>n zz|gX6c+!#bh}v@Tg4YZC8)`>`O!V;2uBdlSMt&dPE&&26BVl*#VMNLgTJR92?6Koi zC1~NL_XE|++4EDZtn8^ZH12qeE%Z{nJg zyNcXCEsC4fPtYX;N0p8y9Pp}5iq@eTHZ-OM!KW=cUeGq3l08dp+1;N@hR9F&^M&QF z%#2lx^i|LyAY(`U#r2R(rzws&dKByV+-+9#>dXBa^pA1>sj3dQ&%;J#*&eVg{ZW41 z13++Oxye^my%o@a$U3O_N~7Hct*sYP$vpP8fc2`>XxdCZM;_2JzTu-8NrJxQ;MlT##n2&me7ax3C`jCX03%LEr4WJgl7f z*o}T1zH(mn147d~8hwD-@}Oxa1LSiJWH`I1TH3JneSG$xhVJlBRl9CLx75M6j%bCO zA`&jg^nE$#tzOE9AyY3zeV$GPWKaxP66fG1a5Y-=Hfn`d>d%VZC3$U$OzavALB7t2G%_@REC86Rdcn zC)}NbX6Zr5754sEjOie4)u!$nL z!%9yJsIQf*0_Qev719@)+F81YLUo2=Xt!)Zxh1ef;e2*~iz(Dwfsxa!WDc?*+JLrA+&Qp>AEWEWq`AFizCEr%;R8 z;MOrY01sk56!dJ`_;}76)_eL?9&Msu8r^yhYCn+r4>M~h=#f0+;d1_ZE0J=}KSI51y*Wi6_u_*duyqaz*Ka8A#`*@af$)2@XWy=Nejr*u zQt#kI^ftM)2E^S$_tO>UlU9ll???%pr@+E)o@n^Vd&VQNbfSq$y93kd^q3gd>+X+| z9P1t}h)4M6b&5Qq-?;fw7X3|jLqZ+5CMoIiA?`uqwJT##`-zLt_vGmT6(k&W|8&2o z(scsP#inqm;?K2=)1RR`X8|0ly<9?%B>N&FM1|gkvhFsaS~PP57|rSDC^r$aoT zf2=mkgT#XQhwZA#uPOTZUM7$#CZB1oWX(qEg{w#AchOcp-)|fHZmG%54inyquWbXG zav1)=J!YlDrCbP!_}{$oFh2O!FJo&Z(%4eFF`cV*c5!#4{9o;NoZ3qyWmu{hwG0(V z+@3AeRv1Ph9+VZYPz2Xdk3tZ=+RZx>Y5;nWli||)z z%$PIvCS8HdqvS$R!!b@q=888vO}2y`LIl_LW0VO(P6}8d z6EkTrro?!xg`Zo(Vc((T>=S|-k2wU#8AHb^Z~OScWi{ex|kNIpB z;dx(2=sewfG8yi4{4JVNs+tafFM&2PV#M@*#i{kw9LGcsH>_(8O4_$lwZdgAC63#@ zkwCK~yzbH%h_lXa3miu0e?%fWRbV?L4fHDvv*Rf8cGr3@6+^i^t)GLbd!%-L?Vrgp zv!X{}|`f1g48k7N6^xnl5nd~q_&s($9z&ZWg4+QDfT z;FSD-n1e-T%(L4lmg1xOIgv%y{F5r;U4O*AL2J>>l5y)7oZi`@?ffsf-Roa=v5Fq^ zLoy)cjDM8NFQ&bQ2J!@XNU`&=i$hsrMd`Q=^Ww#JUEy6W?j_Nuc!sEfQRF8^e8F`q zGq#(tcMU$5vq{_pRbS<~E5R!e@(ifmEGTmNUk*$yOmW$zN>m56GNy=LpOjDE70eE*9`{@u@Bwbo@1`#+vLr0;WVo~%@_ycEogx`_B$KsMJIVNIrto`a9ZT-~|%Zq-qL zVb)eSMYc=w0Mj^zsSRFf3eOpww+72Kl_{i>X3RA_y zoQ`gDnZJ}Y8+6g-Ff~HL7Yvg~%#QY4x$d|SU~09j9rq&s*^=3?mXXncEFB$E(Q#K{ zo|tAa93Y*>o}HhnTS4*zKlM0ESzFZ7k#oy3y<=~z9?}MKO#j7p)G4_CW{2|y69Zu4 z4Yz3bmW9dQI#!0^Or=iiB&z}yfwNn%B_*|e;C<%>h|g`}S5`;Z!Z_dV0tt_7@u72`(iMnyS%6}x|Ur}$Ioz}oKDpJsC* zx7^rqiAkDQG9L90E_hw1?P6WfrcWH_CUarbDU20bo)LS*)F%yl%inW^^vE14oN7^b zhn<=2*GF1hz*un-^_WN%wSUry4$%4~DS--^`Ua#1U8QLJ{F2zI5OJmmDl>FZ3))dE z2*2ADyh7h?37N?*2juO5xZ{|E7b{d(<$gVF?%jriT9(h_%3i*5mGC$pu%mGM$x>)E z_`;4L+=A{nCBs=TImn(j?pOL{Nb($$MFhkPIsKKQ{=5pi2Tj3$Z1tn@`| zDy*|q%`x2nrRndLw^e_yf1xH1#xcoR?G#vLMD()~K7oA=KeeySCb=Ey5kCe=O&b)s z@CICFP*If(TFS0&*Fu`UxY^$AZq|dMAe0qH-U3EX%<@i-RseiW(XL4p3#iy}Qoc}< z_DW_QXL;1TaJV<&$GkaQ{sN{Abh?+H{^eVSax)wbyVu*qpDVn+y-{jwIPMOMvLzeD ze2hpJXM51G_pqG}Ao2WC@-rC!yp_VtA&hWOZ49O2=Wm;b_Ue#r@^AsFO3|t+j$?6g zBks?iF;&J7`#HCeT&3zt>oT%x5$L+I|(h0^>XP`>32GuyLraih-uu)&3J={a%(t<$_u%M(TC0Q66 z4eauX%kGe*0PN%tM%Z+|m!+b2s{Bg{xHBR?jstw?K@*au6`;h;oFIV34s5f$!6Q<@ zeNrNE;y5X>P(`_=HZuzU+W(~zN7_%iCNk<(i6<4j>(rana4Vma2c<0YwIKcXpBNn{ zTVmab@%Cg4R%@TWdR|fIi(9kz7Y#)Wx0XU)(+AG$eRbFZQikr9W)ATErSKx5Uoa+6 z*`nn&3n%dK064WFuP`p&^?zBLe)q$u`o8@)L&rIzD3eVR;hM_n?y$2;HGo*o)2wHb zSrc*2VA@VVgUaIlX79*vEw|<0=or^#WKh$pRn$IjEn1Xmi#O3}=)BpipK$kU9riH$ zshv%U&S(YrQ+u#!e9aWDiIH>l@6t+5cAVy2b~EmMx+jyz*sW-_9vs|vY$4ns(3CR5 zhn<^eMwRo(LJ)_0Wa)?mfg?&1&ea?G;-->oV~o_{O4B?v`5Ef{>|x2y#n;uZ@_w2` z*d|Qp?Vo_BrAP0} z<~#gu!llCfaJYd;wiQu$a@2I3ElctP^tCeQ7I*Yy!|H!%)s|DAl;!oqA+62Kj}<-c zO0wK5yDnks753k-9To1EcpxVfY)-zPl}(jn(x$iJQvq)6?KBl8jOI#;$B8C*?@4&P z?7N_wl5`SptiexYJ}q{dXktsuH612S!sX~1BMA}QU!5lY!Tw;zsvbM#faV=pj>j0O z==RzrNe!v9R#vf`45j-zLMTb07TK0mjE*3NbFJb2TDrVR|AxJDnGKW&3Nj*>dp&MW zM`3SlL>QXB1rCzbJzW3z+&6h4zmD+3A1_rx-N5+)?g()O$rKS%K5GC1tqspN+TG9?XyQAkKS;8hcMUYNzu)1QZ^OSRY88KB)cwCz$*> zZc*#kKe@~roeO}+!csl5LbL;MK`hb}cQKmW9bj+VT*9ey*Ps^g>NW)XGlJMVy>_}e z&T95Io=2wNoxHjqQ(5fP9WiNMk1nf9$9L{{BjiwwfEXouFpicRqtC`(X!>mtkHjz20xz;o@hSR6V1kFO@ys=#rp%nrsX-Di-s{ha}zvpc@-{cy5 zk#&aklaRM3#=I0LDo_%vVB7>S481+oAX@1Z4naWid*yH?3UkfrZ>Ol909ILlG2UpR zgH1nBQd|Ztx3&k#g>XN2oTsFDn@sX$Tb^M@c@N0_ZK(U5@Xg&HWcLe4{ac&( z$#wAra0Hf6FWb(k9cqHdtfNbrN<-7=-Q0K@hQlI_Ubl_&^}aY1fspi=G=ZxppwEO- zc#90CB4Pbj6Ae0dTWZaZqyB|WUZ?S;4swS1eLvcM{r0Z8EvR5OA3~0Dt%RdmYK-Jh zAC?@fhNkDFB4IXxN8K)e$yx5P-DalbfA{)F>N9M4=0i@g3I8~F@MRW&*X!@BcGFt) zl7@xouB{|>_SIk+T0_ql_U=0^)IUAlbo|Y&6cMyzxHW9bP9DA>(0FVF45QI%V^MQP zGI}rojE?`>oV^WmKC0?X)ha@@7|3vrg+W=9rxQQN^g?8xm^eR1Dp09ij;RcR{`)~qaY9Y&x9{}IEwYw5g&h5dGM0R$Wwv0_HSw0|# zT{ds44+^2;s|tPZyiHy_zK$e_eM>x}#Bj@=L~Liqy`+N^%o$rk2njSJQMG;Lr zij=g}*O!&=fL3uwr2bZsUBXI69xK$g7e^&4;-HTW)tavCG9Z%+lR}8*7v3<6KTP^y zSz{BoO`ya$Q7+%QxeMiqq~|jqMfZWGg41VHn3}|dT}^O7P}>_O%^_s-I{~%taO=aV z_IZN7RXKp2)`a=S50o=Luz>?`zu?lpVF{gv#QW7|l?6m0s}k2WK(~Fia6A;aG8@PZ zYzgU>zvo#6qQ)Y~Zof^F-jDZ0F&-ti>G!VfQ4fnZ?xuBVVH|Z&s&e&QN~3gaC=Twr zhhE(jEc(E~*nIwforFwl+th65N44uc)qem7ZFM=0}Ryv<0Ce%}@UlPZ~geZZ(A-Zs`X- z8sl$3bS#9TG9T=N58v#<2Xp^WPTvsVV#MTAF2%qHf)D!rkHcB)L%&^g@B#t-vOthU z11%(Q!2t`2kKe;0gIe}coE8{X_tL*f(RLKwCu(u-qBk1^canVgQkys2;=WU3bp-Q8 z6;^p1mN;!Q`gwDh!G^wExT}g7J|8Up$)Ny8%bZ4?vF>X)NX}Ei%RfLre&2ogU6EfL z<0)C6-8!15v+@1(I@?F?AC29)Wj;jx)jXo#+xh%g`xNJ5@<~;DYi3m9WQH>-_Qe!>hB7HZng{<-uPT5}HqO)FFn$N^Sexc3F5F@o=5k$q0B2hl8T4?DLS6cP*lz^r;U4n&TM+3Ff{P5S z=N22NQ;Rk)6mU^N-(uhbgBBe4EeE&iqdZw~^u-4IaeTYr&@pr#U2wjp)qNmagpLaf z?kwB1)6$}fUQ)V`@V55rI?{7EEOFWjXwa$R^EJR7NkxXfgwD|*j?tgwDij!_Wj=vX ze{EKz8S8HA6iBc+_^k%AQ97YG4~;Co>SM9F`3$RhkE86)CHk_Qj5rf(d%c=7=k1JV zDzrCHY!MyH`Vg?2%jb7k#|rOqv9WtvkSsU)tj#)pAd%8y*p7=0{rC_YHqJIJ;&p3v zaD|I5c&qHpogyjIMV7{12Qhvj?r{zQ4yOS0?EH7QHR*RfFeK_7K~kk^NMTu|@=q}#N>pq3W}v{*2U zj1SV{HyWt(w;j5`usYk^qVR$Pg~p=A2J2q>Jh7$yH~YduJBUZe=(N{tw-!~6G1yRUx75cYqsxQE+QKNYcEsg+_AB zr`Y^i-_yF5otbC#t1)MDuKL(H?C1#F(K`c2_xWN`qmjI|TSoNeN@CLD^*3K^^lfjI zXd{^~lIOT%P@Rs9EI0bp?tc7mP_6rMvGF_lAXb0ZsTD1b88 zlvR8No{U%eXAJeK0pv=^E|vW9nX_AGTDzF5|CS>pfq7-VonEhL#XQ!`JND~uF~Gq@ z^uewH=5W=L?+X1rjI^p?;WyEyiSD@r5xi06*-bAM7A?TP`QM zc~~J(X9a{G{OCak6n*eiJ)$11MRl`nlkLe%Vri18s3fEz8Y!TAw zr~6QCzna!+%ios35AH8MgrlMQu-KqDrS~o5;&2*AK_BbAAJwD<0Q>qk8{G2WVZZ|7 zLtkio{O~~*6`ANa9lX%!3l9|>x3@ed&&7W8(ia?E?71hA{Ujglwb-V$F;t9&A>2yK zw0;1G*)}O`(5Zrr3s`!fX-09~jN$x>I76>a;qH_@x9R;syE+X69@g(Z@*+b!`u_S3 z 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 ENy8FpI{>$0MQ;Ck+mjLz{RaEH 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%0APkh{X93qBlvqV%0zRuiDdyG{4x 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 Cw5Ij| literal 0 HcmV?d00001 diff --git a/img/blur.png b/img/blur.png new file mode 100644 index 0000000000000000000000000000000000000000..37304fd2e5ee001d09552bcbe8e76fd97762b9ef GIT binary patch literal 200531 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 O00f?{elF{r5}E)d5oW>w literal 0 HcmV?d00001 diff --git a/img/crocodile.png b/img/crocodile.png new file mode 100644 index 0000000000000000000000000000000000000000..9a381dbc70e1365a1788cc4382dbd537544ad2da GIT binary patch literal 1099666 zcmeFY)mIx_^eu|JltK%^U0O6qgO_5Zc%ew~0zr#A!QHiJ2reyJq@{SE1Sk-+#fk(e zEWzc*l;{5qT#dKf zCpb6{l^QBah5?obcbat#O9k`(A!qj?-pICnL)TaMgaZ6hPgDq}$R58r zj#syri*0d>GAl(zMTeGFRzde|J*mO>j#t>zZ?)HJd)MU~%lZ?`tILN}H%ZH*qnaO! zj2}Y%J^fa$=B(wH<>eG-b=IIziCBf%-y1WdN39C2#8qwwLDpA>51laC!yg746o}mF zA%)^Yq^{2XP1}-4=gUQlKP%tUsJ-tFYNpOR6=fHfSL6wgcaN^Ge~8T@MyHPCFl?}5 zzwMMItBteHrS7BDfkRE4{@+{I*GK3rF`uGi%l#|qrc~!E^tHWzi09W}694U^h_h?o zD?{3$WpbL%ti>@(NV(O zfRp3?%~qwS970)SS}>+fK{xV_`#pi(-A|R2 zZ8^(es+(ebHl_Jhhz^=nbU4^WZ|YXqe{z*R!zmpQuUE8KaZ~9og?pDb%jX)n_RRe z_OZ}gv)}FU{+5|PD$*MU8PLDYnq~seF#wqR$%|d3^AE&2>*URsId$nYLG)u-knXnx zo3#TSF@4*+T#rqQ4W}cKnLFPEwfET=5a+V>G zE*1a-9%s;1TG|&ji!@yk_1;x*XYq7Y#s_)-W;W(Y8_YhP#s0%4|FXF__4gNTS&-jX zgv-kyXHmJcC(U6~2i&HWg?(}b5{w5TjsB~lH^lPZrWZ>={i6$7QbKZ71l!lSnDg_4 zW`}uIZ0U+FY$N4vXMYAU7}qzkdA-oSXTS5L5o}bZE1~JY^1CV`VvC!l_f2YKv@?REFG=WdY8r*f+J zXO=q34$az2YDL7)_=o4ogGw(Gd5mVxhLTTdlFx%m1kcSjiqK8H+Gq;1OD#VIpWwO) zNYef0`dDXM90oh`zoK3~W^~`-FIZ!_$0@>2TVdV8;INXbesNZWuK3eDa(c3&P~fRj zZn|<4r&LAibD2F_%{iYZ+-=)mF56D}7yk z|5*`D|FH3ZQ4D&(+GjUnQ`r2~0Y++tQ3<%n58)i9cmo)ys1HYR|Dt#^Dap{q$5u@u z$!$?&EeC>KX`ky~&@?!exU@r)lvULlFGTE(e_Nc}ZZ92W>==4PG#RM%L_9Vxs<{ZK zvX=SvK~g=xe+1#ici9Gb-UBEPBnCx^nQSMa#q_&C$+5cvltpZ6Ai(XO)}|^Hcp6gu zH)Z)Oj-b%{Ch|wrzNA1HDK7}?90q9dz6BJ%cb8j!^YSx8dvqp6*FUChQSa3WXZ7G* z`GF?3n9XWdZgbj4zK4QDe4>$}pzcNWa^}i%h1#=huAv_rTEFc*NRiI&cu#yd_U@#N z+CzavAAcjA4%HFxErIR9mXKgKR}Wl=1D56fz|zNhN^I&VMt3=hBh?KLq=%FOo{Y}N z#CY_RK9%H%SMB)BdRH%y{wAadqQtXHH9DIz5jpUyegn(n|B*V>Mc(dCATbTowGwvp#;$KA_+^WrNI7zH(6fBohV>sZy+x}P58hfuL~q~gzc&&8eSG{zh& z6BQ2xXju__zvS?owc^HM8;UN6ytP22BQqF4BTFHWc>4a*p95r;F%^8BHy%NjdRoPT zfT%M@%2U#UX_tUB*x$4nj*~>I4nEJmfZ&yu3@P(1QM>cBRPxAS-wQW#s4iN|hhcfv zssmraeM2Pm!m}bIKJ7%I=u;Z3MHs|xg;Jhm5VCSU<_xSwBjCI6;D8>Y$eW6<8Cg?S zZ37(A@}X3JV*h(v=tZ^$1X>ZdSVeUr^1`q)Md?%-)k>gclGs8htU$;XatT$C9=(Qy z((n)N(_T#enBv3JeMOE|KT1`XD&8+{2pnich2dQWY;dYm_mbrGhMoATtrCuH;U1R7;qYKi$ht2x zse)6Fb;uU0i-Ke?1tWV9EU4)Ff(m_lbW5*KF^t0xh|&uBVdBgNd1{q9{~i8g zQ#pd_@735&BiDusW5koY8Xd^Cf={%(M)mfI*kYokYD8qw%x0Ba?A#^&P-mg+$C-%C zne(NxxmIA15G-4U!YD#YE;%ugde_l@Cl?k~z3oN?4Y1=3k^6zIcKBUsT>G8{ZVh?O zS2?i2Bq!SQb4}|NkHsh0k?rBB;z&?ajJR)UXn-(~Jew$|L7()5?0A`#fgq5wJhTK> zY;4Vt$~!fwnoz`J?1L)dX&({nsGy4@x7ZJBDmso!otW@3?l{vv-57mlW%sB#ogo7o z##BrCyTAWldITdz0uJdg0tB((sCF^uDe%^)@(bU_bF`TnAd%K#wN}f zud<*|K*6CJlVIP(Dh`Cs%`kj~j?;mB<1#?kk$4JY{6~u)OwM^+enlkG$2mFT9NHA< zL)!Re1U`glI)auNH0-n-uLQ2P!|lz*J_+6f@8OL8ihhUn4tpO6*6S|?UL`_l!A3D} z`}!2d@&x)ys@c_cuToy+YRlt07$>7hHmcJR{Jz>hhE3qt2@iWoC0dV+3$FwO0>q90 z>hC~EX#95ewdrAU49N?6>2!kY+b`*~AD!xC#9CP@^P2{CRj0{@9Hi;m-pg~9#WVbh zQTM?$d?suwuu<|b8~h8UFu+B^KrFgA{7r7tLlUE(oGgkT*xpXHO(%~PRLarc+!?Lw zAzCFcaikOZtmoZX-9ue$_`pvrlzjgAQv7xsK`(a#$wkx7Q*?j16X+l_M7B;#v$VFwTlC88qjP(ZMOO?l1Y9u!ZE<-1mf zmW|`~ms#@4(SfP`+`utljDPdnfhew~o=vCGQ>;2&GBbHt^~Yn0R7>)IB!n++A}z=^f4Br-+C7s)zOW(5VI}laua;b-3eE^7P&`mQ zvd4naY>fpm??A7gM`==J4(-%5I0Q*7XA2iDMCYEL93FXvJ+UIR3dzKOW2aJbT&!^S zckL!1puoH!Wm315vhl!5`%j!HiHw4&gY3y04|tI^^@EvYUk39MO>!jvrmSKo}8Emw1WjckA03gdqfqp^r96aO{@V zi8}lVis`L>ubjR4OQ6_+&LwE8(8cKjYjCUee-itX`QCYw>wsX1<8=XG&GGGiXBM+d z#G=`%x;q&eBdvKF8~tA&`cOWAhj!Ht?d|4q!Ec))g~$Lb?A}K{Y*0%Al6pW`D5i2H zJVqhA^xD0QrT8r3W5RdB3ZMN2(~cSkwTI}xk}}@}6dP~S7IZHtZg{Rix-UMvGj~){ z=d!(j!2VRmI6ZcEWabXxV*)qsx{-2TnrN&?&KzWLhp!nv2vXldOt+FKUR{cjaOmFp zy~s$*P_LKtjSnoh%47r`>_{I2ZjlL=jRIKgEXcgdeA!6B=EgLx#h}+qGguiUZ6_ zn|L*iV)mw=Hmy80cH02rIDZm*HKFqs3mrM(<2v(vXf1j72uCc(N^mFzkZ`58kX4W2 zXEyhM2!xP5*B9>I9^JyyE z@e#R1j@$q-u{$sfJtJ&l1@zcPbMT?WI+(vacVtSO?I}T_mDJn?o_W9w<6L84q>tJ( z5NekF&v{L#0`9iBOY67Z;Hz}K2r3nmm;1?QU2Bor$-X;~|Cs$nlN~BF2l(dM+Rc;_ zg$y72{7%1T{95_`)vg9W&D6+;0(GYOf)bTc*D<{IJYda=h`AVrpIx_KLV1tvYw+MT z=^VBZrLZnngo!F_tXXRrwH}{CL%H9866sOLZGHBHQHym(9h>LTm^kctP{|Lvy zya^okI|#;q$y~YSPE7M*c4isS8afkZtf9yI+=usR}lZS8h- zHH=DOL+j0n=>?CC-PT+)lnD3U8vMdxS5J=Ml5e9Zbb;N=Qg+HWviv{k!m?8a*9w!9 zF8;J-S8~BSw{!dE#@cNR1v;lf>gYCN`)n$#1{_2Mx4YQOV!?=7o0R)K@$N7wQ@@CX zH=G%?e%oAYMGMfi!LUeeY`#zo-)QoFhfGg(*Z_T3OWY8lXr>4M7JS+rG?4Yfv8Zsnr9&gSXxKrs%xBj4`7Z81<*qfP;w*alVx@ z=ax@|Kjk&4ZplL=`yQtA$e;5UnXUtXJjY!Yt;7^x-OxF3g)$MA|`YAymcz z;?iNsSE(XltI`jvlRAiTm5# zn~{R^tKTC)-K|FHjU15satL1+n8q!927~5ofRAD~7Q8 z_Ke@}3Yrv}{85{Y(csPZM1kAIFVSXxa9TdQ^xIvH6Osd5lYJ z{zZ^SC6d`+F;X=I9SK(Noqb=Wy0c#(OmE38=LHd~F*Y+5ua%=s!Bg`fnH&etP_XNr z-nlz^!iDS?qj`XpX37bVL&Cbb94EO9*^8K#DsSmUO{HCGVQG}|D&{c#Ym-m-O0Lp? z>~#uC1mbaD_FIrVAHV=8)iOGX8UwafbG|oaI8fs7c9Wigj*!Bl?$$ZwVvPYHr6B^T z(stgm8_kcycozpvjvHH#B=0+iZk8vkz=Djl;^r3_F5+?+MvGD!yb>! z^^Wb?ZHtpZxK2m=R#wftliZEjMx99cQalM=Py(<)g9(aqDG-y-+d1u0@o#oNU!qrc zqMprfTwG?}?-u00(Mj<1^5fMk5Mzdj8m2f1)d#LDD~LT|vyb*b0x!biVfR_8e3ywExM~&%$UkYlB>>xW zsT()hNt}#35xeBoSU^8P&c)#xuPaB7-H*fNWPqENp=8bpgi;?*#?t3<+j4t0&{9upjUBWtFl z^$7FggN$y_4nMyfNe$kblhpa|SS)L8@2B5x%(UDwwI{&fS0`FUlxgRJ7Qvwy!!s~l zWVe<0&}C7|(WKD?;Ua+#zH69t6o#=I^MhIcX9tlkOz}pEDv%jbHruxR z(zdg92u+HO{M#cNMuPqB^#vVlWTDK%<(J`=27H20qbkXTF9Cwnvka_DHLd$ zixd~QR<{aztJw0LcZ4ATOBY@4;tr>qtNa=9TSZtt2{jyQH2s-et3#8nqawmS z1cG&uu4lUG(CxlpmRREW-4v7EL*#q`>@;RW=$PFU?QOBZg{V)*k=S{@NPC-KG+ zA9!a^l{#`+#B4Qk*W@E!1kGe&LJ_n44#jivR6P_A0TqAbwq*s)U zl^wZ{=n%o{?bT$ft8aF*7F{D!CLQiXhX86RJy5fHt`K%74O!g%23{{>i_e!&FV}y3 z;;wj37?%6cdeAo=7d3D`#<=g&!4$eXFmw{txUaMJaQ`Ans<^k}GzJ;1QlrO|g79QN z0TySA+AulX6y-@xzHjz`t`I=Xap4Jm_ORo0c$#c^e@Sd`1pROQr*wgTgTQ&6Kf z32P*DYUqD8)Dbr*W@AZZF6-e^MLmAacrmuB7Kt&$#KMk|Yzy~#5x^l((__k>LXvM( zruRMBV+Q{1WcdF8P`H$tW-H>x_Ex71NxE ze1raG?i25v0Vh3Xb$#r!Wb{72XQJ+dhbUkV!ByKUCHS@=YRf4sI_9k-#1?bY1D1OH z?TC+X1}jLT5%2JePN!3Df5%1r{Ql9(oX=-1D_gC3z$05uUxb9t+mAF3NY?pSw<+3* zNhrk%L)}XNaaFLjg9`Xxbuh&vTbq&Oi=D-=@H4uJF+75_l%^MH{%DK-qUpZiZNS0J z%@C<&Y#KHM67ZT7y3HP~i!=)vXPnrP)YRR(`s_fM)m%O)mU@Q{yrb({URAo(Ia0t= zxk-Kr0ga}51&mpG&tAlQn$ub;^MArbrreByW%e6T5{0Nd$%4 z^+j?BH#UBfHe>K@wd8PV?C`p|6P?@D(aq1Z#<&IEM2zcWIWywRt?GQSw+edX^KV>)AoxwHaq-gWyQVIdiUa~Qmk`Q z#mJl11uJ^d(0jKX_7)99&)x0eaF^CJM`-7WbUqJVTX`67AH(#W{L|^@w6g@>=5^@T zeunIAdj%Go{FyER`D4}-Vw;U{v0&TCPqe)0{lr;=U+Oz*q$A{E_7&5(zrRusy)DYf z-8prXev4)QZtqX0K+KEV=OTAUB@0cXs<{V#yDP36nY1k3zPlr62XBM(--xdFI#Je* zkVmG$$<+#%r8Q5IAlUY_P^md;#ySJ-#y+y`0IJ7<)$gErToshJ6vZjudtBV03K-7j z#*|!x&n`M~_>6ntO@EZ6=@mp3Ow*9MvOd~CS+CxxvX7bZnj%deHWkeXjCff4w4*5l zf|SYRa7`%_abCkst)%c&qeOtIq5zU&I39|u=G%m2o#9qvdf5MYq7TM8Wy zZH?+hQjb7FG@6QvEu{RAv_ed)P14fWm?&jTR3zH7VI`0@!zvRn^2E>MoS|PLCpM#7 zbmmdF_cWu^hQyL8wSN{DTk454%%1-6H+11m0J-AM;0j4LVI{MGxD8kWOk^w$=gMSU zafIM?DG<3AkJ!mb3pb{D6oyY-%qJ}C-`AfNOY$!|!Hh8Z6IOzwxND@V<*ndBQm`W;ftoDP z|D;rHwSF?0OGV22%hyON+7=fvK%4);)`&BK)hdoyB^BWW4ki4XLrvus86hO;^0bHX z3N(9SAe(cqjh6{!a63tNQQA3AQ}1v;pxv2$YS9{L0(2tSwXlxUyL6Qb^Z&%s2@+xF zZN+sI$qs+&e%*5!&K-4Eg8R4Lb9oNd=g6Wb8dT*eBe8}?Nzn`u?`GiXi}$o#3FE}} zEb!jqxG$Q`P4PJK_hm3-I%Z`zliuw(^1OTesZaOCW$q;p*9l_C`(?OG%g;}iqygvh z=1(3;@)Cw}52^R?E(ioDlCuI$3AI>PIDOd^Gsi})DRuxKA&{IYN8q0-)~kcZ}9^xb?vo9jH- z&ML}Y?a*um`{wtlRxmKy4zn&r+gqSPex&zyMX@bF9GW-ZED=7O{*Wmv%|w2lu_TjR zQg(y`#K-M@3a#Y6qJad1+jySnyn5&UfQ^5!cPDc^*7ij7()Ax6AXaw`y$%vD=a=Sy zgQhi2#Tdl&=PWDg--e3sqxitK^Zd1>hF?bWOJjuufZD%2*VvcZoURFt5qYj9{dLW_ z+0{6dS}lAwKzWzFqM7=}k<(<+N8xUa*13dVmhLW8qAQDSk` zGE!bqP_E2NCXW0Crj9lQ>0aOzmZ9E_^>`&$%BfPud_7hyKn~?dAY0%`C8$_%01PEr z^%(0Ter0POJFb=Mo9m6!cY-@WqL6B*G;pF%^uBv>Q*Z8X-{)dauylKtzDd3q89}c{ z7sC;0D?2|l-?=Eo4W%XP@g;4J?itprY&?fF^yFoDbP|Gj0_jx{m{UrPJQ5QH8}Q;w z5k0v_E8lIT=*!_Id2N>WfRBk4ROD>Guqunf1@CdWwr2g$b4|nIrEEa>iFQ1_oU*kI0u)WaSDGps1n)uO?mqjSd@O zy>yHZ-hJq;y*Wo z@ERPYM>i)c);@eB5H4Ai1!x$ZrGipe3DWFg;_b8S)KUGap+KpHKlUJd8- z;q#C9O+d|*H5uJ6X(0}OXJ|vd3X-ygHcPV{G8O||WYFO+_Je)!LI`Ou1U!ATzE%0+ zzL$GyelCdbrb~Vu!K}O~*WCnG^=jQ|JtFa8{6)}yUWXn} z&|HLi`iRd9cC!RUl&>^2C{ilgnqY4BWMDlvauO;xwWD`3s)7YmF`2?TPYd4>nQ$@U zlOy?8ZKgch9^35}9F=o)i;nv2`8q08*og07eO4FV1-NR#Q5^%yU;)Q-#1>xc)*}al z{pq(35Y*4+-0H38^VP$}CZiO)T&Y&AZ-lcZr>r)OJ~YItj17F(m4CQ(&f)8xZ=YmF z;)OZhe^pF1aMPldpypUu-ps9+U%Vo1oOO_+4s9vZhahZQE(8II|BmtA1zR6pdq`Fr zs=YkKrMx?QS4jJ#m1g3Eg=+VoSpaFzI}tlW*5S+GKKNXL=`Ud6|Yt6)i@r(dwVJq@V{K{^(sZ_hp2! zW;G@XoC-FII%MqrGhd!Yu!m8B3pwG)!?gD)8+gCYVQL6YW;AX&Po+kZF!OoWg;{d( zNNk07><~7;+Y_$hMvx>65^xL&7B^^feKXGrp&b8~vK!XwMRon@{95#ANJE8WtBxmn zOGTC^(!j1DtN(j+jIDb5dWG}*0U;(s`2+R9i*likW?dTD!ED@yBp44ta=^sT*HUU0 z;79e^2ofkHQAesEnx^MF*V|Zqd$JFk46sBtUhZhhaHS7xPh7B z^=~nZdyn}hCX_pc zhzwZsCVC4FGg$s&n76J=GkrEwju0c086rA5zr;Ka<-87=2ru%kqyA<2a+8iXR@EG=G zA}9uyaFsvN#EDd{156N{-zQC>Dg+wT|g1QB?0p+%qcF zg|x#q0$hwwz-qs`zyBu;i6eFX)7*VpCA-NcD1H3{D-~V#vND)S)HSl?aT5V@skg}m zu7+XrRId13)peoe&pRe-p`@`$1qQxZjVkjntl>vrwydnpZxeW00OuB;&(WAsPbf11 z1iF#}gL2r?$4?hq6TV>Nh~J70b&$5k&G1|&{N;0L6U~Gyki;yLURqbq?MKl%1(q1l z?%v)o3saTW)sIgzTfpI&`<4Dylq(?gr0VK^;b!QsQdl1kETfw+iffvsvo?97fc7Tc z&5J$GG(_gQPHLwgwLNe>`4KGG@%j&weE?kr@5o49$$V(0pTwvf*Z3g zF-_SZ2I0fD;AB?dbV$9B1~qBPxmvFyupln$?a~3#ZuCZyoa}0wFz7^7C$veMy|_hr zwcfs@fLtBr;PW)(r4f&g7iMboolIYQRXg2DCE}h+w-E85ctU(Bw^?T>3m#q z3##qUs*kl#^)}LbY$IFaOUYdyjh22$Bn=f`NTQDGj0{DL`P3QMcMPvZUnfr1XF}<5 zP9*MAYO@9Ok>j)wYAzE!@~uS!lY=grGr#yZl_Qh(cn%{yXn2o%Nz~tBz0y?YNw2jsmb-RQeM2g?+Vt?1lsaOE z7hA26nmS{FmMWA_m<{k`u@RnnN&STRe1v91hm~o$Vrz4jLI$+!JD1EPGIro|UYyT$ zP8D_n#M0L5HZtOem5m0}l*+kB&j6!K_D$DJI#tOfC9ZSd^3xUH z0&KUH$*$vAtj$FustfjrWvju7T3#b5c>V2WC<+FBvx{)cb|-hcmY zDaC_?OTm2`xu2EENJ<5E0O}Jp6R$sD#1h3Md1lMG+Ua=hGHmoriCXf4r59b!%3Y-g zZ4R=%ZEJf6Z!fY+r4%%W-d2Vj1s$5=yOPG>*Z~*d=Q({*xsx*aG1k0%QTY8SZc@Xe zYQCNx6=4oDjk{q1mLMIY>ac#RPjvpG{<@d5g4yBI)8aJ%2l07yxb=2(2QW2@vZMW| zMV@);s{?rVrO)bIDm#u)-uWk7wU!+=JZX*O%+H3l#dWG190wlkHykDut@>jw*SM91 zL6p3)F$R)_c*MoZ*(SnyjQeYy+q`+s=>bm7n}Dyhw~x)i7yr7606ua-1?$Zec%dmw zUZAKJ-3WZXr2-VmZ2sk-W~6`*jEiJ7r_8sXIl3DCPyU1Nfs&FW8PYZDsj=W+n%#H!le|c`q&5!Q&C7 z?x+VxFBOO`&O=GjbBuxPRH}nB5B>D8&x7nejCEQZ-e86CeV@Pa-hp>4V4Y1ImPrC; zC$!p2P5i98p%TUvS8U(GI5P&6M2tMT5>zNCj}6X=I^u3lx5TGl-Az~BoZo(#mEfTj zO`o&=n}zTC^UVcI_r4F*)88KGpw_;v=Kr%1svl8p>*Mb3#%mg3#ab-Qf*Bamxq-6` zMK{0}7QD53bB?vt#0W}KzODJ511u&bwfdW=Cg?0k@z|r4+0B^zqs#v@x={45)=9em zg&u-_h|Pr+Z!@fsL{ouZ?*3WeGA@inYk)3(dj0LBw;I1;>NpxcyiZ1Yy<#69FHMh# zH48ZQOFc8g7Rq@ac(>0GBgm+9t`4lo=}!c93d&nXZxjW{fT(kezZ8bLQ?&f`c}y6Iz(l)|sA;nB z;Oz?D>gK|k?(7C50kBx{5RdfjB2I#0(bTT3aOy*BA!JNYwJATuCU-ba3{6v}VmpAl zxim({z!-dTNIiEqzCd|7wSi9WmEzLmU&mJ(h1s%EPjWp+4=8@FJmD`?guH-^mwv1p zI$)yO8m)^i+CRv1#g6sFT4}aht+LoBe(a8lT-goQ4W>r?!Vby8g-N@>KX;@deGVg4 zvz8=K2V;-r04CxExTdv^9?|iwl(>#J*5Zv*dI9(zgTb8P}J+I;KTE9JjSrU5BOMg?A`#S5sN*_wdF*RC<|NIZ(3Jo7~XNkL~XFKz0CIic+I>3V$#0AzF$zh$=7BZdC=Fkt#l>!)O1*{Z?@y1geGTNI#+gTH~E#esHn-G6E4r1#H^h~ z@(P?L7Tee9D!9iTU(#Fv^B?wTL?c#Jb)sFnwD@eQyB2~HC2?x4EE1FTyqpk zG9exD0i_?j3h)At*cUo%?a+c(j=Wi`AtK^k!R-_Aa!10{F19kvZ;xDl8G5t=_0Ax_ zg6uyHIDH&dF{}?x`qwD+(}IMK#8$#R8EBq5mAyOU0=*5VNX!oOMX867Wc&L66E1 z@=IDI_jb6K1Pij}FTEa#3CNHlmPgc>KF)J-&gY&?P_QLD>_(&k*#93nfHZ1UD{TC} zTW)!L1!w=VZRjOR;8fLbG9fD^bmhMxObZb?D{WukT&m<0@JB!Ze}Q3KQH|%Kxz|qV8QRXe|O6ddYGrt$(4d6Ss2FTh%v(a`m?#F+2qk8%Pil zeZ)IhY)#fF>9=XOa|Ntn__LAX&C{d5cVD&U1JXTc$W?0%10;SPJ95&3;F?Y2yo1=5 zx#(0>xLFl}k(X2|vXwjzW^+68QI4LXVSzi1`s7)*`Jpr^-;^jsLKydl>$Nx43cB1Gf8!w|O+99|58wFd64$oat_x z4ynG{tXs)}qhbz>?-;IRr_+ z2~#bMPAxW)Fn&IUT^hQ{QIx%ir?==jz>b(4eluq;?PU0m!s+?-#rTiL^SEEdW%S=Jlwj6O`}S(YCnB8T8ZKca~9XfCeGj(z&M zxv)#h18lRY6DzBVrEFZdU5pkZ6;mCfZ62P zE)l*}8zXXp?>u3)%4Du{nQv~R+#X9$iOr9o$K*~aW35`Iu9B|!yjfv?nwJC84T?qZ zbv@N}#Fn!Nc& z2IaP6+$Hk)Dw?E8uN5K4h|r)OmLJu|DUPnOo@(x=Kq77^C<2W_e{(qSw;r7Y&UeI7 zLnWjkuc|M*7Iw~db^}5*zt0lVE{l!y#|wCjhlxVl0}OEr0jY^yTy6FDW8*kgvh7 z>|T%-CJRbcny8sPQrAFvJObBu)cKDkih(J&yDMp`w&x7R)irAumD)`C<{gxN^52t) zl*b70D{In%os?Dl%-_>d7?3(Zc6@S15D~yCvy7mJ4<~lQs?2rE<(q;w9J$F6rcV*( zkHn9KG?XaL2D_p!kM7-=Wg}k{(vcj^Q*%!@zI71z%gemnm*rZ$mKE7M(9yTbr&Q} zxv!MPJlYwP&#syTCpM;al=MqX7>Tn=t#)0ugCE2HI0QYg;f~X1Y z)T<&GEAxxY6QT+6D4M@3fPn=R1vQr_=67+qu7QNO@8SDaHolvX>k;M!@~TCN8638( zsf2%ja%u#_9%r=|hjkjx-cC}7hEB2^zkWx#`a>4W^fla_t29<>fc=Y}&=kK#2}#!q#6uD#Qo zE(6~hhQVdUgD_twn1Ssmy|Os}r}KrLcJ(2)ZSEw-A(QL|;t2V4^(qC6g1aww0k293 zt&YfpIDZc_Z@^w4#J$wIL9jX2ONqueGiB|p{F-O7xa8~4|)zHK7H zk!NE}I?qmHBbK;@`CL4%nC3-n;o905sUwW}Ob)r^^{hg&dx<0ky~j=6@d7SM476k; z7VJh428~z((y$owU6K^pJgC0$l25@WQK7gN(-&Tc&xa5JE&hMfKgY={q8~upF9;LL{ryPG(VBYu#4c{)0U5bo~3+_(aGwj!21> z`sdY!9qBV@{X5oAh_51(46JH3s2KZV#E(YGptojX>KB=wN@gzyW6Q6GX%`B@tAp%< zCBXN1G}d84&x0Vzmh^m`%FV=|!GCv@FGok&i;L;0re<)-@dTZo$vEe1ttXuieKtKn zX!NM5`?A4WRjsl<%J`4hEsS#6v~S`Z>%3G`tJGU(O4LEFIEKETa?AwYO)4(3H9w)tcs2TQO4T}YRq*Ri+*`eG8466x z#(0}ejy-Q?zS2@nW%$dR8S{bBR*Fks?Z&dZXzJPmT-t#W}%dS-Q?6>m!I z?#j#iSN4~G^O{AuS`2+$%?V?9YGlGrbd-&$IBs&r*uaP8G_A5W->R{3K`p!Sk>nYml?_dAS@7L%^NZzzI)DJOJMrz`YP>K057%z`75*GG|?sYw3 zR(Mr06QeS9mMKoeh2ekQFT2?CbuTKyrf*CouasjEk1Mhl+0bx!qQ#&M@J2LW2t3B6 z<)BaY&24rxPvyVc!_FLC9yJ`3>yRA@fuyIiB(-<``Lw{QX8Q7?$teX%-!PV>iMtWi=UoJ%mHS&{+<={XjE=*0^P1;oU}XNWZKe<6`fH zsd*+U6pr#Y&8=AK_|mf+FuE1oHY^@TTt+JFbaBykIh|3fzoTsNenylL1k=@34(M!{ z3u|b@sPx&=A`ZJH9Sq#eo{iRJ7;`ea<~Hf(Fv%z$06(2zBl0Xw zBS-LsQr&YBk+x^%5&Y=M=}6}3kqJD>sXl63puB=OfkNYGY?ImQS#+JGLA+wU^f>&% zetTEH)868dl>{)$Dxgaa(<@e-<6FT!r)$=a*9Xbs5HS*t4#k)*pKs_K8nT{`>O(>9KZAtS7fsL_36h< zBYB+zB>JH@*4{FSkFeXA_m_Q72cTKaZEaAA~)z+=|mCspFV!$po_Gp{IgbF!F02b4uwMhjYwvpib#|i00YFC0}G& z&>0=-W+m|0iu6^s&vL@^%P@!zwdXw+lhqGLPS2Xak<(*ruEir{ZT6(#gT$RqTY)nk zSxbQ&V$j305H?=;EeX;xQCngYkY?E;?O#}%?wk#K|ifk0gXR7rTa&D4y|lvhkm%g3&EkU z^e!7_%#vsvo6rixfmRB3M=Zyp2EwP>x?ZDaO^h~lifeYZ! zJA6+PFMOPy)>1I>5$KWG3pRAX&-@=pbsIx^>GivTwJ!@L^CAAjy!AWDH~NAcePQK` z3__fWrHnG~^L@nPaLQWVg;h1T`gl(emE;IOmuu*#)tBe9>^o(pM2WCtnh1}mc zbtQN(8klBnd37-0_4UsO8>3YH+F~GOl+WsOvd2AZ#%5*jw70}`kkF?IhA5X;!phl* z>FWyw$<3-(i=G{4sCMS1M~$1)Fv}@oc$t^kn-GJ`5DIiS?Pdx%2k=hhCaWKQGh+=$ z5M&vROb_QLLA5Vt#?x5(oh(jmcpEcgIGG8Ct2&%yLN}*uG-j0NIy1BjI9X?&oApo=NKnBL`uz{y%!#F-^ zY;GI{52JV3FGF;c*TDeBq1|TORwnWJ-a6^-H7-GyStkbon7L^*Db@HS=hz?^o|%=o z%fZbFo_#pU&^~&<87Cth&NwWGU^%}!?C$PznxLpLa-4CjV9eV5lk?yj*{Y9dLF^`Q z3I3Hum0gX#gI}3q28ELv4Q&jqjwyPlBHf2GGC;-~Xh9eGSn`Zs)*-va@agC*r(&{q z!8}J=SI_DM}59@DBwg;J&kSJ z8P0nIYMY*1az|c(nye&4q|$Tqz7xo54D&*?=+TJAAbVk#Ws79Po*(01@ ztMFt@jA?LL;vumk(3lJ;8Q620;>{YrjE6aEv#c*3phr3Acoe=SkPV-wCo-#&N(Bz_ z)x2D@w&;&KiC-9BNhq6@X)ysr)C$Hi0!A6HJUy&a&G3K>JvHK`jRGFymRuS~%{uR% z!FQa0u+1jl#!rT4X<{`b3`TBi+gf+p8$HRDChe=M`N1Qn&Y>TZ$Z5Q0pJdND>e>LR z*~7>C+ue!xIv{G-;eeA%r%t8DD^avR9A*g;Tyn=v8>t2a9_u-mgv$0BiE7-ycHgR z@ph>`od!lu$lcm>-}4kxyo?{%G&6gH=it~Mw9h7mlbnA#bJ(r_EOFB}`H%#_+sgbO z4rZn*hVf1kbo8AJfCGp%-oA$YT0p>V&z#76>|&Mj``_*=H*{;F*7gZ(XC0 z>DY)Jj7AMkT-I1?o4SIHfgMi5lOPQ|aK?v|;JwH8!1pt!VByaOL7{Lg{L*dYPY>zR zZDacX4+U~pG`jx!37w&t;B>!h7yY^>h2cb|r5Ix4?yDp7$1yc+Xmg$HEu(XtQ+F3< z&FK>fz2kNf9HUcg_yf}+I%f}yh~{IN;kJP$L&ZSgT(c=uJZFr+Og60_MiPt3lE2oE z?1l^wIg{bU;Ffl{CL6$b397U)4BB5=Y3&LcWC=K2jMzA~wVr78mjZg5AdTZZ=edU) zj4V?n14&8QyeV5w0dbBwa|DEwJ{tx{(bOJB?->EeID;7!PCtjmh-T_MSg0Xm=++oO z?N+%jvQ;^N2|nc`v&F$PH4K+v6I?nzb&Rtkpbw{S6UN*_mVEn8wh<~?JZ$IcW{l!~#i?#YQJ5 z@rAAmXA5tW)NmuS{1D$pfAos|M+P}zpjd%QH3P2Ujx)jupFMf9j^Xa|>eKG?UCwQ= z<43$;4+DNW%4wPRg1o{Lhm+pzS_30N9BP3~UxH6YH&~;yjly(FO%5I`HL8`7SpnGu zCTT8vw=8{RK=Abh29-$wrJRrJ-{&=}n=Wsxx})EWnG^4=)@FBPa^Hf1-nUj=U@=ap z#K*|&l3g;vVVljz+O0pcMV9Q*M`pDJUYw@Ug&`H5?92IBuW#llRvg}%03vtMYM>3*+PSGxk#O*EPM(zo;8rvh{{M_N*U{X^=;^rIYDc;k?d;FKP6Yn^Q{*7zglk@@mfS=Fyj<9BTtSpdJr7QHa^j1xWi{Q^7!Krp<={R4K zE^RE{%j7T=G9-9}i<$LHp2q%lUDA%Ocd!Z>MN3Pq$j%&XOb1j4?FGH`qePy*1mu=Q ze!L54+Dq?DusquXB!iNK`Z~{#ytl`^zVOd1!(t^G>j)!TOU~WzcMjzk9QHGHzpU~_ z1|e55@5hp?aX$Mir?57t`!b~ObTerI{kpgu*d ze{l5u^5UxRGI8%luW^`F>5=+RU>YNZJDI`=G6pd^gxC}lg%^Aj5$7k!2(u|~Yl=Bb zmK}`3Z&VDvb;mDtyj~WTVu(jPBdC~}kj6n_QcPN8jOUc4;GRGzm`x+w*cLO566HK{ z{Jj@rrfaJ-vmL=?`k%uzQ>w73zsACmz+aS%BRS2WQTPlQr*%!qGj?mwk>y=pe8mYj z)drot#(S0GwrmH!_Q8-@A4l=!D2E`}E_!gB(E5lo3(TW+JiVOvhEsoQ z#)vb4&*B-1w7+wtYOc^NhgdxsBr)IqZrS;Yd&m z#|}4m=j<7m-q33B80?(s(1PR@^5t`eJlV9&5Z}*>4>@IcGuk=&_-t>@@!dEx6uZ$F z2M3?iV3sLz&bY1|F-nd>T-%nEkdNaG;L4)MFY$IL8AwBA#;%|+AAnAoB{n_Jcry%a zu6e+bFFK&7I5uRQ#Dj+e!LZM)WcdEj3!YE9MlKn%Nsh<_h79}O4L!+N3afxJUhP@DGkUMV_HkxW7{Qwy0tOlm z=Eb4)%PGA6D&8!}dI{%(_*t3|Fl)($WC~|tX+JtfwztPd#|SRGgJAY@B?o3&C%YSM zbPiAShfM1AbxvIH-xL%q=O9ku7{x#E<{d|5&a4Rjq$WN#EYGQ5@BAi7@a^sAxn~)Q z+3%k*Sp6RNoxV3qMpp{7>4<r-+PLM#&*&uLk#cDSSK!<9bVS4q!LPDL%pnbjdg} z=;b;GDp(GOtNOkhl53E&YBqfWhhSMtbK`;9n|H6&2ceY-AM2D8Oi#`pgzAmFMk85t zZBD@1U%CXaoK*pu@3SNoFB0mo#5Tdj!|3Ro-QdvQ>;*hVzuVbIW`B}#{cOg$cIXsi zvUi7bNuRBmoq`6q@B347ySK5tXDnMpo4dQ4v1d;?u`4JfH}O~fpPogzXoR=S+{x%K z-JcU4FWWn(t$Eq3y$tkCgPuedTpZ_=h9`)S$l_>E@H?1m%m~w8zJVpTYwtj|j!woi zdsF)K9g?{B7!k@Mi93&>>R65n#TmkgjgJvX*9`51Zc`#8m;3xo=d z^ThI;>_=lqrAvv1X#ZwOW{n!t%re);{Ug1P7c7Mhr`a@ib$pok2JevAJf)z1Xe!8(b}o`)ZLa88ws4))W~e*!j1V1MD%c*Y;XbKwk3 zlf3mpi1dwMW@e$24LA~93SRjxe67RvRlH{gRd9&rc!7-xEV9@0V>i-0Rhj2%eEM67 zE{Vw6Z)|jhGP8VmszA@_aP+C*iJy0OM~(%k@JpBZYv#53>E~%&aFQ3`8k;T%na|ry z$RDjhV{A6g>;vsQ*Amm{BSRzO@9&5hdiJ}VoT9`S^ev~3U}7xGaX5XLg#zPn(vz5x z0!PTm+4seevQsWw{=>M)Fs?wM2sb6`rCioaQ>?>CVCp$vCOg*iV~kUnl$i{j^P-ny z##s^EP!@dwHAV}*tIHg@_h_9Ea(c&ksZS@cJjeKyzIC~b!68RPf2N6z0fuH7TMCQg zI9a9~GEAyX0>MZ)_LPufaCn30r}tR_0xU?l&S6-p14^f^o>e6zpp~xnoe( z0jG87ob`mQ`!Y}PB4C;KpY$vvL9sCiNGrf&h|N0KT(`?L97oFBxV03|d#w-Pm&N&cdW8V7_4lJLrhS^fOJ)>EBnpijrL(yN0 zsmvL#G6tdNWR5wz0;)Bm0;2#H`0FiL!y)=%yvd&S)3@QL$zs2~G9fw7bR)5o1-z}-Y`!ex@L(R>yquRtPf^4)K9TNNu=PV)W^5_x$^~Kt0 zPQw_lp7CaLfyC+AWqgst5TBZ@oaDh6*1GPwN#JyUj_$1=$Np+UHc}AroV=6Q`*BX! zSTAx6X30qXo87WuS~mMQng}M;A{HnDcW_1DogT@g#)oxo%-|42(lrev9VF?3#sLofB&suMD=?B!@Sg z2^e#*Qs1Kk^o1iwmZIlQqMj+NvA8I+h9rzf06%y5dvGUjFsYx_L<=46-=yN^aQ zgB2gKKjVxC(%;Ey`cMG!eiBr?YWc^>>3;Y5rhtr|4fkM$ZvhOs8RxB= z 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%0A`?c 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

    (y6u}V6l=c`H>WWF-BK;h@RGu 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

    {j)>5%2guLogk(VOoj_aAY#}SACz(dW&SWO* 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%0A$kS_mVjIz(AxSh?mZY0tVud? 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

    N1Aw2h@8` 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ǎ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

    #5OWn3{ zk0y>8rJbFvkYR3W<#VdmJjc4Nna2{|8ujBdrk@!D-@Y}yur6?2uF+i^*+jpKoZ|eC zAPgpsR$;3mnfP{-oTl%U{3jZ08Q7rD#7nyu)1c~8yI@9Y6h|iV; z)`d$d2nNd6O7Oq`;a=t3GNTr43G(2xsMi`fk@7RNykx72Wl5g2%-EjXB1w%{BrG(3 z8h_`yhoyr)k`zV8F64O-9Tk1l#b3>yWj&mm+#8BV9g;UjzoysMX$he-1=x{dmX7lu z!(umv5)z1es9=D4zL0?AZq_`z5nx+( zO4PO)kpIl03q{Lkxon@4U9?`?=68}C-L32=uk(BF-~Ts%pNf31FxJALz?L{@*47Qn zi8w}JsCcZSIor{m%z2ccijVIEU}Ox$%g=ejOy3Y5LW{Sd(0U42#o0`plM;AiZ{ z=gZ5~1iVHjEtHb+Ah(YmQb(QrjCQ%RZF{SLUjeu-KOXkCL;&s~s2(8S~2pXZ)7|KFm1fPL<|w zgNFs%ba5!o2ok4_Tifn>O;M8cDPQ_*73DTU{)OjD00gbw-ELX{40Lyh*aPaag(9m7 zY*B)7pxtm3U|^RzG9aO}frF5{lbDkRPpcetRod!w=rdy^264{IkAMA3>K+~hd2>fi z;BbcmF{so$?})SrRR8AN?;>rcpwZ4RYx(EARGegFY8mSqZf zFng3_e@@#~Fj`*BT%&7RWbdJEx+j@m-;6igU5FFy(A6SN)jvLtxgmfuov$aPtKz-7Ki zRvoT){d&0H062$N6=KMc;KYx(DeBp01f$a{Iz(P-Njf4clg?j zxxwm_G3${wuiUi;*h#<)#MJ#PQmHa8z(KU(C6u=o7~@JjkHk5pg@tJm^{YY9jI+@# zYruTaRY&)QW=#dmyg^|p`i%4Hjr&~J0MtM{xL#|A{^g$s8Vi1d6~NX@NA96lOJ02atO?lIWfbv_4#uXvU&Tk6s27$siy zEDg!YDvj<{yj;h3qbKF1zyWy(InyG5B&A+RHOlroQ}k9V#zLqEOvTIRrL0()Vlj6T zq-6{-Xm6L(<0aR()Cs1(Mj89!1My1T-429_%)JfYqBFdeSqni6Eg zpm(|yGN5A~a(f^#p`GB3#Y8Du3=50`b>3%faZjnX4pL!ENu|4r;P&MR-6P<1cRJ}} zN?kk_rgLyX~LLTsET$h30JT^9j+?uMFDUUfRz!an~ z0|G1-0H|&*C~xx)d>cSJW{x87shhDo&%H5V&!iweE6Zrp_UfkO$>&q%mWR^a-U{}M z0k#G013;&9%lHZ9vzt`0E6iHb-PE;j;PeJ{R{yvGV5TkOpL7ik9Rq;!6n;<9RtHJ~ za;#f1WZC}iUg#%}q?Drquh3q%2wFw8>koZEWLwSX? zf3VBFJRhB>TkyRbBdl+Os0H)xz8gQ|!G?Q#hmq)FMLWa#$672En^8{zxz-wivg^eO z=#IT4RKTw{fCR+MV_ZVtN^HR_^sAX0b<0{V0LhHG#LA5+fw!B3!;#4?dX&E#^33x& z)F)awSfP<%#7#NRd#TqX`zBF&3PPeaNYY`_guqJ7V?lnzo3Mto`Y1!pBKZO#-rh21 zk8ikG>!Mk-OrA0^)iCqaGeIOH${Xc_@iy7jxxkuYjW90NnwF#t>UFiX&TgF8Po4{Q ze}_K#=9?^Akl}h42;AR)_yz)a&2u)>-R)zvPb*cck%@(5r^Gst%yxUb2XTQ{L5!)@G<3C zR<H=)4SQSSY*;xCP)2Nq}@ei{JeoW#XZ|Y`>AR1B6;!%&ZWbsN!8hN2o1PGy0)BUv)-d_LE=vgM zzQT~jX@Fm=(c-x^gtI58j)FKXK^z8$v&t?3iOQftGUy67_-8B!{y174&y zWPl2Vt4)i~B5;$>4Z3c1TM-XnaJnYqAp%xEZg;b^80nvGT+8L{Z90L>+yT;5h}+$* zNV#j4CU@6V8lHY_aJIqP0tgT56A*fhn#a1AQPv*d7pDO;M*7N{Q~v1iD4ESl_cl`o zn{K#a`%yyAv`K)WIa?*5b-`2EJtbTdzb5Ti7YKWIz1sD5^o6_Cj-}>xhp_^1HumG_ z&1nGk0m@gPA#nE$mhIiG^!d}Lbg;WieHlY$oPx{tAfhb@p*Xar!D~3coP+tZbWSeNaX(qkO&#| z9X~#Lllt_PnbT~C^Fn1RaMG0T?y+r_*gW=!VMWto_lMv8HvRbPrx-KmNe7ao5>t_O zxAgO{iFPYc0nen}6uKUtzSSn-yuRD`ON&kDZX6+sBF?WVBPn<{k zhzAfvusP>#|IOV^99TFrCW+5I_|l9%2M5~$a6U~)wX1_8HB7(8+ zkZin{Y9-pO%NFv3)>X`+^;k-c?F`aad}rF+=iVY@D>yo>Ar6}r$jXzt0x;ZxumbiS zL&PghT&LEK%)(7ANWvJ=2T2HP&1l9PG64cLdO`M;BqzxI8o$#P<3M!7+N7Mtl+x*g z$il`wK2ri<7OV)qmwZgACryzw%^?}qd(fL98|WKPqvxM8c`>0KtSv!_9K*I1m^1Z; zES}Ws(#v8)mxGRkzn0ge6lFstcXE#$a&A zK*XaJL-%6GL7DEpL_SUZT@VSaELvODb*HCC>EhxNxvrOA5Mh@8awaMB+v2YL13ZRah2p1?(6l;C#&pDBsZy(~}A>{6x0 z#x|M$*LpgQ{LFUg{-u@2ms5Ec0cpLw&wBce?Xm7XgxL3g_qS08&%n@SM&EaLHe!cG z0I`ICP=??@z#}L%Zo*x}1#Mvog@7{fRDo>@Om|xf07P9{3OvI-0(~{F07dSUd)9~o zQs87juWcNe8j*#j5E}pz1)=VQxP#_Sd6Q>4YP;Qhh*AgT=B}C6g2<;1;Hd&oYJBcl z7Y1s3wnOZyQ$Nql&`Mw%+$qzabvOlxqBQK2yW5-SBipH!qTWz(P~q>^9760Ex}(IfnI2eD??rFZ91i<0McxEtt;7X%up>G>^Msf_J8 zrp_aPvsNvIbfumJsR#H8e%@WgKWP*S6tlHn7w7jfT{PzA(c@MQSyVGz8v}eww7r`|k zmG#-#YX*4se31DFSq1<#2)tND$(y~3xtj{in>Z8T@r~t z%FK6NS_Pw?>(uX$V&{KvXD?*C0oG>4d;9inSQb4`$s`ZuD(j+SEZrmHU5bqyL9`a% zu==vjXa;Lnm(Ii3T-e^;k8`1>^HE%5J0gWGU_260PzPPC7;;F7UIR_~p^1Sl2USFSJ@u7&lLhkF#HxPsM_V7+NnH&$u<} zkV*P)rE42&gubD8ZreUWJYr@EOlSz93Ufz!7e`v|WAWMwG;KcV{!pY*QLemNz1%p{1BD zG&WQ#eZ2u0d%O)jsY{)DCA=J{tDBIztSU=pa}T;)r_+-?NYDl4fE$8PNDMMica?-i zA&>w+@i}84@Mm0@2wbnbm2!+Xu3xR5_}$Ml@o-ByXRp%53B1I8;a>H{f)N%K<)VZl zkQq2niwSj$A|(Lv@^8mqT$E*6yd*X1CtjIM&5$<+s9Rqx8KNu?_++hUsR<$@38Mb- zyVjI!(TO?-0YL!A!zEpkD#?g(B40KwB_y=vU){0(g)h_P4j51av<0>PNB|@S9t?R+?n?r9$$(@*!l5gclXKVPgrsIW2AE7_Z&c< zulMEmx`o+ZgV1vsxsL7M{WksakN+kVr-DTV=c4j=cP9kK!(KnVKYN?Z(4^^nlV=_t zousF`+jRQ&J=cyyfa!l~h9gOc0&mLV7dV*>$xK2Gl<^ehVgT*?v$Jq@cr(Zt;%#VW%e!jc_Ft!kk<1|7k_D6#dWPt-DsYN9>RrE z1f=;MS%pwElCGNz>H>gu{z%FmP!PJBn7UHeBV8Frd}hC!=}9HNx4)O}uK)k+{nvJ5 zYnCNwZW1Ix00gzBiDO5(dx(_LU0KzmN9Cw7@(JpN^3D3LFRNN*Rz`&T5vHg$0fM^c zx3*biUB;zd1dp3j0NDHAzgTO|C69}|0JN-Ktd#(MZ)w_Ai^lERf)|Ut1{&5oU z(J$p%o#iR;I$tjt^HRX^F!MU9&b*YTwOa^@oXzLua!8 zz^o171F}DS{2Yb5R+duAQ&Y2T6>&1Z8zEarGUa@Bdeq!R`2y&r(DGS*P=5X8*CLZh zxW-{Dvnr{vE;`>8PLTOO%DgcG@P4pvZfxzjp&DZbPVgd4}7NroC6&&1v>+Z)Q+? zZJ|4CuCK<;U?mFgKI@P+ll;M8I-Q&Qx6#{Wt0!TL_s`;v}(}STYk>-P8ZqfEd>%hA~{dZ-A&}X#P(oO zUF?H{K$r|GJf+8z zC5id)@U%dn91r1$o>^fD#7I)OMu0qW4Zhkx-FII1bMO!ZRN8a0rVU)mazXw6ps<^QbXio+YGaZF#wj zV2Y|dX8-73j`TC8RLSXR){BeNW@~e|*3}@Sw}B z@Ou?m$+dZHG-_3x;_B+WDl8%dgPi60?n0gGQ3w%F(D}tp^XdIB&Ch@Qxjgb@1!EDS zO8)8HVXb(-x*@wfQ>s!;htV=vAs6HngPxEz9-Y+?i|goCUDg@B^gUW%*HOH*VCJe< zvRM_f&mTYLnsk=@#ps2sk$XG^{LalTlt)~mzA!Fjm+wQg8)v-sZCgs8hxOuI;`DQ^ zVJ4&2L7Cx)oDIa2JmEdr+F1#a>xaMr>um^@&$ZqU0N?reN)mD}avZ5ZRHhgbLnNNd z^_lVHUSG&cr?Z;15;FGCUaLM6yj8g%z7P=MZHP%rJX%tdbL<|ZO~?XIh1V*qDnvs6 z5c}>cVfvb{QlHCzEkTKJDY7(IW3T)cV=Qf(*AWo=DZfF0a1%{jjTtje$|bJNw{xaS7LsB)qBiLn-gPf!$1C2vl_6Z z5|jGhydJFPtV683_W>BU`I)5)7#sv>v9hq>NF?m#vkwt^D+G5GEtk0v3UTz;0eUP^ zgf6Aa<*a0?z6BD7RkmUQV`Gso01S;IcwWDL+w33hM>*_N=nd=mD1sV6cooq16oq#g zFlMgA?pI=Wv@T1NFdTx31$s_NzswJB$y3HffvD~wf8jEMc6)a_3j%N`TewlN#zMq2 z;p63(U!ZE0@G)`sELXx*Sh2<8Qo_20%Nu$1dbixs(GCSTgzhW`TvE>OKYXaXk(n5`BqLSg#F4db)``L`5|jCqxDL3ps0v4MkDCDR zg$n7L)IRG*5k^!ud%JsCr&0Ai5#A+XeRE^A;+%zu2x+09h5dcC_*J+=NVHHt&$t!B zr!N73?>v4wJd8pWXWuIirM@bo+!xW5M>F*hfXEUyMZV4C`lDtsYi-;`=@&K0s9>Fv8o*{++IQddymoThCzzm8_lpB;@A&;-sGAAz)sKU1O?TgUksu zKAk-%dAHXSG8I4}!i%OJyUpB!5T2*#f!PYpn%v}>`jLiN z-~Q10M2-f`OYF8MBY-QHq?vgxt1$@-#P>6n<`F26QxW2{EX*l#b1wIaE`Gf2hAb=j z8(3W^48yL1 zhpd10YUDD{7_ct4AfqZ0Vt)XXG?ehSx!!bhHB!dA6EYGas@Y_Sc{WGR?PUSW47m1< zJckT5`z~vr*JmSp7*trv5yUEqn=|XI^VF`dZ3XLP-}pT;RTDyCo`{2-3j0&>4-HV_o?kAqV#vzda7*UI(=EE;CS6o?di8raF6Em=urkOmlT{Se_%1 z0~UT`eYeQIUxgp8t!{(}4V&X*Wzz%3`%5);Wy7zW$DIFOhyj_xNYWKf7=?s@2wQ7Q z1P3={o)M`*&aQAcN!^GCLkO8dX05HQW^IINwc&LPjR;`dWH#q zf5y)2rGRzM*Lp=FKeFCWDrzAvdA{ctJw6~h9?zD{e9a3fQs7#ypE+%l;pehWxA~j* zxNhqy$&Sji$|)UZY;uE!HMX`SFB$8z#(kd8B1O}=j^)CbjDcuXK zO!9uQyQ(&Q`ur)v`yzmP*c|SEjv!?PWibs{%5zc*z}7f|hTFI8(Gfu%5G$mMwI1-` zIwri2^$d?$39|nGnjSxLL447J|d<%m3JY-9acJGx(pzC;n zjEq6fi7H2(C`Cfk@5A9r^%*&jP#4E5UqNkliMd?eLMZ?;!e2g3RSU^rkSk!EwO$-G z*FDP+qPHJqQB4s8q6agBQZoV5u(FbT`Y8!bwh!KnXLZ18b>^#@ItfYF?MS##rl(z);vQh?|AQ;H&$vHw5 z@RNkT<=J{^&e7dUZ z=i#hq1USli3Fo*CiZvbp4M}@I)B-@Bv);RJ_oDDGD-5om>uzVCDF-TUTv&)}rZ4|y_*z9pRAVMO9E}Gw7_K^9y9f!>3wfj8VTGqjw>a#;hcy@c5!evpkPo^al zM~MO$WD&2>Qa}TcvJmjX8VE!bQOKOk_ zd3}ITc|-uDLKeV7#nn$gW^W3`6#lrDIivJ1@?0Sj#+$hW1OOT2A2EG;3AoLM^1Mnh zJ9o(GQ-G9;HRH*3{yxd;k&`U^sCJa%T|nm(>;Lq)nM8<1nnj+37)|AjosL5q1Fk~6 z2)^n|1JngL7BIcO%X;NAGZLaB>xVh}xyIuN0pR@>nj0B<Rhxq`C%=6svu@c<7Ltc^$Dr;vvGs2N_4kqK5 zroWiExyp4y763pVDl))R4;Cr?$mZGh+`uaOrC7gPj$hZw_*niGBZz`%<-0JifW(&o zh4J}V%THK`>3JoOB(LmsN~fjS{2=B_NG87uEi#x2qKA>fV|n^q%F zR8r%iRo#$dr*Kz56T+PTRp>2a2(uQVf@lcwafalN*bB%DeFl$p^4U+(7ptrJT;${F z$#H<}Mv-ro0ma|*GR|aO6qDdBP!1QbwU={mNRtMz&iNKO!jn-|ta49;hqt5+2MeL%{&ZjDBVUr=+vgM- zX6)W02c)f#MJ~B#dvT=5`104zO8u^@`nUG=O_C76+%b|Tfn<=yl~= z-%thb;fe4*9mIJG{EQfMDfYaFM_~}@>+=Xkc^vX3>Su$F8RAqul62o*R^*y`)m%nT7BgiBMvXTOS2N7;qv(CD}{Yn6?aBtSB)1#xh|4W3qa=i{a;Akws z<5j?v5FKSMN0&FvckkYog_^P%MyLqi^0`e`q<}j@6FCtNf0xfn%v7ODXwlxzs}inH z5vEm!_VK=1U0=_Eh|-KQl6N4a#NrW{TYK9DbO(zImGJElRj+|OsE`?~pOt?**9W?Q z-^VB$R==~;^JXQ&R@hDn=KPyP>uFrr%@}5lBi9lpR!#mMADWveUgV9!w63Z*2)9f>2PkoDZ9rC%^F03J~o$m&Z;CQBA)aR; zX_`ijb--R(Zgkuh!(Z0SJQyqE&2>;w_R#juZUNoaRqnOt@_5a4^?DJ5uA0znvyt^; zeOrn0a>~lO6@q2HH?tpr300rW3xInZKtj2wRCRHA6@@%$RyWoPfQ>1?yw7^xM_IE# zF0b=;+y~^f&9ck`OQO$jWX^@7@f@A!TEa;r%fe~E@#}ZrH6K5`FE17_E9u(&t#7r- zvf`PQqEIDDvaKXpIZFuHYW7`Q38)vPw^Pyw-} z%@KRq2X}do7;7b%d6$qB0CXnf-Ojajb#ph9b zmvyk#qbPG;lgwo>YFYQ^R|9u)y-w~m8&In>?sGsE4-&7;U_E>6HUR#m4Fz-t=K{=x zf=%-{WdBG&7KP(`=)-PaG@eA@xSd)(LiX|8~!9iCE z70Rkb?)O5-ht1`+MzJ{$kz2yrBw8~h=_evo78?*w$}1`Swi?#v98W(_N58$PpLwu& zuo*|TD?eku`SJUo^Zhu_j&!sM*0-bUfMV6~Zp*{S3-ICn?`51i$^95fe)|5$jJ1=q zcu^z*F%}N&{SxNa)|bmmGl%{(9eB-^4tJEt=}2|>a~2n{W<3{#H0}VlBFFy;+-F-fy)2r3AYKREqf1P6qhgewC5sDLLJANKpdA_DlC;>7 zvw3&x-T2CO{ms`T2L=HuA`u0}3*kQUJEGSrTnaF;#Jn}U8;FQ|AQE2xas-<5C|@L~ zHdy|~i{TadABYG-!H#E~KC1$k>$u+6N?GOs$+^k6${Ugm@0z_o{;?`x5g`2>(%A?z z0RR5!zS&p}V53|E!~oVRb(-r5Nm>oiU_l2Av(3w6vc0txfpA}zW7bd=IrK3YMF6r6 z2~}DQh(Uw^bJkHHt72^<)YUhaXmn7cY7;$m%rkm zQS`SF*4NFC@80EF9}5fK0Gof*m8@@{y> zSnqVM^(>UFl9;-{vursRGg0dHmx?ifc26aw%uRJUK0T|vla1}20{kkK%tpCbH$Sgr z9!`!9n}rZq9vk3zHslb<5ejj06=jw=ReG2Ld;2}_%6TcgpMLl*a~LJZqmXA85(LcO z1B%&ulC|Ic@O_axz+Cb=1u5U62xa!#Ad2!N;~NVJ$eQZi!rOG4^;+NF4UxMj@6f;c z+rMr;?jM#St5C1Zw`X7_{pI)HvmOAc%4|0U0QN(2l!*oyg-xksCZ-&DmTM&sVUqJ! zKrq0nlV{~AW3ff(ug^kS0>mm_d_Dv*;~6f8lw}=xYEH8jtC_oMD7etp&p*Gu4KY}# z{rRUq{;9z6ZHNQ!hWsF5X5zYeLe9?vrm_zt{vIExcoiU)b2T&{E1$-F2h919{USzy;vAz4c z=9R~jk>erv>C7t$ED=2Ghy;en@CqRw3J{R}$EOEH0K)tVP?GJ_o+0aua3V|y>q`d4 zxPcU(pIufGGeF8Cx-eMG*}ZMvz571%AJP*7G#z5QwYgn#xI&4M_y{px=)Y|1{`TkO1dntgNN96UJ@5+cKUr_i{hEu@zJo1L2?K}izDuSIs%XwB} z-Sa4xaCj^{3Bb?VWyPPe{LH7-NlUfx@$9 z^1OgM?Vw7P02}dAPjR4c?KR1#s|d_i{MLqThx{_{R`^_qSx$WRZ>PCd$#HcfWH+zpx|?euY>{U? zAv{pZ5$hYp5VXEF+Z-Js)XLWa;KEz!xah|ULjv@pyYg&$!+4q^5_!E%4hQ1fr_BH5 zIdm`&#_+v75780%J~M-KpTgm5^fa)T110*$a`HEX+{#r9YjFbR!ayJFIcIc zOX27JNY2->z;iX0A~ZR}xdO7(5~UE1>GrvFTCW}>2$j!7&R2hvA|F0Oh9O`1J@+#H zZ|$q|!~gQX{^wu*pZ||9zkVBENJlA{d;#P_vdDMV_ECfeRf_-s@(2gdhA&H{Tt>LG zC37>L0BnC#sS2TBQ5UY|Ro6$7kPUzHdq3|%asVP;AJ^aoaSdD0I4|Wz?m>yL@EwY)U0Mz?iJ-~c?*z!+L=n55TJDGsQpioNZ%BnH zW$Y??t*CvU*Yk!5y4hMcJB1>)H-;e~#(I~}s;ctwO@w-z zFA%a7p`AgKs?FBMM!iP~)Z?S0?4`vL_U6VO(gYImG`2w$dgVz(ITH93AuFmpAi(16 z__XFs{I{?zWKl_9p?Je6UmQe~a;+FI64lQP0wNXlP+ z{iVi*oC*J-aP7DGC`E-5#ChvsqDP6Gi`P3l&4+`-W|%!B$A@(hfkcX{i+O~-0so4pJmiv6DL zWqvG5NJRczd+O@+rot)^&?;FQup@Nnhd7#U2qpt(OaCV zTnrVWW&)NU^EVcE;XgW%BgIGtdD9(sn&;c-go%HMWzNK)^(OOlNQ|GF0korIa)0G_ zAICfk5{^TFa#>|~CwGzkIj_3RKL*_E=aP@-{*F>KPzcMzb&gc9+TB&;eSfx@k%N*M zdKw3`_9KTLl$8!Ri+q(#?#y*EpHeZDCw_j)^Uvkl860^uT+XBgT=I=Fd0pEs92+33=V>n#SIglqX zF2jW|D&bmmo2p^}z4GRJ(KpJByZ_qSawFg1@7IkgK}qinZ)IfxQO>y@9gjIbhbeg|~Ggo`L z=2`xJQTLU5%8TT__U^^iZFH*YX9^qK<$C=}(tr2kPvw2#{fS_zN@nIo^{knWyq1&N z^9V{+i|Fn<$H z__e%lWD(-w9zNsAie&lO=Z%y1=S%2Th?HiD?byFw z>b#{0M}0nj^E-lrD99VJ#SsIaaXrlrZ*uyL&p3Ecs$6D1?|Qr)wYl{6U=LI8o?&X`&Sm?j7QRUv_iT3g|4*8 zcKt>@bna!{TCbvbu1?RIm4M?%06bEZt5t&KZNQe$C)d>Ykiwy;);89okmZ&TP61c| zZ-oB1tlW8D=9_onEPz$=x$erE*8#q_d9RR_VE~Z?;MIUi3Q$;ACkIdU7hru3n9egj z?^`$gc1bXLntj#%A8~ttGbHKBt(hlO9yS^vXeBpW1ZxMdi&;Wfj*Y(;{fgo zJ<7AG{^S}@S-;JIYqyZJ2{h+&~-9j|kboemd7Vp774SvsO=KNe|)8 zUiFODa$O~s2xDMdvnuoA%)644p-MgSaQ7(KVH3V=E6Kk&XkyGuZ}ZsLe?fB z0=#&XzR;M#aG{8-y^V(O>dCff#No&6_oC~Qt4S3~k zd}!W$|9x|+D|5gC1=r7Kd9#Ee0EfNoS;QJ#)PIDxVJARCRkyqBF>&IgkIG+il}>W) zm7E2L!FmgasGcKPFF@hy=CWDNK4vU%&Jir+N>~QctqGkxBB79rgT(?zB$-?#mh+oi z; zySacYR@o4vj$E1h3e}K!Iuk`IJn3aRq$leGw6J17=5yVJ$g>cF7M!%nrT2PlWd0sT z;`c+Ooco;9(5~#$kkN}gQvj6SK~E0>dBP^p=I#CpjNZ+*ANm*0vJWL(aN$d6ucRuStOs2@nA% zN|E1QXC3orUGC+eyo6XGU%IX5Nkirz%9=czYh*dIXCwymbO0$KYXg?_fcXGzra0Eo zhwNYL1AyCKd6b-eBws>qbWP^A!kH#bl}YtphGdwg^fV*Ai+tZp@frCxJ-#&{ugn1wv+ll3RV83%amo^o?} zE*Ga48QY}1kpS|Wx34QaOc`sTz6i_N*>wQwMe}O!On6ecDIjF)M?s}RX_v$OrG2$A#8Bdlcc(y}n(roz*5`CN~2OSQhcj9n3v z)n+-*EKd;G8Q(ru*sycW^8$Nxa+r{^cHX1cqo0x4$_t5Xi73lgbX#PC5b7ccx!1yA zIsb$u_A~DL5T4UKw;Y${(xY-AMJ=44pA_L?2vXWtiQ}JteiPYopD}##K=3SR0GR)f z&+-_M)I~PD-V&53i~K$BsqYL9lEisQ5DM4&LOybp`Wtfcj1VIH%J*jAxlVamEj4aw|zOYU2xbBmmO9S?FM6!ptkc&5Go%NKc46O-4A?spywrF{L( zcYotL2J(IJM11vJxJL0!hbaFB5iCHaYqiY{ZIpJI-4i+RKI8!@@S@jwD2{S+%2VMF z^)=PpWYN9%Yx6_na9@?M5E1W0iXwk=oi=pK=WQ*oA~F)&J%i5~hwJf*_*u2E`5%97 z7Fe+e#RxPX0wC`rh$LsTUf)dGY81~Q7_3dIK~>WDr%zEpFXiSPKWJEWQ-7zKE+feI zUhQO)a#3H^*jFMnR32ho0gmN-2$#|z?Id7KcWIuMrwDEe9k>E`>zGGaibXFCmvxD} zi4g8aP>h?Cv-9fnp-k@Rr7t9a)n188-N`og4;laf|MW>jK~!1oDGEx9 zOTQ|AokdV)%oGJ{C8E~PeY|#lc^P25RQu&R1W0a$F-qoJT3KxNcHiWguQE5R8p0sj zZq|Lx$x(p< zWe-`wgpG|N;DrP%gbb8bJfubiDPU6{3Ezb&-DS)|AcmPUN}pm9QdFLUjP)eX0N5!i zP?q&v|IO~}x`&(yVGR2pJ~Rs<372PQ<<-dBbDf2%`b3dX60Za12|2O;fCZw;Gjf}K zwiNRDkTG?#9|n0ofb2AD^BwP5=13`I-Y;I4gAgGKg2xB}QT^vC3RL)@P_l|Uj?xz% zAl~}L{>uG#L!c4GwX7Y_2Bm}mSI>`t9M@arvd=a3cd_@CzE!4|H-x3_58u6Qe);fQ z0GY;!6i$F**7hLxm2<@M#!JQ1gakENqYE zoLsQSM%TJWKR3%u0Ve?j%~Oa+)@NoqGU+)WG9Y*+`=PC76C!mH!V`eN0!qsD=ZD#Q z))aY;I?Z!VZtrvZr)Fs*VB;6?A(?~Gl^XuSy%>Tz zAsitnS(oP*fG9sd0&~#Yfb?#+H|uV*?AYa z#d|>xTm^75!tl;5Er*0=FDh}(Xu^>+MhrsV8{r-OE?rx6rz*|iN5Mb z=3JGBfT4;ly_x6eLU0t>@_xBHNmBzF4%aXO^4Snj17guN?KxsT#rIJ@j zhmz+o!tJdR#21mJ!|Wrv=QM<7z4BNPEP5=1Ejh)&cO97{R80uzboM3#m7EYoH{QH? zm9+v`>A9DXr(8E{;}Yh9M~NHF{#cE4tMqZsZ2T3a=2n@Ol4Z8Lb$i#u=v& zT*!)^VuWJkV7#<;&Gc+YQNKApJXWkUF$uku&ci!?p0KE`aet`(>*(qK`&(50x z$U|IYNaR@c_F&k65fKufBNH>1e$KzbZymXE+2iG%aEr1EdR_R8ZI3V^MBXRN459IwYrpvq|6?=EVdKpJHk88^`XS^* zoTyw6PYWnXN@gW@@GAr$!cqkgR%!`!-0#98mU;oC?ib)BMp*(K;HQ#~u$;)M9QH|B z#(-;0(GCKhSwwOS%lfRs6OhHTP>s%VE!Bg7I~~4<5hii$tY?QHk2X+6U=g#w==N>mvjDRGCxw^4gibNve-~YouR#+KA2P9h5*4r>@Gz8qqSQQSC zN7KuF`w^x~QIPteY;Elp2v-_e$cmDii)BK0MO7JqS8o9Q1l$+lQjtfjx*X68lxe1!lq_Kc~lwaY^8gzKrBzg7vQ!pl@%lkESJjiZkY zWx1NQ)?ef)N>JI~v+Si#*3;Q!joc22e*fW9@^f=}l$+#!>u=_pi?b;0Jmmax#@Lf+F0^W@xmQF-I2TZm zvCQPy-0JL}_aYL!JJaqH5J+##g%nMNC>XE=T*AJO8|sM?**qVT^!O-zC30y5$QfJi zoq6M70d^&^le3G<#vIu@3R%mssLFZ)x0)9|JVdrpQURb(dG2lq+Dqm|VG)+&NWH(>h-|`e$3^Oyr?+PFGjg$^t#;FGv2+Ymxg4 zZ7$S@_n&HCyxxo4t13pkW*JWIrRal3uR?>AujM_pUcRfYw)lk<@PrB}WiUeIc`JFT zjmtV(4HJF4>f(*0 zF(T*@v>(}IyD%EH-nwDwP5O{5`uypA&e5BCK4(wGt!k*4vo?s#;ML=8N zW1S9>MkcSWPD^%-LhQ@)l`ScRQm)Lw!BOia4MDIEW^zsEL|)C#?p7HhS=s6E&P*@& zYP*&@-}X;4)h(G}zwpSI+i{*#h-o+HRzVc~Rg`&_IL=^67L%Eh<-?52-&kJ$2C@qsxcr6zrgq+a&orKQZ2CP>o)UzT88X*d`YC{^c68YU{a)7hWes-Q( zPfF{-Zo8htj=5Jrzw05*JUT@(o{^N+fPf^-%xu)(Sxm=Ez5QMUO6YeJZG+_B=EQP^-Yox;Yyj!ug<0d<-P;+ z)*z~=l#nj~zAahX0)7O6EM^6gd%**NDCAqN@!xr{_xYU9OH$9a{BkX%AmA?V%Ez+w zZRITFLFgAyg=Dw~e(YMViR56)Eg70>E+PdGC!hH`2G{o`(cM_1|EoHUYY~2~g}YaH zR}QiJuK$~VQx~Y?+ zxYBkJ_h2iz)_o2St3?Ug2qaZP0Q~6ya28-yrN+^!V$%T^aoz;E+y|jvFHy!Snh32y zEC}nP2(7(5`#8W$bHauBwgWUlq%10d!Sc+KDa2t^*1vv0<5`4nw_L;1HI{CX3kq80 zEy{#41kUXx4cmmS5R{bDW&jv6b{)X0;hx?X$i_>qKMuer^_K%230hXXZk|Qu7yxlS zf7fF~1rmg#bxF$!ARGzJ?B6IX;RcoSFyCzsBedTHv_?k<*l19dYi5l4s+fPDrF3fi z0mYJ>`@>$nSANC8!9j%ZRw?na!dK`{fMLJ^uKb%(rAx1=5 z)usYCC^}Wwe*g5L*~%QN@`a!)6@7Ai*1Y-dP2T?)P#e-0!EMh>u5U7yHoWYtLcivl z_wPSeDA4pwyT*%4E7>o^dcZ^ok&p!;LJ~r+D`_4H$e9dSRH;hXg09%e^-OnAdzwYr zeyoaN+3%Wuk{B$S@)zEI|6S%L$|(D%!sK#Bj7h(fHXmn@xf1Ty=7#V@P3L|((!1C0 z`c`wCYnnG+&8^Heg7K2~3z1Q>x(oqXpZlCCNz5vuu@(wF(MWJkxLWp{^_*4VD0|Uo zg^mfin9I5#0%w<}m2)%-NqWgawr`d*N1eQv_wFem(;3qLrjt4B+8+U*LU_moo(%nC z@+8gn`ew*Tz-#s_(6O|-*gT8?6uC04EgUOrQP%fy#+Z42oNne9BcsQP9wfZ_Jw<}D%+FQzvHP2sHs3>dN60`o!0h}u%00k- zG6}#88JG#Uhok2D(F^yvR-QeWGGoehmI54ZLkbqnQFe0n`Ao?`3<67Ly+=ptU$%M0g!nCEVq@7{f%Jva)Qw;GeV0hU8*qhK^_%~X|~MdlEP-QCT64#1tsb9=5y<~ih!F)4>lKB;}a zo$D6q%YEK`_g$V%xLFgTx*9yOkaZ0yiQZ!fJw7^ae*XDSMGkqB<fNAAUveOrMX&(-aE}+%)yI{jEo2zSjm|>K0yYu zR~^qU;Yh-tT9BXL9rBW)h{SE~8-^cLS2-0KM@vRR3PQ#zL@RQ*u2-Q|ay3{coLxlU zoaK5MkB!{+6scG9xn6#cOeoJs?o;naa=h0Nc!PLC=oGJ$?Z!*)wfmwaB`uM$jy}nQ zQelO;wgmL{9-hhPf_i-~0u!XDiQ+f*^-YoxfE|Db)+u%WREjFkK)wU|ydiQacs;!T zo{-AVWLWD#$oq1jEfQ}E0wb|om=gkmNLV5OOGPc-51t6*#rqK!*Y$-k)NhC2x+fXZGErpiXYU9-Zx6k6U$dQew7l<*tOMYx~O7eOCd9KcnKQ>Dd+$vHL zrY|{FKo}4y97tFO3n-UtF97S;_a7o0B%i9_)UBQfz}ii~I!ld&?do!8*p zWv?0zzzB@#4YL3FD03=ycT!-(M&>S70R%WQUJZv-Olr&VW&8p56c0;}WNV=^atBy{ z{`~7NAp~i!{Oh z+wZ?e_^ho0*G?3GuO&1veE-c06bymH5M)9Y`Le$7pw_Uu>r>f zw|H&w$71IX0~{$>Wqf&`&W}&a3nRX_BzPu7{sTo06an{Z0c#bDn>m#HXm1G}L-16x zVr{0#R2T!0H!{DAQ6ld{dL-Kd@j#`9c=}ZU$iP0K{_6FsMjwpNheshlQ3?ygD8~@3 zJS+D$(npB`_F|-kUD;>|A(FvTJD=zBS!=29!*ce@tG!pvr;i`Xf;WobS5mghWM)~8 zLrSKmGAEfYo-vkM)+tKCK3L4YM2c0_Vx3gw1lS*BZ`lhQQ5y0gG=Ajmkn9L3@Ca?J ztX1fodi>nadUi0dQ??SGA z&DZ*^Zi5Z{9RlXD9XEmDSZe8!tttNX+5UX@G0n*Q09RQ3h{3+R3MtB&wnq!-sbVufsLDSGBhQtPJ|!%N3n9n> z70#E!6N8*RO(&-U{1!rpJcE3L)8q4yjJ4+aR&~5y0a^tqG(}VRLUpJ6rzpsbTk}vQ zoJWIRp5Th{-5gDbFJ;N6(2tC4XnF@|l+qmzztZHu@;{ z)}`GzHE#sot4BpZmA)1)c|PE*H3V%nH`nKpkHcKsIU_rt>TF4}Hs?$0`rF(_*6>a} zH2oouf~>SWRL+z9x+;ti`NnH=|Bx}|>?5}iA>N~FC3YtPpsS_h`h8_%>CU!@!fZB~ ze28aZM!BSr*y~F@l;}fN{e`Lwx4ynn9u%HExeN+YTu0~8OL7ztp|)bxRe|Wmh2;R# zi^#6UGA1Z`;kn2bbANU&Vc8kvDb4~!f>a1mKA+WzED3p!JV5?6{3Te04DpGs|1+@N{&YO&E-Ju_W8CA1$e2w%6yR$O~d*+{Tgp(&Ep^gKx1q z*0)GPl)ptl0D9!%D;WSLeYL+MCC}9zeVF&(WV8D-0wT0&L}=$d2!Zzi_iKQ6zRULr z{4R3gTHf#P!mSV-M-3@KbmS>`ulIS)`<8N@(;NU6b6W7^7z|LKlNCX5SD`AoWF0;s zE)KC+b+Pg+N5Zv$ULFA+2%#nzdG$4j;6N10f|{`aY(c$cRo?&nvA{Hdwj6-ZivAcv zqWTV@BFt(j*H$G+M{NoqM<(<3Twygx4W+RXF#1_zx)KV#2)pYDB>5;gP#NR(=q3Vr zp|uP}IE(qWvMkxcW`NS2jjh}x#4exr%)q$hd&*p8ko5rHqbP#q2)sz%Ji>Fc%JUH6 zNuUaAXK$rg7mPtDSBQ+#hSv1A0B)VcHNcafz;!R==kVjlrkA+{N`;mnC2M&eV2UCW z{-Z3h&?Xi}#E=!t7%8q^=C+zs&CE6%TU%{jPS)4LB3($4xqiuYB{7yYIzNkHCTLWR z5|7)<6ANP3~B{5Fz1i z8b0}*3m+M?p*BMn5L?eopsS)|o#Yt^M-yu-sa}$0S^4vCcWb+H7F5WQhXULHAPAi> z8;v0kGN&3}*`ue22eoD&e)}bBD>-wix~hNL&phQJGy!{fc&Q{&Az&=Xk|y_Fy^12@ zhJI=GKYh+;yHR%Q6&~jviWFR&9tCvts-Fq+aq#&t3N=7E=SIx8{sTZdYnh5_xp1Cm z(44U7<}-3ekUa#;z7$`+|KW3yb3aRl*Qt9puN_7aKSntMDS(bMh%8lNe$K7CDUkf|2roDg+&C%`x40w|e1O$Ku-TWiGN@>rB026d41%6nJZ=2nn z5Yhl21cs+rTkz_03t%!%Chla+0a>St9*;^@KszB=jP zJCnVcx7_D@z<*~Z*UR~2EK#vbn1*MQ(*h(4kwQem+nT4GUFEHj&=~~cA!{>u&X~x= z{5-?sGS&1qX})grvbGgOr4Bz zcK)S|7IJjPqxKq_ZUQ+vr&mvi5LbI1c%2U^@%mKAoih*Lv$?TbRk#?c2*}ONjpj%`TGoTNXGyOM-p&BjN9V4JJSaWe zCct}+qY#5^_sH2{8DJ0=`AdihdCZ`rv0lVq{&rn}ysOb?069ywkW%X)`oQb=k#$+( zyg#@mvW{nb5aO?h$mWJp@j|s`TH{*g7-3-SkyD|3xt|pPV91!uo+Jl){pAq7oVV_D z^ZDban%D9!L~gIGY-IclBr|0w5iJ3%A`rm#O^AsNad)Rs$6|99U282x2FRO4mgop! zp6BP6H6HqAJ2>Pn^7T3M+MN}K#Ne0t&Dt$5uhnM|SWyYBcOv^RYgvUVB2Txr_9A;> zgWJf*N#x0S^uk^hFHsduqyn$FanEKxGbMRuW#=a~F5TZ5J4ZM7^%}iMzx?u-f5>OV zLFVj5F4w(lw?cV-f)-nnLjO89ZFh5`rk`gIc+Xht^Y;79dfuONQv@b|_rLO#$Suj| z>H2(iI&DZ*358tKo~rAH@FR5X6?s`)C;!Nd>DB{Nc^x4aN)8M4f>2w;Xq?LRMs`1) z)VQ;A@;hUKs$0=>^$dtr2#agh*z?YR$qD)AeGPKhb6jd_t&;D&4S*MtAzwlwcVtcF zd6?e(sXQ1(6ao;+8h5C5Sm z1yvYRK#hd%Go?!dUgf?hK?s~k?4FOL)4-_Hovqk$iRY{v<&Mr_mKe^33X}s%6xwaT zlJJVz98v&XsLzLxkA9TYOAh#Tl+k1E?a2`qJ7TxDOQ#aqmfCAGjTR@+NfchUu zfUo?C0#M`THi|`s63M!(P+avltharo=t3eF+MXR^{wYANdqRgY@r)Isl8NHMsYJsF zWpn-}0`KJLq}=EA`2b_!lvf2{XEA??!eb#*A&G@_9L0u=Xmp2IAqYYati#IcQr`Pe z7U$W_mHZ8$^d-bX!gt%;Dr*(x&$3S(bn<^n^GcA6ylvJHsI&7D+W+?7|GTPm#XSx% zXlCV}@)4FK59b+_rPXm;5+c(0VSm3WCtc(-x~5B}?}tPPqmpw2L`za8sMStq-2@cP zo#u63N8&P#A#Bz64wd-t1{Z$ z-75h95QVIyCQIzr)&@M9XApuD022W3kRF@_ct^n#s1nuReg7`cv5>htjr``iA2%0g zC$--IA5AtdqaasThEYVr=KuJIzt5OA+xg1AJw3e$2#9ja+-e+oa2!&*yplN&v3QK4 z%zY3$}&ap<0(AtHGTGMkLW5 zot)R414@@6zM5GsMY*o8tz_?BXKzf`enx`jmk8NI#LbmwBM-#>ijCI8Mjntn5`;=z zxiOA1zd|d7en~FoSpZ;pOKzgv_ug#RzNGxbs2`u5Rz3`?s&GgB8zk?l&{ZK2Gm(og zS&Ph{oDTVCWWeTH_Sbk)-VwcV#MjHs5^5pYR2auF^G}CPvj3|GL7f|k{EwN3$op(G z4GUSOyJaPPXX(9d5(~gV2I(03T}v6<|+WwnCGQkWo*LFoL_l45w=aI=RFxiz+!Kh zG3OaP6l2Ik?y1;^q;uX20;lFE_m`)G_;9)3g(x9vp?hUq0%UnTcr>T7?)D}lfpwXV zFl9ih#Onah!GK|^^^o0O2atZzR2u(11qg0#ZfEWvnvcJJF8Q*xsffjMfPO%Ih=4Va zx4`19|B!}@uU_rs=jf}-8)2}x&hrMCGSFl{K0ely-#?NZt%h^Do!=NzRI%KsIWH zPS46y>y>U)DbN|?jrjGq_mTabkc{`u`o^m~f95cIsTyzw6iLFL3mHT{dGHbOw$IR2 zv%b2TabD)R+R(Y#lA#xQZu2q7`H(N8PXLWTa=(Zwi5q#1ks%;Av(9)kAHp)u`xzHE zH?}h`ZP?aH61X_*MK9=Ql;bhO^DHdu zV?HnZ=_^P#MJ*X3J6ewdRK_Eyf>qA%6OTgPT?ymDr+JeQW&bkA2*;PNmcV##1Xg)1 zf(gEOS6a&iOvr$i&*fj0&aL<68X1%8dT*pby}!D#=U*E#R!@@a@q)OA_eZ|+>g4F_ z7s6}evy~j5G4p!Jae-~%IA`W-ING=L^-YqHr3e!s(^4T5Ig{BknZ(Q{LJ=8Jp-jGb z4)pv07;GQj1VqHoCSF*T_u#$0S~4CeV5vg(bth?vUR}lt?lV5zcB`57Y>tFuv8C}Qq|N1}ur?PyAX&2M2M+Q%ZK(ftSxME<}&%F)^&v){dWQv!4U z(|$m6KuDD4Nx<}a1h193jZjmKtL7_<7L{JWk~apSdy2xR>{S=j%nLw!^Xg57=jedV z!ZVY#qZENHAq>LNkVBQfkP?<~p>LA3HDUxTD{epYRH1YMsqSmu7xSL-RApXxNO)Gp zxrTkH(vq$?q%){|viNZx<@^WQgr^H+Zp5_;5z=Vfo2({4ZkMX9Ur z;r>DPw6L2=KzOe#{768*yU=_Jc@lCX_8+)}@D7uVIQnqSs*}z3YXCioz zisMraDA#fhhK+oeS8v`1NIX`PGodm{WedfUjL%xDVhn4gvd${G2ut|>-P>k9>&pAc z5U`}T$MvK$iIq$|h-;6&sKN zoX8lS3Lv4Mu_1$UY*f+m%%m`~pvMaW-tXypobw-G_Vg@%c{XPX;(rdXnKXUi{kfZG zkK)e86viZpTFwGXG}7+b$pH_^v#_!g(s7*!j=*84P$rkhfZ~>`q4W21M`%W5d;tD) z$U}x15GjO`oaZTu99_+G@xX*^!EhN`{+_?(ef_13CF|c?o^BS`L%yyan!!fikY{45 zL0GC092wD<`|*_d3TexMp9w+Yy#el~yHlCp=UflK;L!+exX#}*ubnP3E)3|odAti5 z9NJ5~+Cru>uKA2L?{hX0tw+|}$h*vN#vGCr5cHDoD*ny(Lx_WW?6Jum(iITL6Cl4O z^D3!#CSZj}WoC{s=&|JTR6xIKWHT@M-2JG?oyt&h!}R>1m2a~ly4{!N?D#Tdt6!wz zF4vVu!ZT+46>=0nx*^toq8e7fxg3w|Cj@uUZ>#9tj;|`V-*b_3a*PmOp-<0Kkt>(N zS0Br3`ZYPbt;WVX0!(I|0~{Hz^tVyv2x;ptEM<(5uL0A*ujfU22w+AkR(WKdH%3Wg zMl+y(|L}8-Lq~SuW7d!Qwgx~klB4>PuxKG+3~0XxKfx#Tj}RlJdlw2YH`(ubM)E!~ zn^iwo3gG9}90lCpV-7)1z52uw?y7zeW+xu<#W=ecqmv&O{S@}BVKD=_2wJTcC( z^>ppiv+IoO3xQWCB8&LPpMS{Szsni{`vCnYYwnrr1n09ny!KKa$X}k7ea{{%a>95b z)QNY8hcSBt0mvtcB;;#)iV+m?XuTorJt91FUZF}=w6Z1g71WgLRTIQ~wyrPNV>-`P zgauJD27)`CrFpU7dFP;pcExZ)IBMV3X&@41djz=wA-rIULT2IAwGz&1R!Jxkbb*fqU z8JI>MT+@A!4FBBg|NOJiqP+-I_iYJG6q$SEXWkLxutg9Z_w;wUDaPXZ{)W&PA9CX7 z8hc*XC4FUUtLa409$%c7pkOiQL6E<}Lawu^3RL1FJ9)pb4>icSC*=$X{nD$zh-!TK zyJsUDfZH}H7^qu`V(8X=g(%4}Q0Mz&fIa01>~%6vw(wbm-CjWG(b-vnI2NT@9+>=N z`;|1?i(pq>3n)=)k>Wur#QwU6P#FMXQbI%JrjsbB^#Xd4kP$jJIYdSsWu_@&fE`mZ8PJ{gNAE|_-URISinO^A@Wp~7?_e=XjtjhIKLTzPLFv>EGM3{! z6VJj?2n)*;_php5##0@;^Uk#pm-#3I3MyBvWOI2nl;27~{Z!t^+FbF{S#yAx{bM-GRtu}{I zl#HdmghL&C`jolL23`HXB&sfdd z$4?(Ci8LD_fcvER@$Gl@T)ZFv?PJD0m$l#xP}NLwCxst2(cI>m$~P0dlL~DMXw9|s zhe6ad$x}3db#I7}WIwNLY-b!VWoc9;MZ-QJMnWWnHrbDIYUIY4JNsdEWv#qvkNJ5m zfZ~^sZ+Rm+q%SWmXD-#*Zxg-$@TWhO7f8s0(y&6N>?L~vi9>?E_B9b|qx#F<_GWWa ziPJ2?i$#j|c6Q4`FFF6?hhIW?glM#3HvlF}F0g3bDiqEg?CHF2URe*3SDk_>(5sWv znh%Y??kD4_AcWXlW}R2^e7Ev(az?L0=&Xf~@ZI5jl`=-ycp05#`%vlC>jGgRz^`9d z%r~nv**6H;b(X9#3;Bb&A1qdPc_53T<8i#5WSkGIuG86fgXS{Nx*T94)Ipfa%=}y> zNC#pEm z^x;z88@)L_pFMDybCsbvqX3Ec{$^^Dy9Z=M*39ODDswdtydDAYovF;F+#1p@x+8$y zdxT<1imyDVnaodxL`5b7QX7$Tx4Z(KDjWVRBx;Z|p35?3s4^wTqpXxnb+IF9MNAMnL3hOsO`Obr3Q| zKI>fG={+|0s$eZds0r2aJQ-VXW($WI;7yauIYXu1&edh zq1m4SP7BMqUsh7X#<{^vdCuh)fStk+g$dq0T~JZEez!obUN6W!U9-Be&|IG0N8UvD zW@^Yw9snLIB-}c))Z6dRFVi`9d4KkDYsG%d`u7UZXBGk;CmA;n-9vtsSUs$>!*j>W zLa((wT>#g)+B?Gfc)}EnDAE`CGRS^b{f%h*{@ss}$3XUc^K0b7)Jw=nWRJ0JZ>}|G zyyUr#&y!&Y5X-tT-P~Mc&-I$!T_LHRoSE~;rjUf)kp0XLZ-6f1y7B|iys12`$i|=l z^5?AYQ|7D9$q+s$=i%Y$uKDoW`ywI>0r8XQuHGPj&;A;ZmEn!t&A#RB%?GUMM&^*wL;nsWMo$n1p1s|z z?6+>C5h7xFaUq0D_@q7_nj#9{^RDzTanED`&pEE$)LHcu&M&<#`|{{uR;4Ki-qpI}&1%QGQL5cOT=WMBN#2 z`AU-L5Z;ilo)!O)A+Ye>U;k|m;$uDsRESFr^~!zab0{||yhTDTYdKGX3QBA1>lLcQ zQYv{-SP9Vf>u%#x6Q`~0~=QmS5j{sAYdSn#gQMQ~0<39%~cNbPR~jF1rLR}RYFtG(&~&Vo;% z2!}yZJ_j6X)+Z!sF3;>(D-wG@Q@yAe0Ackk6NL9o61d0=aragajyg z2?Qgy`#De&*OQXS>DP8sjDaQ-wu?h<~0N(B046i&$w>jIxy_}Ql`w+b8_AI_IAp}qj zvbQMxjEi+sNZnnov$)!N@a7k0vyWM;14Kf;dDc{}Qsx&9&|L5KGC*0Bg>K;?AI|~z zI*?CBkeYSxH@aagPQSX9CL#Jh0O8d%5={2T=SSY$&siz zSFm8P+;5cPoy+r^@7|y_P|RkoZm$AHGfw53dyAQ~$UD`=%;nUq9uE0TK(H8m4947z zuUZe-Wm-q2sbT(0n4MpdQ z1X#})kiqYNc-I^q9A_-!oHsciI>etBdHnIGA8IW=emsb5`95oMm-BuVnRr@8lUJ|a zWDV!b>%u5PzS74kULpRQ8(T%7L^&{m@wTfNNWRZxu6Yq9@(Wo4qTS0JJ!HN;PiuS= z&d89MeG_8LlO;EAxX7#7_T`Wt`QgK-j6I+>^Ck>W*mRh5U1blF%c28z_TEGnU6mZaL)?P5 z=lgl)iE5rtktPlsOT7Q@ z9*+X_U&ulcjhw9(%;zwcOycp)yX0f|A=hldf6icDH{V4(cvYP2ygog>lKH#IJ;r%& z&SiuY(ji&iMGy$%Lz0X`n6k=OJbiREnb`IYQPInFpx6I?&muX`Av|Ry^K3jWU&sAz zeSNcu=~e>SP^K0sAd~@mo($APUIb!52zj@}aKQen7vsjymOKlJP~?r)HcRI!h{*I8 z;xbkF7&sE`&46o~*XF9Ys&BQ#YGxrxvQc3ExI@ZLWFh3SfOYIP0Fad)K=porOMZoBjQTZ*-_3`!Mm$y7KLJ<2{rX$w zJcwJR=m=nCk*z1!u;lWJf6sfDSJ!IIjsxxh>0{+`BOHyF#ZH1hVa@hIsf}|@uIuys z9k`Ip&KihFv2<@_EtMVwFx*2mD7hZDd2UwSs(h8XM|$L2AgZ2|)y_GQ!!rrEtmM83 zYhg&0Q;@m$zHt;Zh0T(s)H0;<{19dMD$mTi8KE3vWdEqbw#fSd zz(fG{hr_Dl&(i*CXS=>%UI)0Wu0(M>W-Z$~@;dn12NJ?5TF=2ErVITz$j}*C%d^|_ z_OU#r-Q8Es-~YG&BVc({O)`J@?p=t4{HL710Eyl0?W|4H=zb35c%N{^$H`-JCvPXO zsq$prm8D(VT+cn$3%K!Ooalnw$(hZbCp&-)XNJO`%QGUjLeUV6H+yXl0w7qp98%Zo z%>@(=0^Tl~>(i@{+0Bv^lr2xz&fae3D6%99U08>EmCoEGOw)ktkOfJs?NU~lsp#g=#bpTwD>Bd7Tkue&;3P zcCxNnyIgNMphA@|4?EipV3_DJpemXC8uB>+pM|jzW)pyxbHbXOZP|4DGtuMn!2)C+ za^|`(k(Km80RDB(MC7LCf%lV0^E~hT{B(1D@sjUR;p2dj9Ot`H>#u zRinxWbYteNxYa$qlDq>30=xl+=a3^!6D6GAx>iVu+>OZv(lXT=2PCZLe!bP{s?K#E zaBqEdJ)g}p!w2$Sa;jOpA=3eMtnQZ=IfKAr=IBYUlh8<^RNW9h%|b1X5Ufg2@5)P*6f2}}rgAzI zERZXxJhi?$WP=J+#`+Xs#Zw^vhL?AKcF?RWxBH_%=tl1fK@8Ye@hGD|I5^6uvS%Wj zJ(JuJA#Vr=V4oLr?L1S!-Z*kk9cl$fe*66|xoxgJ##m^-$rCZoI#{&K~b)4#{j`hV6RsPO`{X zQ^x4W>+8tlfPK%y+kYCcEi{V3$NA?8!kvX>vXTSTLa$!EdY!*r7g-Tjr@#fh>-=i+ zNEavxj->GtwD~tpK=(?n7m^o!N&fuh&wpa#TcUzStacHK6>&db23-P963lx1aD1+MFn7w z$CuDj5woS}AM2|lJ3Z%|w^i%N=Ex3ml#UDuXE;NY7=jS=(rZ~$JDytY1URzmtuBcr|7wR{O}lDC0yR31nM1|yO+ zE$9!13K7W3$@O_CLL#c1E-!u?{`8dyw7DDvyl?HgBLVH_?(3>m0W06zfBAH-(-Mer z-N&`s5GzA@$h<1^D>^`^7lWt05*e6%-(I8jd_bhuxDDfiQ!@74^Iw`3{xiQ2f$|{dgf$^7lFYqk)8t&0m*F;GvE8ouWPT@5{pv434zENJlP`bs z`Gsh1o|4F)x<`*ok~GSf``qU~$cFd3$JfxT+^WXTG5|(YT*Zj+=8<4q)yL1NH*w?3XCeERU_xdInft0^;qHvjAsZ>Jgyj_0@p0UPxI$ZiK5U zQ*u2vBCG*cRZ1vuVGZ`~O@up(5>JjMbyop+l+D4x=Mbj5N(L83#;PL>N=O`mt{bqh z7kGX%id^W||MtKCzneF2UpH5IR>|rVX&xrZVHjm6VRcgLD$hf{hmA>)0q%C`an?aj zif}5sn!=RZ!y7aSn1odA^ZNiK?sC>D`2}ZL|BB(w^=AUwcsqpk=u1+egi+3_U8%O> ztCz7|hfK&RLTZ2u7JZ(ojrEn9|27~4{zQ! z*O3$ZdG3;bId?(>clU%~u?`Q4j3bz;pULYn&q_kGR3bU7u!jecFS)L82KgG!2RZRf z(dFE+3hRI@G;n?p;E-qBKRzpfFF#|R75cf8eG!@1nQ!J7LqLwQ_IbZK0&r%scX*O` z{U+o4$e?lf-AvX#z$rkRmk1fX%^p}>%!P6e^Vm`EH+6pRpC*}?+2&~+#sA!rfZ4gH zjEw<;jMqdkz;zO0BmX38@EAhVna}$o3gmE1zmPH6NtxR@EFiKHo*;=#>?DPuV*Xct?mzmbNRbD%Z~NktH4@)c}R5-Q9cMxm+>CC?Fr%oeNod$-MCN zbcb!luZLUmAkXm}aypAxng8czah0bky0oADFg;fWAE53z&re9G)-|2`%Rk6)D@^P8 zfl=f-^Dvk5n;n*CQg!N4Gq}u+JS1RLKNps4L|1=|UdHwG6ataGMg9w4TpUJ*^Sorw zS7LVL1!E6+LH6))%!h{-B zD7_l6dvNe6^WH6aD^~*8SL$7YwLVKc0R06X%IKo3nKIj&|B^5C>-A;czdWq*A}2zk zo?@4x@{zUGb*Nf~&aI67ZB{32YL z3;8F!a+5r}YH9M_=r*3KLDuqiB5(1&bd6;6-{0?7&fLlALG5u~O4T2c7`=mTGk4h} zWx$c&^5Mf#?kO)M=Yf|YuVoSpul*`r3h?uaz*`d8qYtZM)hIs;iINKvG?ve{p;SVp za;V7_1YtTdIqyYc+TI|o*8-{F-QcyE?g$UgMCU&3wGa(!8lCo>d8@y*Y!%XdToPP0VF$XW!9zXSg&Sa~<#?&~C*y|v7=_f?$=$?#t9^f{i8uf&11o_ECY zlrZmaZAeu+KG*eruNz1Ew>CdSb41}eNR?+g&AtEbfA}AAk*OTw^$3ES2#d!kk|>WH z9G(y$Zgp*?4y&FH%2vu_a7|Ault;|CT!q(L8p2&S&kk9IT;w3+o{~5zb2a59K(n+1 zkV}2N1tt-`AtwQBngj~pQXOg#r9KxSW%K9kM=7!V%{ONe5W|3f@u5KJEGv0l6Ph8W zRbm`)PdIJ`1c_I@&9ev}G4(9D8r7+?RaK%^mjjmDDo$lx4^Ra-0ZrC8p)^2gHA#vh zquhj;0AJ>QBcCCZuWrW$a_4dwHv;-u!78^U_vXED^HGE)@6&yRmd1)KEkdhwHy0`e zycvfrh8XyPVk3yf#89oohacWGmw8_`S<2i!gp`QaT?;VKn>^g+d7ewbcDsWDL#+Hl70rdN#P;lB zUnRJkW@l%wxfPn1vsr*@GlVI^KuF0T#2PuaZ^YUIJStQHred4lyna*RZ#*dozVJDo zi{t%+=Iy(8IcGW3**ikDSS5Q=&c-QJOJeb-oWEWGsqW}Jc{*vI1Z*jD&5Ou`cAVe$ zUhOpJIV%*FFe}PixRJHz*<-2h0RSPkyo)TlIw9nVqUlCn2ffc_4sP_vAXH|l?SQ%H>TJKr&pborOuU2~ z<&%+z&QE_~I(sGiD>%e{6t2bVFqhA(Lgi>^bchh%g$H#PI$5j8w(PmiLPnZ#Ap_ZU z^?QF9kdW7I&hpuS+J3*&h}s#f; zTJ|7dk;kra0rdz3p~Lf#~(9Lu>EGDUVSMYd}^xYDVLV$S@1 zNSbO%2n7qOIg^0j%#hb1nAs2A%-Q5R&w*@3Y4U9FPTlKy;*U)?E5O>Fy_mhU&>I$c zpi6~}1eccwsGJO4=c+t&y zZMx<^4v-#24duQiWUME|T^G@lg ztLxh$Yb7Ug@$0LLnj;?Pjjip-%ZohkFtXsXbaQT0>$$YFlxMijUJdSu%wiN&^~yE9 zhpb@nCzFJmA{zN%!1Gehlg50DWn4fOkxtbWmzGvCua`NqKrR_A2aC6Z4!6d$&F>!$ zGk%HN$E8E%cN~!^^j)NLH!@pMieZ)ErnjRLCb@rf@VoEcmAsRqqB-Hy^ubz=X&v@t;dW{bJ z@y8!?zU5!$U-lHQ?^DR$FrP)}7|ZAlg*%ijH@`yNgl;PlEIe#yce^4M#v|1q)|d_D^HY&&W)9 zTqzgDY%K@m!2EgHP1MR-#fe4QQ?vW4ta4ianC&SEukW2Og+&=|mFE1=qUxtO{#pdGpsH|5idg(f64rmTl?m!EMF4kDG}@Qm^oqTVX-yY;^-@m zJZr9#H|w&w^j=Mf4>JcFTw*!h5=QIsKoFRV)r#?Ja$CCiVq zPAq-*xA#%DS--5SFcNNURyR2V)v=TSLu?Qd^D@-yBYV24 zqGkQAqxir3?ro!oz-{K2wM%%$IOE<9X?JGqBZO$3Cn$4zu>U#xy&F=uP~>5|X!w7f+ZTe+sJ|_XXSD^xL-t0A>LNd2PVCDjxfOh#56#4qvYIz-; zSEY#0PjWVLmR6#8d3dHnLc0Nc_C#)11XF2Z=l#F^m;X{{Z#ICMl1AuNrja)x)Q$xm z;R3!CAW$i5Epr#OR2AFw<2Vg*7~cp(nhoJnJt+GlKkt9u57_Tz&*c1OZd6K(o(_<{ z&Dm=SB8iIJAoxftdBpo+?K@KxFw&EC5jvN7d1MLByb24`TyuV@UtyZr@&)oQXU|?Xx1&jg(UtKf_Z(f`=2`Ee1X&8BTpuGZ^Q_Jdf*pQW9mtW@t({?r@qGy2 zQl697Y`&B$GNTrsP@3iuKn-zUWc+Z=0Q;v-oy+F{>#FWPRr1Zp0GX&GQ2a zp%4yfzU^&jA#3xu-OGRCaUWOUyQ*Fxmx zqEC2TcrT{zn>isQk$1dEQ_}%0xi=%hO#bT*0<@wB?w_*HByQTS=JK2L}(B9PYZ}57V>jg$sa@Vgkbf0%SFH+vN*55+ik8c@}W#HPpfl( z_mI6DU=7HxtSmQ^$5C|GB*68oJS!hRek@u4_U-FRx@MdbwnXM4AfG;c&K~JR-mEtt zKYu7MMz=4Va4vf^I^_DiimQw{d<0Uzn{;{XC3d#g0CT{riOIO;?io~ zFE1{0AGz`IEX5%6EX zG)xv9!o$SK;(d%N-@jdMKJR}C&C1ya)>X5rg|DxtTyHt!zArFee@9I6-tvApt9eg( zFv=sL57Kh3?hX;c<-I@%A~+*&-KU68@Wa=9jh0v-K=M(b#rD&YD*0Oo4sS|b-}&`- zuX;Aujy|igNOqTy?(^P|d)K&V=8XDZazg%jUkHOOD*r=cKwb?V5#bX6zjZ+#01Dw& z4xgXd##Por0&F})!FR7C0y*P(UrP#H`|C9j4CKM@?k$G|p|H@%h0h}!_4!;}NnnF; zeO7S4)nDrU?a#*Pnx4b`B+Tq)jJH*NZ4kJ8)Jr%Ol zcwY|~SP7`&4h8_lpvp&(j5Z8-7i%dQYbJnjrZ*_z<2rlFvQ|QD+i!$GY%PPsW-W() zVuG2nq6Fshd3h4Zfw=WH=5^9+tge-?=A~gNR1;l^*vP47HehaUuu#c@r(Y@>>2}V# zE}oMR6015ZraALZa2UU8D=Kw}!)M{)Sy^0ZL$*9Kufa|J?QLvU1u0fz)uj+7R$x_} z^g9ttFUFTJm9TCeS--Ya`N(r1GpeX)Qm1?S;r@PvRzQ9JZcbQk_yp8t~5>>&mD zG4iO>yxL{Civrltq)Fd`PRM2EI-u720kJ$lDrR-FruqTc1HdNoh|~gY#tPi7tS%Sf z6LQtfdJAE&k65w&9qF?cJVq1*%b0wC{-ED{{`jH71U326aTwtR&UrWFrF;%~V41IY z;>-^i$BN}%EZYl1vAWX%x0?Z8*OiY%G3f}e>Kn_ea=pt@Sg-bWDwGV_Dx#Tvn;(l{ z$oX;BG#ym%;I}9`d(v4}zW6a~aU8<+oHN0jcDR4kEUm9Zxm{F3xBd#&fp>z^mHQ%B zs2||s+ym~EyK{4SdDFak`&}i-%MBW3J^%E#e?=u_K0Y_!fB#(zWU~eeLR{R0h(^X7n-~afkQ7KQ~5M_&XMxG4-tR|xYTF-g<>SHkd7?LC}Y+Oz5gpUpv`_0AWUGREj z?_AE&T}B_!B|aQ!eV(*u>seRzUZ)vd@D4;mN54*mggl2dWI7_lqCW!Gg<>H$i<@#Q z?sMPB`@Z}rWm&TdKzhK--8g4q{<*n2(e-;SuLq>`_1K8M33%=fkpHJ@e{_ygVxOHdoh*$u96i4l@K4`d^R#7VmBmWA(-jmT6k4< zP!99G3S7|~!gN$&;w90LaS#$Hz0~y#!$p0WRlQBS&HG_f>sEv*7=9l08oa-tVepgA!r9CC%hw5BHX@^7ohUA-sKx91;uEj-R znYWpP*$|Jz(sL?i{`l@sS)81uX8?05=YP8j&Im(fpyGj2&9aPgrQ*k>dzY3r>iOlK zL`@VH5h5*wiyma0K;DF)W~thrZ?2lvT&tV8C$rlyxyY%>L-yHh_Nw9(h-CZB)^Z{9 z&RDs$oOwDqD*d4d&CX`@(IdeUrk`K0F;#~Jr*ezs47X>yJw>HqZ8AL@L-6^p?mjBGr~ z^3POnd;My$IXb+}9+e~>L6Xl__*0>{mMpYiL4A2oi}WHxqFWJ>A|*%)l0Xi81^gLT zy`HZ&zayVx#c|zyrX?1wv86~uu2ErCMQo6sHl#}aNE@P+w=lfC z`>Oj#4yoK#B!{;z!sQ$L`ZhfwIT=EoSkk_F6A%OdoUZf~LK zN1$B<_?(>{M@S9=Akm}DPn4s)1&s^|KbGm)2+vC9%ID`I$W#GRMp3Cw-VheLo!#9E z`{9`Yu1>Db^L+A40;qFso(7(%L9PvC1OIA)FRnzeMCj_oY(6NQ?tp^0iJ%nUABCUK zpRtyjhXBMMzW=`Y^RK@YD3pvYmqCYcy#$1D%?C8G4ykYjBvs?N2wDA522nmA15nGt z7_Ds{xG9CHv64_AE6Wj%xenk~B_i|euS0@<4@m)l5A&SB2&?HN08#Qh^2QR<&SLgl z=3qa-@FC+6?p5Jt0at^Nj>(f6`qu$fEL-cls4Bs; zJONp+5GFY;2N?&@tRG1(pFNzt6aYyv*wq9q;IAr-YEf6&7p!FF2$-uXSb2swuXdX6 z-h5Z2g8&UGDzG{i<=MK`1EBLf=IG{jR7zkJP|l;U9AM2WBMeHSABCcPv!wN3fB7XJ zZHphUTnjsNAe4OccO`yR-~vz;31BgYKKI_fjgmQx(#*OCzytf5JW{%!S;|79^!e~? z$lqbsb0Z1{Nl~moPJ`YsEQaTo7Xfi0`q@uHf;OXAfBWUnr6laZ^Xz|?JVZyFwjv5b z;>0K`;VZAII;`h!LI^Tp6@I{5G9N&V><+SDc>~*~Sc_4vOF8o|%}$6HSZ_A=uDp=!*V#JDqc7#BH!BhU^Y8DoZ?o^S7S60(3pq`~ zWTpeKsw&S|8O?RQNS&OC1@uLA|F!jF>Hx}Jad{Ju!KutUH|RUKAgpaPK*MkuUiwi6JO^%FvKT1l@_ z!cpGCoZUfhIr}FhBYQ-Cki=3Ie-OsSfWoWG0L5H?YAOIF#9)%^3YQqJO32K)3iz5| zm~Wnd|A2Kd^73zZtFo0d{>amO{#G7B$i-9$%Y&rz=;YZ!^uevr&&Z!y;h=4msZReP z&l5BfaDP932+7Im%5{`kZ9-bEPD85tQ_a=kQ#0I<3kH1!h!1B%jyjQR-N+c8jS!gt zbL0>x9V|x|3dVfOw1!Ypb5!23#s( ztKfp%p6g2q?~&uYSJ}5fqY}f5tHO8nis%NTvpjbLen;7>Sf*0b*^@|Lf3BGi`Q@R0 zewH^eD5HSq8|8dmg)HqT8Zo|Zwl_6HZQ0cI)opn~fO{ThIZM6#Q}$JeoG?G00>3Nm zJPJvA&aV{pFgW& zx16=*jhl-;7}g#To+P4x*I4vIRR_!RFeoCj@(p!Yms`kNQ=eU4ubi50)>VN4hP*Ns zh4`=L9>R}BE+7S>9VGS7=e^dzeh^+o|MG&#r{ftFy1aoTl!tLxdQNlRjmQT*pX8J5 zWln{ldR883CB3`ZYY(|zcYYzy8d4b9addnhqO)3!dl{%ce*CpU?8?Ksv>pP*Q`Rk= zDJ0v04;8FXUxrhm$o2yRYLQ5xT_NPW#RvNzDz{W=YI7Emn){u$`)6@Eb1*7{2Tu)8 z(l3Ac$1)rV7n{kRDbHVFh{%WRi_OiQY>lT@o=?v-o7??n{~)?1$lyuu4hJu1#m27O zk0KLHWYgIj$YkV^YFabmE|C$QP~;)+K^S-_>eM>B(K7kHO(LiL^Pc?dcOHy-9|DAw zhQyWfY;B z1H&?Z|IpUYW@STCMmg-7+sRj0T3abWga`<6xQVi#%{WxIVF6aXil;&4pY!sT3<`LN z^=DDp3b13%cd+j>2USri<1%UDXvg_o^FUT&ao_V1hG(bhde_m&JY~)a^}Jr-J=bP^ zo{qwuig0wug;cPb3m=wj{p$7WA|eFLa_%p-6hXPYy)O&Zbgrj<_|g8Sa&4OvhlXXE z2SbTmb=@^vWTH9TKa9YY)IO?Me#h+oQ6k@C0Xf!DaiYQlC@bMCLUGmu{*|u2nQFs zJ{8~X?p1{-J40w4&yg~(RT+k-AOfABSququJ)lir3d*AZU;sL0AbFjYy+Tl;ta&^B z_OJfby#M&I6sy=-y;*c2e;*0|bD01ibqWA$v zeHZG`MW-=x93EKFItaoPekO z=vpjatWvxg5?iazeSozZ^xz$(M+xVM6iK5^BqAzVI}>3pG@`sv86>M17rf8_*Q=^0 z85@wV;+U9q9xXX8D#0Ljs##6X%`~H&A(h{h6;{nkncKA})|1TpQ*O@VRH2Abs=C#y z?6d#*_h#?an^Lp@5u#RJkq~S7I0yUr9&*djzzPcxAbZB@eY|p$%o9TV^B;c-0NKyF zss6K)am!(8Ln-agI)9mmUWnm&=4@kUGa%?D#GxAiI1F$K+1^;M{0;>Pfc;^=4ewI+ zaxwcsBR5sYgjm=oKfn8-ti}%e=g%MV|3EJ@9L z_J7We-WzQW0a+U$4IM{Up5L66mvC{g(k!nJt4!$YS6j{PRqhcYAP&4jt!7nd%NPfP z5bBGXAIa&O zuamowtV|ed_T=WSSy;|IhUAj3a%|jDd1d87=_ay95szLs@+{}qS#&OE1B{+KKub`^J$UZ3Q_EG7;-fA3x_B{pQWPy@2BV=Et9YihO0|4k;80nJIdn zy04Hjxe2_`sx3KBH{+{}O=CaC3n4r+%}T&DBhOUkYF=q)W6Q>((-ETo+yC?*oB#6v z`~Q?RUWGV$2+p)nE0x)t-#`BR$2=>!8bBU-#Rx<<2*qR|F@B!ikK{*BMJ%%1{*`N^ zU`&Wn)-;E<8);g`q&qCj20tjJPWB-&snG3fR<2;?(s`u+?{i*{4v*`a z3Z^iYs8}dG*LoW^qZoa$xxP}pJN9;7m0Ufk3XRc2%KQ#iBa0YTd3x^!x(w1k1)I^N*LSPxpR7g~w-*^;8;oVhvY?OV!x7W`c z1V2RB&CG1%ytV`Y&~Hgbo1E?(v>{uq+1h*j4LLweid@v+A2V)==WSS2<#iM}$*7`( z+S0rkV}3?*cuR~IF>5^}_Nn`~KUXgj=&8oUQ~yn=c_>LZ)mS%juqe{z@`h+T*i$Z7!DoAuh;HbVYe!kPr#z24$Q1 z-F>~LySIjPG%HIUFTpqflI4LSS4-W27mrH7s%UeXgDe@3RlckV0gw_N0bL;+l`9Z1 zQNlQ&6v5GJg3DHT%R{!Lqws3)b#)I{s#8A=u4^Ee)tc3xXW(_-130Y?^ZAR5QeMXC zdJ^+qzkOXvwUdAm7VoV!ajN+&Vv;FjU6CB8W9&216G1hVXGLs;^RRAH5QO`Qo(EA# zFCho4u)frv7n&n6-HI3&a)PJ{5qOCZxs@l8ac^&JmF0C~YdeDEAWCe$(WFs+gD@|^ zx9wJY*X-==G=u!iVpSEABE-aPi>n5jqg>@w8 zg{QE--$c>r)xj$ym*6SaP-2;PLD+y$A0bh$+eB$!M~fB!kC2vc!Royn0&){Y6FD7$ zzgd=g-XzVRcoWR^ZU`14q1u(P>E{8Q3qe?4-wFX+E3&Ft6^oPg=6T!O+zJ7^sOn^y zRMV6Fx)xy<#TY=VKM6}B3m_n&Q#PS4-(nErtIA6yuOkZ?vp8^;Dr7}6KzI~M z_JLk9{V2)LA!YiRaMkN!BgU7=-pzAPvS)x1Asf7N;(`Gqp-Y+@3L6wQ))m^9zw_>S zCSJPj-Q6fqp>WwNM+a51S?Nj^xy5Cb$lA`}V!Ks^o6a0nMXG!zN2SilMu5EDH?MZG zKeJbz1##jMMhUF&|HqLL%M`L44TtCs}PYK z^(a@>%H}GMs$#0$KgwAc6mOcOcAhkb26GR{YO2U1B2SB4U|`XRa&=`R`*G6rqlD$D zT;)EWKYuFHU!B+UnjS1?c@7~h-~ZvK%=>xM&m0w~%Kr2@9l`Y@%3;s?0tB5mosbIBl8ze@C1~lp4;Ve#AILnwvdDAgK?9YKy1&-bS@clLH<`E2BK<{g1|@A;4cg$ab-APzhv zx~d~V;~NBKrg@sYG_#A5hhv_JNdL}b)?vE2AHOtvxA>JW+1C7FwSMsF?6hrsbF<(_k`-Ew{qz>sa z!n6Afr?Vq?Xs*6Tfpg*jy~`SV{wC?czbFd`muta!4?GV`*#vzu!@m1Gclli)0DQ zV_4uVLKK7@)4@Cnt1FB3`^|{=<1%v)0y>zlYq=NwEZh_hP@3C#F3tmd1DF|8=-X-r zN~h%c(V|SQqcBA zV-Vfn|CH+l%xCYxFP=A#*Bl+6lz~n-?(4U2Gq#h+f`!cYQaLdgh4i0_#t&{%B}~}w zP4<~EryO^BHG4@P5p&a->NlVE_lpd)m8FmiB!ZzEUed@jr<7+Q#03gvsPQ_Ifgt#* zT#+IS$OeBp9qGI{KN-7MLO>7_`6E8phI#oc18L4L0#andbweaFruHkctUMjJ_4)Q5 zxV9xjK$YzGg9!fGffEdAieFMo2CU z7qh8^Nkt$BXc`f#3q_^l_EmsEKZg}SodmS#=9;%Q^U+AZz5gx3WHDo!F5t=COc|Ip z3FWL$Wi<$)Ab1fH)@HA9zpBOr+#()Aq(D9Q6{BB?rV%i_E0X5{4>=*`Xe!!qZ3j6x ztiPKRgiGQvB0|^$r*a+4E#je6DXRvLj!Iuuwl6}K!gTzeB6!XNTsL0rR-T6@b@F78 zt*!072uI~xLs%j(c@qe6_fR=yK49qRAVMXA+TQ6$u(M_(ZG_i--lOLPg2w8196}gd#7{bA*rQG*%#~*VBPKU@3D(@g8Pfw>P(Q59Lg|%{5Yz z`Mnz}OWdzA!|Thc61B=wUyIeuk?^p`C_aD7rYVJ_x|n22c}lCfCgS98Wxdbm&!cR1 zH?}e_UxaX;WgL)-yqF))N+Ih0URKPkhY&1fI<1rNiHobVT7Mw?Y7AsY`DGt_7Tzt2 z*sDXLpW}Se9EMW|I6h0~5wD zpX<+M-y&~Fx4tkckGYOBP7VNhyRTkFf!{Qv>^+4BoFAl?Wl>1gQse-|f1EREpCD+$ zyheG>x$J3YNuun{)wm273N};^gb-gzp<9*2ep+$%x^qhmU0+@;51;-6tGqjkNaS3I zu~xhQ5MotEcvw1@S3;KZoN`(g0ut<_%j2ucolqwEYu|?oZ@UAevRCpqXE)d`U?Ctg z^Xgns*sZmkfhZv9G;7pX`Hfs>C7jA!ObT>oi|4#7G^2~`uPA`dz`PT{C8V=27^woH z^PJ5~z;QQ@ZLDoT;5&8*j>o+F^cQv-g!~@ z+;cNrooUVw?wi}Q=VtwfoZ%2C;VPr^mu9#wq{8(AWaj7<;T9R&vOSym3gPutd2AtX zULReAz^v!Fgoq8I>r~Xr=arb20}}C+H4kVG=|XA|s=;FRYKW9|5Z)Nc)NA%J;{l6!d-iiao^EsIo5+C63LSDjUAzTyncvLUU}2^C^zpaW zP?Gl|T?{GNAesNnqk<42|H%4LfV6YQTg=0InQ;kuX572?zR1B}fB7x<&wSjs6(11~ z_f#p)I!OHY*>`fjG6#$?=6w_yfX4W;i79 zrU>1KPaiYlV2J29vg7#VAnP8z77~FJwdJ1ga`p!0`86)NpX148VJFgMb`}7Cs$3+7 zjzON4UOqiLYIb*Dhq#<(J$N3-ow?@iciYYT_j&$&35R-mx~zF?dw1|Gv|bJ4D(}XZ zWcBtn*AeZ~5{&xF`^mT>CJ0G+Lxfjl54dn%&7E?VbDttE2o1uoa+qbvwKBN!e&l`1 z{XRV@w;Q4{ZC-NSoIj+!!o4yMB*vH^SY8xk`j?!Lf94lJ5Agcpr2uT}D}P5Kfc`9d zUTgp6XQ5EM7;-8~T*wGZFNVwNk%D9WhS8-`30+MH<;vz#bsv^;%7;g2) z10(_#j1AaC41}_9k3R&2@Qm<2h!>Zr=YfunjtWGu^r)?UA^a-BhINB0U*8G|;*`l| zKruHDZ8*9T)W&ubuhf_(UVP@n?Qlz3>IJ`0$71|dbPo}(y1 zfKkZVVV>*d9&ntBz^6zSbGfL~+>5LDbH=?D!D;Nk-&l-2a`_aHYi%+Ql)!U@{Cos_ zmMrs_eHA4oSK>H|?>ckhD31yGT&D$#i{;S}0`m~yt5TTIy6p(PM`R%v`YrSEJjZQditLku>n9pWusc4Kv=IpLMc@0+>DfBCQf zHOj6ZU=@O)yLjf^+9LqExc~HrKNPV<#>|bRc$WT$yeCr=VmV!XL+qQ!>=jJ}C5dbD zC)v?@s9pjr+XvS?L=~$YAR54X9B_|NRey>I|2Fg?;K`h3EOHx^Z#D07Cn#SzI>?0m zdKplRjD6VunBV70DG7B`xS(p_XO0oU3WLg-q2Sk8KSQd30hOy<_d4q%NnI#`QlFY- z>4hTqV6ZUX3<05#92Ij^KAX!LQ_`Lra8l%8d3hmcQW9cQc`(+VBC}@^A?M0|)O1r` z(Z>RrYs zWC0mDInKQ2+U||yih1AJiSo@nA`L2@y$_LonTpiQIo;e`&pu!bh@uNHuh{J<(tZGl zz0WAXBE8Vh^)53H*~6;m$;%Rd%~GR;?Nz{n{FmE1p#gx~eeekqF=;fYo9pI$T`M&i zVmF;#6j?Oe&pc#4M*%pG0Vn!?EC@xI73xUhMrOVQ2!}}`nw0FzJs_P~>j7#}_s((v zBN8o7qcazIdKXOxAZH-UShCe zYN|KBJmr45#vo^z{9@P<7D~2OL*7BwKUd4J3vescP(V7*DvXBwN6>~L4nVumIiWEO z6mqDZ^WP#MoUxN#@(BTaIXVcmVjz;ft;s$8o6T{1OWvWv{yY#NF_3Z zWSd_}+=xOy=X5&z5TK>=iWr@h zyL(R226RYrG5y3=51q65$yM zZZmcs3OPE5hv$*CGvzIk8>oubk3asQJX1V3b*?jJ*CSgIRbcw&`l9rZ(#U$NJY`QR zz03RB&zWQt}d@W%kxp>A#z32AO|#iw!N1yETM?`FKddVR9IF%-|4_nh==Qe zY{rrOh5R5pg<$e8?-jPyhIV~hU!9-+)BpWH|N6iGf4}_tZG7znWB_5NPeM3AfIRS8 zM1~g7TZ|&%$tcf*70wqRgrp!Menu#SLX|Z>zk3&@U>kVNd;RP_e&;a}(xrcg*LYia zRj%{h=PS(W%X@iQkRwU-@ zRvCZ+fOv_(z6Y){-t5HkHdM^)BVdt3n{h})dkSEZL@Wozyv^q@3ytA6RUdqH1t8@* zpOk=?mlEw?VJIqa3A@tpYZ3q`mS226VMNerfFz0h`rLPMZ zc6WCgVI(^{5$X}lpFV#I2wlq9l&1`FjgXS-A?HRSF#)Yn)hbJSKqc?RHA{B(rLnQX zhrpLLT72|8fywI31s|{|9<>(`$rVnZ3&Y`(rdY-ON}8iADUrv#{z=?#KBv-?>QIOg zuf;)mVpx(EB0v$Bj3Yq3I&~u}xwrMQA1JW12wv7|l~h=lSitN@ZhjT7fLCE!8dk~y zK*S|!3Ts02Jfkw3r{|~jx!EWPdr(-H3S7KQ1pY#l3*nB8$}4d$2yC;~@(=;E=e38ay3+*60X34$2%cJs~3OZ_WAIz)@qP-wBENNdCE^yBK9oupeO{ZUX`=WS+gGo{We6& z`t#;lLq#coeg!F1fK%O0$!ry1HgX=U8-P_-{#-{gd6ukM4Y*OYN4I%~iS<=yNOhU} z%z^U7S6Rnp=G)pY`Dn$IS6Eh_*&Lo`Z#l=Ti@AImK!Az0wT)(+xf$zQ5zt*#>}G_{ z^`nr_1CD2ke9i&W#)Zg;tTUiHmn*=T*{V7BA#FE7-()ONU=rKqDh!rGj&AcjOObu5lI0wcZveOTQ#Kfh?1hZnk0aA_ zreE%|x4ibiD-(bn64V{If1W+ZR+v|WK*noMqwhlaZbuTPqfY{O`XOKXa|lBUW-P$2 zD&xZ>XSnl}^$!rry734gVvI6Nt3p^qHkwRco|D^ARNk_=qSLaT_Z1$-BO#wgg7<8r zH1Exgs*k)%A*=bQq++^9ucPymgCa(VOn*u71QzrVmz;_6P~=6%jzNEzvvgR5!`{oC zNm_IcLD8Na$z%)z+>@P+5D);JmZMmG|~BQx?DhL^UFNbVgy!k~wwQ0(w0+^2J-F00x7OFgaeHJX{`M zXy|Rmdfx2rZP!}J3vn&EGC9DJ&yh_bg7RGG9eu#$aWFuVmEJqdzM*I2m=$@-&x^qo z40>`wA2S}sN6fE8e%`Nx!%ul`1}BX&d(G?DZ%by`Bl>&+>!Lq0($ddxl)M>aL{3|T zO}(Zo{?bzP(pgr%z&|es(>7w!0{*W}0^2Vb@g>hA$HSSet9*oYsDz~{;?p7oyI?Vf@qwA)P-92-!yr<0{@&3rc3c1Rz4NM+dd_g<+`*wGx0PEJFO|abDwn%5f@iCT5>P zVeK9VFtJXLqJUNc!gyASXa&5hmh|Sk?;8z;B6FJ4q=a}8&UYFAx!77DK14?KDlxs* zNR^s}2xkqTl+Z;+B|k>m1q8D;arHho8whIlxV^#z2+VYw z*Lypymn8Fca&a2)n|aIujTp_GE!3JLI>L*1OAuq85alP$rO+>XxGL3zkY1eU=RwGP z=I8L>FhDVYKXak#4uI@>!nows$j>N6%M#Uzk`7SUJzwb8Qr5E<1$Z^OZvOCxKQ=0( z@%lN7IXulv)?j02H^8Uc9DMv7MH@gK1p$05Mv)b{$lrv18IPoCIbEZP%0TDk39F9X zc?NksEVC-qn4>qD_fxq=A&Sn8*(jqxo^y3$JpgfB1n9T-@0%gdW9DRId#ga)(b-|0 zMT%P)X=el(SzVT+BY(n9;1NZ>qdfDUVgwJ8zJ(L`Z2secTIfr<3?Mo`DW$)lnpM{F zhDR!6eYLk&hCq!G0YF4cNmEut4c-u&`2cCwxa9!6o7>E9=3f5Q*?CKd|Nb9-sjlwl z=T`yMKuctL=EeHUN6-npH_&X6=t^9$3> z;+mveU_N{M4)8}@T`$i#b6?e^BtWz5`qvN8pWMtg{WZN40_HBGV_ZAW(aU`Ri^*;F z)K#7tNDn@m%{2#0kpKZ4-anT$kfZWA$=MEBcz$493jqoi5e}>3l_CPy=Su2Mg#<)6 zz05TCBjH%IV2JNxWWs`i7{WMo49{nt0@~JRBKxO9kOE%vu^jQta{zKaWq&_{^ka4UNpfzsi$Qzju z#1q{{zapM`uxNlfiJYh3tj+6Jii%uCf2`(j2-s9}ld&k(ycjvhcvv0ivljjSa>k}W z%xZa7zW@G*$Yx#H@3Tj)bFY^&GK?qASTAF6-jwML=`-q_^W)>g?2CBMEg145ei<2#cXii6eIzeAh0H`*}gTxq7B`0tdJGgvxta~YX}YUpM>^7 zu636ML`3qZW+m4{g51xi{A)cTtv6-$Z~t}P8v#5Ksv;casX|S-DkW4YHOunMqP!9| zUfq}%`jxlQ8xEVzfU)}=UQL2j721f9yN~i0egW7}sOJF}4wq_6eXi8p%R_#(G!qIe z9Q(QEAb(>8Q3_T_3k$Pa+yv*w-mCH?TwPohspFOw$I3dZbT2^$bP1sn#^8`o=d}v$ z$mH(l8iSCc=gg#|hK&QF-p7ifqLxq+$+qHIm5K%CRPzDgHS7ZtFV0TNW9wD~GNPJw&X`ozkVp#%P<|443Bpe1;KRp{Ik-*p z`SZsD=~nMJAYQd3!deGw9)!vv$g@eBFJco?BnQJlIKMQJZA}H5M+$RqPU$Y;!Rzn}AveO1+SayC_v zQ3Cl||AxH3tzNdBXGd-)rRb5i)s^k$aXMsd{FpKG$UWD&p9`R5SSl-Z<_6Iq8=H({ zIv@(h<+*r%W`VU2bDkI#rUTgN=B$G-C3}8lZ6T!YCTBitm2-ix-rcI))rQ#t)x0$i zm2;4d8~{E&^Aa5&QlIApf|aw?oKMJ=(z>E9h|}&OV4w5XiL4J0zdQ**$vn>wGv;A{ zdSrygfVVgHYbVc^>psb$yKfejbN`t(1o7g?vqyGDhK|nV07TDFM9&%TT+WHac;Sxg zO>=#izX`9&vm!mhmQ?S$ALTQMQ^>%5p4}b^W-8F6*&2_;)U?-yjs-P{YNg z$g$r_&XBETATdXI*7414?PoHulY8DhME9<3RU`o;j9e3;W6lb%1sO;b+3(JlFjp1r zct8;kdrw~E#>#5RY{YytzACwhfbez->+;2eB0NZ$Ufwi)Li8R%h7S%;8vTY&Pd}IO zZh3hvb99q4K3iT=hA#o^*7_!Uj~9u@O5VugQr;UmP9GqXJoj)7;>de~RGOFD%>DY> zV(E1rB#{Y|5WU5vUU?Tp59|diFkF5A{ksZX5(b9UNuXa`T5pby_KTbei{tI(z28_{ zDLuSE9tVFQLj8~;-eva?9yW>&><{uBIp?dZ`F?d1b(B%&EHljTq#$GD!Pe$>kxXG? z^n_f{*2utM^-_jG#@b$p!-dk%na8!&jp&*W^?3#u<=%PMtZRR;k~7|vw?u>ry{EVh zjD;|%EXG*W3yE7_4*@$m&zz}V)qWKML?8-jA|i|k_B|qEZCk?foc)d*(2G11Q&nEK zHA)m=cn&rwVv)m`z2bf4>BxK9N?hLWy^$-q$J0}ER7V;7tY;A;o)FjJ1@XRC2S=LJ z`7{RC`X;MmeTyUn*tZ12Ff6Sv;2sfBR`)6b%0Y6-5f$ZgYYW&9`3?+^vmp@)AyUGt zkQIc+HT}m;d6~Zpm(nl9XLwlff8<0mx%c1aHD8pb_X45F2I0fYB7enwjZLW6`oH}* z&0_={D@#8Bb}|2e40jOP!|EAnQ=SPxRry%}M7?n_n3uq24uhsX5@EfE=Rz4&n~E#- zA@`L_Am?N{K!@d;QW4TM0=V-|6@b+B9tMO+cy5!&k+`OLwY$?C?C;mu&huGaW`$O{ zZa;#>!3RK2BNzcgGRHt;)#1)( zXY!rmVgccn)`J7ca?s6%*>-=^4x}vQ-s1?aqmY%E%!NuB-X{rgX=SMdzMK%fNHmDk zzoL_QV7+;Y5Qk`t1$dGV!)ktbbXwLAxgsM6RT&?s0S9M!8O^4~me#$9rJrsW}#cllN(MrApXsKI=JE zQqo7mbK2K$qbQY+_WVGA(4q%*@3TiG6@Cf{Y%P0)p-L)kHL&a4Q3(Wv0T)}B#3NTC|8wrbXL9X~;Q?U*s3Swd2PNAM+}vJgkFIu_x zGT8aCZ4~=(m$P{$bSS$#L`Wqj1qT*4^Yb|1uOHA65jD4v35<-?uVd{^2w8xnnDqJC zfUJ{@H{^rouS)E)fakdss2E=}u0?ju1hn=7L$0H9GVa?+jW;8Mmm ztC3^oph(P&0v6Gs^TIZx(VNhYXn$MY2 z&8{DU#;D^gEG*15*XN@O-(!4ZSfdY4a;|uyMFo7`KaB2G-a3FUpibEAQvo~o|5OIJ z(79Sqjb|C$G##Ybt*cNb=a?m5cpQ=^r;De5fBzslfJa^~2XD-z3}efSYo#aNy?a;Z z5CE@4>uB3Q{PCwUY+YT9ij?tGld~E>+AF|m_3Akc!3Zfp9vKUHX%#wQoKc;O?xla| zPGFt9etc9|g!Mh!Co;A43`5^IdL{FVC~5R36pYcrd7Xq{$gkib;K>yRiwu!LDiOLL z1BG#tL)CLEGMp?H1tFx?ScMTIYdkyp5$UJG;3r~&QAo%W5 za2ZcSkR@`F@n!?(d+Y5$2>ffk7Klmqpq(YREl3mLh{Vd@g(kPMzDP;PMjL|VE3=i? zr#nk|zff5P353s@o0ibXP5J6AL5O(Je6~C^84J%z>zzSfc!R&e#Pn~~6C#%b*#DXb z;&;ji89*eE65bNTfShfc2@1Ee&GR~eo$p03zPz7@#CP70uilf$oo3Mi&HKJ4!5>GU z$qnHV@tV)LCjjsMNX*x3v}0^NFiSuGserbMJuHf1_%ZCKux>=f=3$9dgB;*wL3bd9 zWo3s%K-lQ4;PNcmiZb&#%oS!6ur!tN6JW}-s(2-N*I@!MBV_`#mAK4C%)#E--YP50 zQ-p^&OB=L0iARVj&FKIFEUZs*E?9H{Ng$b*g-g(b5qN?vANuH^3s*VXJjKbswSH$u#WgvkLp zjk3|HpHP)AQnBGdH&-{ewZ~9?^NU>cvL>vJ64Hm6KMfXD{Mp#q&R!Zd9bp>*-D}x5 zXL;6a!>SxL3cwfBtqkpAfcRPz<)8oYADf+5dlkl@L1ibxTTYE|B>hXoMSpt#YvsuB zFgY{Mnqml=_i^hhG_aL*Kmvphnr~rg@+>4$+v5`XX~2OqxC4h)wR{;*I$3FN--0b)X0jx>=k)FtcuQS>q&Yk#c7S5M+!^%(O0itWe+YE zv6_!Ukc0D(dtP2>KG=eMamm6X`U|;V*5kwb-}8FTQSQY9fH(rELiX-5ciX$KgxpsN zVMPU4_z=u!u98_~18-vJWD#Ojo0WVHp*T2 zg%GGt=RW7`KIaVZ;dRLC8MAPv$*646`GR4{<{ zD)Sqqb2rMK&ip+y91SCHLza;AOjFLuTyu3AA{EfB@5byP*U8Uw3-0&aEN%$R%QMae zfP_#CLKfx+GZpsKTbyaGPTVg9@H8@F?xh(n2RzLKs}X@&A0GV0jXa-fQIP|HGBTu* z;_T4++b1C{dGFmVss9lDl3=3?$0amT|lVs8qg~4 zprV=lES||W-z0y}{yRC_4{_cpo$7UGL#Pv?q?|U72CFyScXyY0&%RP7mj{f|4N0KC z78hGjjI-N@Q}I-u@bM6+X%{179F5olbOC*3G>c zRCF-+3_KsK<#I~yvc8D9K3HAEH?m*(WF8rY(UarcQ(jE|#;ZISELF%8;wRjV?4R#W zK9(MY53DIYPIfAnKEA!qzaY0P5Dc>{ zJS#d%b5@?Qy}j+o@{64RncNR4$Ufx(jviHjq)|BIrPKWU({}Uz!*OkXB&5x=$ar}q zicIx$)+5s*<16F}k;vbiM(45qo^e(v3DS`J*i*SdzUOQO`?RD&6a-Sz>N+^4zURFN zOnF^${ql0;I_d1? zkj$!OsrM;!YMFRNd%&CHlxoF zKVQc5HSEe*yoQLl_QuaY2RzS|C7yz0=>^yTHx+_ra$tK=+Ull{!pteX>kAgoD3n}& zWo5B?4_w>?{N>(~lg}t@z$gM~674b@g-QWa#(>dv1dAL4)&vQ3zkhgNWmmrFcIR=>CWc8!w3b3YdWAo zbrFfl+3c){l**S-joW}hz-c=md>o)F!HaHEIS=GS^q0F03)jmJYcyGiNWZt;kzY;&hPL2Yh`rF43 zjYfvutP27K^lfCU0Gf`}5~?NhvStfQkaPzOQwE41fo)w>RsseqUnkGr4}fMtKR7(h z{o8W3Ir&A(SgO=K=Sf+O5+eYChesBe07dTMvn$P%o|~QBy|N~;*sDyn9zos>K!3_u zSd-SbBp*MPrvSO(erEX*eneSR>~;3jKSj(B0|a>MRD?P{JI=KS z6*4KYlIP1=tZ}UBmE~Xcx*xxP8x=I$?0^0oLJ)wTd)q6@MCWmujkUGB?{g_GJu_bIX3Zma zP6Bi!uWs(FH5X#ebG9VVD@>pm#-jU$VCi%X)G3J!c#s)9af5)YE?I4mlkxf+B7(O?bXE}!Btn_(n-}+)eT{}^Sn>; zSf(P2n`ZS@#*}?GJ_`v8NqV@84$M4JemckdTG|OvziDL&0ytRA_2zP)5Ur_Rp7){C zJWWTQ=I!){a_qbz%JELFqWiLja(L(h=Ty?YoT$6!apYC@cJ{z*)>C1DW-6d6_h9*c z$~aX+>xB>kzVfMrw(*!;Tpi{d$bH-jxD6?ZJVdC;?h0#*920gtm+SCOkn=3P%kl{# zV;DPx0zKYEXJk`Uj!x$6E(~pC`ZnqB9Dx`{_y_SlE3t@lDcw97|LJ-aO0L=Gsz0Y@q5L;mw(%V)c~3PH*<(B;bKTf5WagUq-2=c&m$8}D@B8raeLa_T7j`E!nr@MIB!qh}`_X*x=zRbET9xoEqA(SrkhSwQ zGqaihM+#s}B$=n^Hgm2jDbI=Al|21FRnE$C3Zr`BWzIFqYuA#GTDSbox_wQEuh6Wz zW`u~HVjp&f`8l7>zW7Q=T0(@3Wb5YjmWT)o8|VAC_4Q4X5G0^FpJxfG`*{8aPzrhS z#i@rN)K|VE6~i1VxgA8T&jYx~!q>k=v{va|;Zwd;zVaRl$F*GF)!W~jN;2Md$#Y|o`fBf+e1+wn*nKltRfFT5-JWLtW zW2DYSuCKfxZ;Yh86`^=W ztbwFW)*`}(=fpe+X*-LO<2vUm*MH+pgbu43EBAaaASuAj>yH6@N<^+k2~INhrNJ;n zD}W+vu(`P%p}1UN@Aa#YiZUTSmvvVqqH5rGGj4Ve3TsD^2e4`=$gZPIt~o|%HXoa=^tT?F&;W>jQXGWTRC!b07>6 zn7YsX7Ki=jBBY1aRL&1s5GkJdB^`2h?juQZE|)WYvCH4(c@b-+eG%2;gZ<`*AHQ#Y z|M0o?7q2AcAqISW2SBwRI-wb4(jfEMj}q7S;P+qO*I2V9vTvq}>>(ib)BE2));N$+ z1_Sv|ay#4u7#ZYwd9+woReDl&4%srt6$_qy0Km%m0z@uyK7~z9M@jQgy#M&AD#$4a zF%we5`e;9BaF}HdFyN&ODSddZGxgNT=(84QA#woL@##f@zJB(P!W+UzcxI66{=nRy z=5GNvxt@l)OB%8$rY7T~DTt+_|G zT4c~{uA6Z$b(_hx^^5M&Gh-OAwiR$6piWi}*EJao;0~_n&gWcabMi#+-0r9ba;a^H}_o5F*m!p!Mh?rhP z^Zfu^vLdpb0mq!PBn!Q{38?4MVadO_Ijd@Q8_|UqrvZ>5hVnbC{p?J}I3uY%vgr9P zgy*7k=*6Yv?X~Q;#pYh3&W zDpb^ct-CPVJbZFt=){#vn_<&$U9k!OyD_rDP8{Y(|%zS zgo6y z>5h=eAyw`VsH=k&f#YzToL}W&@Mef%)ck5G0&P@+O5D4uKt>TcU!Dnvn-zqh0PwhX zfkN&}b+B37OJLX95s7GQUKTkkANLP356jJCp3O3g(WS@$LZL8#s01~oZ&|V=e^}p$=OTdZj~e6%G?95NZxi4T(Q$Ea|=;^$|0wOM>LH_8GIresULtv&lnI8E$oXwfXJW-=e%$DrsI=8e&|Y z%Bvc4f1r^jWC5Ox9>BaNP8E*F3Q;bWuvn>7PUR#u0l zj6a9`vJg))Ph!M{BNc(lT=#R1_12)51_1>O2deuh3q8ndm)QflC09&&_Jr_5RfpCC zU=SRjY%22!Yy(PFoFa2Blw>7DQye)DtsE2a)W*pZczm99jZ6`1u73X{YZ}Ozxw#5h zjuI8VoH;QbiOp=nD%veZR-RvEFG)}jk$QRb3=3K30NuNcBZLrf&!l8b+1oGwfA;=l zxv_0q4>T7`kN`ojF1_BTzV|An2!)w4&D06Ae1d!-y;=66naW5>w>ZV#+iTVZNPu9S z|2LMqqI;X(xZKB&J4s++tvSaW)dL~JJ&{DmezHn z@&;rk*T{3tc4Ldqo}0}VtVsag$TaRe;~;uy5?yy5oswtafSH^Hxa57ErN`#{;GyaC zLWuJIo2&a=JLEDXP*g_LMxBT{lDpw^)7uJpMMAQc=7-#zH&u)B*n}M1f`)-bBhLu{ zMNj6n(ym04=-oTr#H{Bm?`uRP|JPm3zaO*KlbPt+nGmSQTr&@*ihb(7;mAg~=DG$U z=Kh_zoUzW_pot2|I!oi?wa+?7{+_ZwQ8^_ioHq6cz%wM0Gi{;MEt@wUMb}1_9TqZV z#)LFG!1nC$w3Z_5G8RiuvKAiwTUiQXXb1G-mM0EiVW*$HCrT~V@JdpI1i*L zhefr@4#||B9hFdkc{I8$kbYUIzamQOvD2aw9D`;x<(^^_MzP<^{lx;NpbZkE-L1M# zDc;hD5ebFl)}2mJTcLx#b&UvZ8@MNPaLhBK3e?306L(_6*Mhgvl3}xhBQ}w5XWp}N@{Hp&e)EJ$E@pF z^!+#TyPQ-}znpI`_`5MI3OGd1>%5Q@IHx%*z(9pzRVMe;m8|0 zlwf}1PhB_LgevkA>@iPCz7iH@6L{zr^m;cc0nk=0|VaSg3 z4qo^30BIgN3c1p6a?q|r3V0vR&rSm}7R%sJSc?I(JW&O5LPA>LxtZTh<q6AYW0KE;u3*?i<*YbIAk46O3sC4ONtvdlPc~@bP1LLI5)cY&l@i6FEo#M=9DU ze%(0aPxhAk5!@)R9BKv0K%4XyfX??XLT(fumvPBH+(yxNbHEK(Tv%EzkAbl1cfv%m zNGTbtZWIA{_3~xSgy0!hSVmbN9DXgb|UOZ+~mv{`9s6bG63lA!KN)IXgb8`%vFtR>p6C^SkE#hmXyhm-``3 z4*|&+&Hnao8ADA8q8@8)hcQ;wg+(!Do}2P6?|g{QS%|Fl2C!@RWj4T?Fs2NHC{BOb zu&WTAfVCGP6Gz8}Wl4`XZ(i>21=L;_Ah9L}V>0;iowb%W+d~vg`k_<`!~mg3_K_fM zp%IBJQ`I8yqVDYO)Op#?v*^gCNL_K`+cyY+{MxB1u9v1)5uKdD%Mdfr|g(1IR502{^ zjI0PirCMaI4Df4Hk>-ocDX>&DZl1-(#dV%*CTrWPvs|fC`OHgaEI7l0p@okaa_n7qu-t`kMDWmN!=PiDwenH$P`L#7x>(PF|jW5>ow;=MM)MqR$aU=vN=Nvgc&Z$VR$QV+!5?vC!ki-5M z8O}Y-b+gxV`SvF3D!qW#&Kln2JO#XqD%=I6_X6TMM*Ny*S3$RRdAyHy%5z_x z(Q|a78mj5&o#@j1Jq74z^X7v?)ZYNe^z8UTZNPl9xQ2A{@`u3W^+3?VQnbZnuDLps z^PSI_3#kf$xX)Bi^xfI zAK8q})G9Lf+36`9&$(S~KSM<3e!{8X{n0OmB@Xh^`TOjbLi>QA5Synwi(!f)NuHyV z&y`|4yogNCJw%Vj?nVb|#f=y(E_W-My(mW3qSTgJ}Xk`{UYTGlFbc8=~t zPAWC*YE;DCd=5?pX+k{Yw~=#07#Yu%!A9wlgRiH}N_2n-1zV@974mU0)Sx0~J2q@< zd#BF!>RN0~9%?OmR#EwU_J&jH#r~W8KKmXWLsyJO7qKmCbq49!cIe?a_Y?gYeXbq~ z$wwN#rzMHFs4wB*Q;Wv|Fc>UV+BO8F4Lt{9d}>_pk5iRz)m;pgfk%H25C!Q9*-I4iTJQ5a?-Gew{fB?w2!Kg-5Y3>BfE*!6U7w`=Xt6ny z`*09zLOK8%a3H^Nab~`Ry9h&oMHLn2AdCWXyoOQc1wIQone}`*jGFPui-MfZ zbMROzaMf;==RnTvc@&&_3=s^VRyx*VKpHQQ5T)FB&*9+fB7-8ldI2nDy`m&2aEEcJ zw;UzC)aaM)*>9te40q$fKaXO(jH1}s0~Cj)ETskU`smGXE(Q|BlcLKL@S{7B8U^{P zyyntMcrK-w@z`i>ia@9{aWBI0riDwFLO@Q=&!TV!A#~T32hD3?&DGZI?!Cx00j0&} zHqR^6Ed_=_GJ%^yAXoBRbw9ca*hUNvd4h9~K>aY+mtLm$-5Gv}ayNjH_eAtW+K=m= zXl)!2W}Oi$6Mg$3Er%g8+gls8RzNeam!kg>uWa^nD#}olNXm+56cu6g6x9{j%{u<^ zr=M!tJ0)l+-phd4n&28R&pTB>KhFigk{!{8>+E4W>qU#;b~3ENTOvkMAWmbr7=QPG zEZBRBnGtZ7Jn#12ZjmP*C<<0R$3m{bJLZh&{K8mmudTLel96vdG#ji>ub%| z&!3t}KIc{earWJWd1r!w-rL}CsV40+?2La!Y_d)wTSzUi z^(BB?#}*_^0|PZXTl>2e0j$VSK+-Ve?k49;M9MHja;L@dL(byc?A!bIAIhMO#%(UK zbS6`e)v728rx)CVGez!AUe>@uWKwQ2hd_U6Au=R-*%Yt=G!$h%#;|mv5T)8FrvLci zb2$>|5`==$F)3bt{5WzXQlN$mFylp}rw~qZqw;#^Yh<+E>b6_`YQ5r zdUjN)liT~7&EeO>$op0~L3GDKBzd6kMFO+`_c8v?IPz-Gy$>*Q_79K0nQCpf8{k<4{{v> z^y1xGh&%%>B_yD9puPcN%l82)NSU?hhVV>pFc6AltA2K(((zZS86|^bp zz^RZ2i(S$}`LguE(<2g>byceoEJa^)j48ZV058g_VZ=hOC2rgM>lOV*T;20+faK<8 z^pvPkYzN{}h4Rs-b0IRKh1SVHT=kHjJ|5=!Z5lL!YZi&f%Vu;m$H7Cun{^l2Us>&y zV?tFuXyo{YiP}Eb3DxRDkX3crT>C$dK^CmjzIJ$DDISP<&8WY&Fzd1kBG6#9KtE-!= zk8WAPBDsI<-<{2BgIfghu^g2gTcxL^9chQ0^^*oo-ng^znbLTbD zwRvCGe;E0E^Y&eEkyhzZN-$zYG`vcb2$AUL@5p_wTO?#=Io}}%q7!-M5R#c$&Y*8! z71_|#$E+-ll)Jpe1>Lmt+@eOJYm`(tMkz*$^A0? z0Cz>GauyMpoe;hA;YIelopQgO@1;~})y()8X$d$VEK5J^Rtg@XF}xlZ*yqg`J<*R| zg8(wmpgDuu-YQsqj#1M_c_A{n7y>7kSp-H$7Qjnal%>cUB3uS6zyJ90Q}a?$d}Iq4 zF5sT`Bf(p1A&<^VUN7P&E#>Iz*AThoB0Q!gYyMEz%KLcvc>F}VwAp2}kQd(7m0U{- z8uBXV{A>10Lj`GS+Td~mSgV!6YMyAS479(sXBJ7w!Kerq*#OG4@?|6qlH^I`{X-(8 zL00S7yhh7YWLKL>UQqP~CExiYZHJ>oI?Gl*<3|WP^ zvWu)q^m^`Fcd_fsoY%RBfL{Q299?zWEOoSJ9#@oCLAz8fbqfqMUDWALHH&?75+1WB zI!EOiwbrxINumk>g9t#*$Ru`Y!Mf&*Uxe_C+Rk1Iv3si_mEYR^0{gRuM#V;4o0vZD z#Lm|6!|^phGSfUv0V?V$fcx3z>Qswf>0^M!R5QA~X~ySGNQ~5?03?5>|g#kQjR#sT^poo09@LY}>d@q7$UsuNyff z$5PtH0r%Yk@gl_IYsA-?wnPD@V-vS?U%7pe6F}K#irVv#yEhJ}aY*;d%2IQDa#W5k zsY0JWeaU<7qeE7*-%WIp86KR2oQcbkugGZbnInkJ%_ZBjwY`~hdlwzG8qhk-*^Nz% z{d4}Mn$@fmx*E}n?a=*;{n5r;8mou{M~aA{2#T{qSF*p($lCgLV<7Nt$WYaV_1eLT zY@MR)N*&9+EX5Agpwn#rbjbdxdadjcXIbko8dcOP$~M=I{N>z>CUKZZRXPuuLjJ75 zdTjCK(Cn?n++VI08$w#NSAPBaC8;RgCDqEHLu8GkX>(&Yx-K?5B#eAXk(T+PB{7|A zJizBqAM)H!ksE{to@?t)4?;@z$|;sLpxZag=yUcC-BJE?(_NI86Rcdsra*dx!v{zyG% zD;^%k&C;?q%A(h8RBCT`uhQytpZn=Io6VOmA{-(YQu2ZuzmW)E&(AuN&|X*J_-$US!&PLWS<7|4lMt^# zWME6%fqdNL-_ojd#>zI<7iB9|ON(Azu?V}*^m-ilEXv`hw{N2qMq%u|<~ab#AhDXn zoa+M{1ypkKredJv)B`0V0ERCyT3QZ@U>qICV&pxhaSQ26$xxu}pw!HZ?d<@K0J#{& zaR3Z&uk;h0vK;CfG?&j&@VvUQ6~%K|^&P$353pNCD8JhYsHmRkQJQKpC@l)o06Ig* z%uoxG_PL1YX0`OzZ9WT8&bW|155!xK$i!J{kBG*4!$;T zqcC#LVkiPm76RmKSe`*tL9w`$t%c5Pa~MTw2%=6p2pdwkxxP{gk|J_#&rBH>fy^2M zR6^qwX$Sy9h^BL&)&X#2KoqQbErJA~QIMv`0>Of#Qh%h-@a}*4{JA_!z`7X{yfmE{ zgu|}~)tv)LtG@gp59(|xr#AQX?(ORs?Azw}@UWDy4kXu zyz=7^9;qP|nJC&*6g-dQWsJhk&SuSY0je1Ax!k+dK3=WiMU?5wm(^&13LNBfG#L=h z8s&4y$>iRE#-%*Rx9(f{+|#4u?3Lkn=S7~S15m5>hf%x@K~$T;`)?k~ZSKQal$NB{ z!Nl8|rY|Kfp9R<>E(l9M>;L8Rr!o|xM7n+Xdvj|iGV`~r^>U>+8t^yD`XQ_CUAsxO zBT_vSDC(jj!o;BP=pktK7)g1~y*Ni|T%;#dG&Dp8f#V@vi2+s{B^7Ou&*QaUTN?yS zhd6F-Rtn&U55LxWLMv(j9-nxg7*tc<4QmW~%rUr(3~UATh-gYv@&3;tqwaY+fI{B9 zv&V=cn%w|5=cWk&*0pGVf4BC>#B_u~J&EQG8Z4;I;X#xO-p@VGN5-`w&i^8(*IA1I z>W~e^_-EN`h3FvPC~LL0wpogFF6Sv2pn#lIQD0`z@HEnZ=aHwS05B7)r2#HxjqEjo zDw1=39X*#lHW{7qC0la=>r$L}HnSjgu5~OtK8sA=T&)uCFde z`FkpBJE@2=qyG?+(V6L$7s}wV=ls1Mzz;x++65z2Hz)%{XBP7uF#@%hAv@I|B9C=< zCE{|Q^^n%2T`JH0bk0MxnzH=Jqa^SVca216hK$cMYEZ7=eW zwUD~CycvS^;i1|4UG(j#x{<6+ND9)So&f=u0SvW}N@oPW0L7bF;E3I@&b%H#52SoaH+^AG?>mS{i5`fK*N8Y|rF6 z_c_0jk0&185W-Q`q`yd%vR?)^W=%pg$&!NjnUJ@^AYgK=9c=c)MEodldH#rqiRkll zEogg)u0gI>5dDt!^O240LARIp-)C8*-fgkVT@6|q;muI5kr zk1kmo(HrVZsy@NGMr(St zt3bRKzaKxDpE6UQBfZFTh`NYEc-~%rHCKCVF3yh{^=9n4CMfSe{#y3bGa*rQ2V1+h z`zp`WHZu`DgDXUcJ@eJoxT2kBv0dt3I1GHAdRjzW>KvO4fOqCXrbJig7n`F1{h!{w zEk~}J74=4dHImIqb#_&q6wHZ*%se|3nkn6?Lab9lOMCk>d{^{+4~oAq4vA;N1;e$BWEzzmIYB{rd}u7$&r%h z^mj!+5PHa!miDD)Wj1;far?2pen=8R)rmR~0;IrjS>Ar+BKu#hb9n0_fyJ@pt&Lq#J>?BZGP+X^1Z*OU%aeBZ=MWZ zIRNHqb~eVJq6^!M0P`r@enp&e{s9KcP!8-;04YTy{YN{=ns*V!K;Z(+illR9YmUNd zgc_)x$-NDu&;muG7&dbqMRZS4LxehODW5#U+e{Jj9PHR%WKm2T)_As&#POHbec)7O;KG+ zXUZWIL7||eeVE={H2}Hi+bA5QOwO&Lcikvg#kkyYBL#G7Sb%{jyZyc0=I8ex0yJ`n zvNuvKc)K+p0A{s;MfgQd6mRp)Q>H;T<@quMZWLp6mFvEH{kniIB_u*Zj(lBYuY{<1 zkZP7g*8D8%Vo$9DAXl?ZLKw_KIM3(va076Ytb@o1!nwY_Ssra^0q(`~Qhuk0hDzq~ z@^OabJw=(lFvRcpxMZ|#`L`Bj_K@!*i{HH9^HGTQFppRACz_>*?>hIyQ1kloYDtM& zjB!526W#{;&V*f2hHM3KM-+ z&D@B5NH4kP4a$0m>>%3!@_jygW3X0Xa2>=DD;^_;Vu!)aJ^C!`xx2Shgh;J}ngm_j zq%J7%H!)eH<>y}+uldN)U8M~2I6mdSg*@NM*-3Rxinc7`yt=WLvo_4W1UzTo40v?v zf$%@ZD9weyB3#m%r0mqZn}@cwtMgIqe3AdGxBPO~6(NxVcb9uXO0wON`F?X40}W{S zJVp6PYc(Lq`w$Bx*#OZ>TN;k4riskFc=e(=K9Ogh&*asM!Z{CN&|hA}0C^Rms>oJ; zsbh=5XQEkBDS6CA&ZHIs76=8Wgmc!_^dW2Y974&%d2n=4*WuCCp-CD7fU9E=zrLn1dHoFn7w|C?Fq8M{a@EX-gaqgV{-Oa75yPmg z=6O0Vcx+qM&MoFHNBMoo&~3;E`=f>LQ;gMQoa^RyQmv+@B3uFVz{kx{{YWg}<8+ai zn1%o@Ge)vD8^AqV_S~Gk&og#nD;7mTXPcoJB(a(1ja;AR{&QC8_t9k*Yg(iv&lA#e za~((&0%DlqZT5L)US}Y{DtbcZNv@rZ@&DCDOYMe8@aQtK7L9~-PG@bRVsl>{36b;L zz}cJu>uSn8eO%sYWKSB{Aiy{KrVXzlhH6cmQJvL9CC^S`|3dDNPN0mQ62X+>Na-S# zijWoX>%cbkJeSvuo8e^GtgHZi2-GBJM@GOys0d8)q#?Amib3sH&ea+=Oefsn@_+n7cS3_ZE;jib|fPV8B z8R&&LbIj3W<|nnbyqo7}hY_j+l}g2_Chbae{qRV}LG*R>0Gw6n*m+ik_H?o)7IdFk zB)Xt+AOhoStLqg>Wz$73{E>N}fZqLZ%*uv* z2tk#d!r4>p?4!##PG7%XZVnDbErKsX3UW~LZ+KR%hQjieh_o$y^UKJQl&v;*M_Q)S zt)W23U&xCuH73(DgM7wWT?<*sPxHs=`-X1v^ZYXZi*oUK`MHRS;`WNj6mk2vNXWnH zOB$A~C`Fvr)oQoIJOBPZL~uTT1E>D}P9EC%9aB{wvYekI8AU_#KLAFR->#8GpiJcuxkeNDJ+~)Q&ek40F*o%MZudr3CIE@ zjw;_>jUDK5_o6EVg0kY z7tLX`BCNdIfDR!?hmc~?Ek=i}L5PUD0O>^zK-@hZ#JmnH_30>M&V82$)g6r#3?ZQIA~&7G|Cb#tAy z-re0TWo6JB@0)@_(Txwk{?h#P)4NJfF*iYk!x{+bF2*>8eU_}`=A)!PSA7bDOqH0? z60v~uvaXl;{MZp)KLm9(poj5i zgyaTW%Sr{xz9Is*kvBvO;LvthelwuL>+RZ`Tk8dWn2p=XCnC`onBN#WO*a<@XbM>EvyK!nytf=0HTmPX^YECD_Mu= z_HtCT9sVMc`D#;;bYE&y)k0o2mrE{Z0^SG9Ta`{R9|TRVDf7jCmhQ0^U>#kXB{KJ9 zCV)<#u}<{F?VS|ftm9*@yBrz3M>@#1bl#kwoRiT7?_=ykKx)-s2S6bp<6%A{-&+qy z_C7>Nn#k>`g433W=t#8~g76ryB85x4-PvB#tnSV>M?c>-om{84I@_Fo4UpLi$c!94 z-UX27c^(4hDK)ZXe#c@@WD?WKJ$6DSbi2xR?{8W!^62WhS=-Ov!AZ z?viI}3GVb$$dUS$fdB5Yx|;yxTp!`1BH$gmgi{8YM;uuch3{l&CV)!^LuowH4UrgR z=|13#H=8r1y3O@tOR{g*L#b)ARYM_ire=*DoP?ADoq+TtWMV!W&QT_MtLS~HpJ!TJ zZjKI5bKUG&73IfnL`7bnUS&S)4Mk{D~lrmaN{fyaZ_`l z<6r)MECtIN^hG+2m2 z^v%j(DZswXM34yqi|pm|IA?lDO7IHIAQep{XKDs+h)hP0iL9{Wnt#maxz(kR6ZJA2 zMWVbKN|;dYy6h-?veX+yKgSN_`l3hG{3J5zFq-Xj5ZoiJcxz*~`SST=?ZqT^SL&$_ zkL6Uzb8^(0NrSv0f$HiETBS>G^q|hyL)Ny^*}806)_6K+BlZgpllpakKhECC6hIR4 z`S}^=$K&HoIU;xVck`@Loa!6w7;HGL5o%6J;rT@Zx_8Z_27Mc+O6X6&|HokYd zlIAW|D&#r(<$J^gX{ty@*0);t=K0A0_j>z#hmV7|jhs|_UMX3XixCBE5h$>HAu#oG zcBHKF|MfXP($~zp|M(yO%P;?*|L?bNe~d3_RCiHi-vbdL1(1rP}X$t$(|QFMs2czP!gTb=*>W(stfzbMg_FwMvZ&TMeLCj`9?u zJ3hY(8(uDDsauk|56sw}Qc%S`7+{)`8<-xm!@VtEUCg3K@D0_h5@J@;z znY1mf&6;R;OmPEPn^`L}IuM-AC@3==v}_fn0UqyjO#|9q?CsT*bRDz|ThrOA=QUBP zQV41mOU^C>#h5TO^8W!?L{c3AZ#bEuc-{LSfBXC9fBg6VR$da}Y4tF}^UF%D@;nAS z4)gvzLgZP*;L8x#kaSX#KDLy#nq*%pw4XIJ`CD$Wd*{(JI|Mnt4TxFIdt67|!gAKSI-^}(1a!8> zTV26Y2#$_4QV-P<0keim={&b4r7nB@;lumZsSw~L!r-eqa%DYu9WRD4z9G9+=$Ow_ z3$wnpL23hXyH&KV&g<~_u)J({Q392Qk@a<+<-waBvb(umvqk_Sa-q)QF3&lZZWaRI zyc)&`WJ!_a8GO!jRC+|tVMP@Kz%Paul_Dvcpw2;bsxuFmNS7KFfRV2*74zu$xS~V* z``h`QCKtJvZ_$#i-MyTbJj+^u`L)Tu(hFyD_UDSgRT1oR2t?NZiAOpHUrOg=fR+7H z-y^zn_juO~y8Y~1&Zi{)e5pN)Qpq(t&2{cm+MC)SQIXZvyf&a$fv1$TqpwFfGuK5t zW1E}jkjAsT4iMoGF}=P$C)tzyo=zFM-{=H&W^|e~KItZt>q$MQE=dfvXpI75XIg}0 zJQ_y7*biN0o`YjWHv(**Ceg21d;hTyS)ZBt=mrzq?Eyxf&vR}NoRyVsk;6_mpz{17 zawf8w=kEq^M|IB3MgNRq@^hVgQI4z$8344H28Gc#H_y?f^v!%T*KH~-YGpHPuQ2?U z*T2+M`@4gOW@CRLq$AIBo*(AiQe%k9&3P_38~xA^0SKv8C~hB(|lFQ}%f=fF_p`v3Z)#J%&JCgy_sHKGigL^Gg7ZCjpI||0){3%ek$y61y`8 zhD6x&{cMPdb#+}4n1y~w^)Tyy!$t-==Ny^9t`6cU*9hj0Tq9gL3r`^>`HcHfz6!7Yw1v&q9Pm>2=gv3fMG^5B z$NJLAnrDdqsSl&eo*(C$9=)Q}L@q{BA#|5%$u1oat>FHVF0)re86cH8O$v8`O ziQ)uu9cf8GtyC*EC%4(W*nM3E^3s>2+{!?JCo}<2xUYbl4nICR%V$62bCAjqw#W+r zK0n{jHKk;$KWk@|DF~;_IY*>jnrc5ao%5VEm8R-kX{CETJk4|Wi>yd(cb^=99AQY~ z<;7{$caEZG;2O~hM2YTzsjM$uBZXb+o_$mxu1lY8VDN(HL^e3IWIc34irK-r`8BGW;N4a%=s^qo1V?k%&>x z@BPf{krw1dWJA=%>k*G&o!UXfqzFwu1E?wGo8LuD+M19Up%?$*KLi*Wx)x#)L45o6 zbt#aQfJTN}PNrH1X%(+uzN{!mC(2H30v5|tK@g74PIF-Io0Z;D3}S#<4wqCd9-&K~ zk7%PBR2M}=Dcl8o?d<4=WkB6j)r1I}SKGK83~3Yw9hxl8tH2|}iy@lgAW5|XFmCv5N`~n z`w&GXKUieL&_@bzKE%j+Ga^VX04b0C?d!J3yyAXdcIjecHvMS`RqAl8hC6b8Am zyoQP+bD`{+g4>(&{Lkh4L7tn@wiYJYl1(tAU{YSgyS0%$vX4b7A`gl=k4_G=rppD| z)%}=guHI=&+sep4qq`8Ya(SVkF6T|rb>z$buB@!rIXMnM=cNZ`MI1yTfkog_L`LMQ zx?N?x6mkOZJDVHXo0rW$|I42PyxVy^x;Fvv=7N}$q5cA~VkoOEchy?1=B?XgS5uLC~8zPqhNo%>z(a}ls zV*f=5;J7-sEJkn8UOK}`n?u6p76Qy-e32t{M5`-HHONw%Xu01!eWRS|8vaPuWBjbk zeAaS0XUNfXCJ;&y2oV*=etvPLfSr3EUQ4q(59rG0=M9<*=p2NQEZFyj5Z>Ipp>&S{ z28J>k{&^O1^;T3c7vbraV8}r-zPfIPqmYFdJURUcdpDmc5^-}UMP%HlmxH<&q91pn z1J1JVtINHd9bQV^v!au4a)$Fh>1IHknmSzt)!z8LyBKOS7N!+ZOZUkB1SLdY1YAXK zfe$Hs07o=(MH=p|5RT~rqP*q6_p^>u=5hFa2&LzlL@>OVxMcp9vyh@aURt9!YpSwucS zb&De@07oWAUSsO{@@~MC`wD2&()Ym-#E$EFIv9=7MyW=PN>TI}XrR7n3Ecw#y+y3pKes_G>xMljk#EMBS5mhR#y1KQG!B^hHXu zzM?O5(&!@38NfRey*#%VJvsLCXuX*bnXDZfOx{8zBU>C&?YWf(I3IA@Tj>;#d!7n7 zLn3m9krbj{OpSu~y*O-m9Hk z-&~8_=Uj%kNzv26N^_LU^XRJ0oszHbHJPH7bh>#U%gd|z%-Hd%=*=U}fo`+4k=JMG zf$QpunX|*={uJO$CbV;285nLDIT6Wt3Ne!!7W;{?RD?K0NUfrxdJY;hZFJtUwrc*g z4_8wt?Uln*q{>jgtAJk)F?M4*@?s1C{R51j#&%by%Lq-)_Q-o`VDa%uMKciq*Hyp` z9c@Q<(Yu3{V_tHB8h%XPJKtzUosTYla;cxn>)%`p40 zP&Qk%#Tj;1B1zQ%zzikP2f7vbRt#=1>d9&A>=Xr+J~$s4Llh9r#reo!oQ_+1&rz*Ztg2 zFu?OD*KVDrb$;sKYFOCywnjvxq?lxW&mmJCuxfsY<{+k?Yaq}@Gb;9uP~`Pb-`6rCnea*c4fBf%190{R(4HL`?7l9C^KuSPeKSvx03lf1; zASQmtBZfRwuYT{&@9Vw!IZ)hAT#umVX9$Yd_`Sawf3rXgO7uH5CmX;2L(|Q_DJ({i z-w1&jO%#C5HFq(lY9pj`3?jH@GR)1l!wO9UpNsb8-7M1+W#*7ak_!l9{?ZUAve__f zX%3V%FZERbh?Ed)8Mqz=EK04B|7!BNG%U|Hzu2p3L{vZ|K)MyOVVdwH2UCp$FAI-=NChu1Pc?x27`Fc?nvm})XrAun zfKdSW^_#Z^j4B5|YoMmZf&u+CharlMQPzEEIbck^fJxS(4PK|vScHgY1#nUCu^12} z!UFvBHpvy1mrtqKJ3w4MFb^H?i-LbGg+&$2PjEDKDrsv&I@yC^85;&8k6wyKx3c%| ze~mKfHVWDiETMK`VQD?O{MZYILR1UL&*RlK89@Z~FHy?7dwV5IfVu84$QNKpi76gm z`WA7}YFVh45w2;6o1SGUlQf#e0`8GO!Kt8YO(7D9@Fa)6E@)IChfR2DIxFC=ZQ zfR@#hG7`?CT9bTC?)kdfMQhXRY&=FD$rO?*_u2Ua;7lL}+7Zisf6y!i`D=kq%`!@8pM2Rix$sOI;KuF395ttsd_h50PAU*3Os9|EEs?@ZNbX>~l6 zJy*ZAyZqn{{&^gACLooBGom(4~-aU_Bz7A`7*^WG19o zlur7kqI!`9zd;5NkSj(n^1T!iC(7B&y*X3wetK8?jEqU2lm?2BX-Ki;Y-SBjoR2-P zf_wYW=5LeKXudpuP5&=_FsbN>Y4NXLy^Nv0kG=_U$vRf2n;1_zZLr?2Y5phKdosVV zwH5-hRQD`3sz2ydtKG-P7`^GNb>#at`-wCxZ-}jqvka7!9#53iuFPu)fPNX z@g%>g$OZww8|9t@zIZ7O-7~z9Dfbj+!c12k$hhjUmis~RO#t_O2w0bga1zj^+gEgX z6;9{;<#G?a{8=AaF4@WgETJULI6(gXD&%oJMjn&PLoN;Gir6j&kY656n#F+j%K&@n zHp8Rn_$UQN|MEBhco6*_!gMD+DI2X*&*j%#JG!>h2^_B(A&)r^t(X3OG!-!BJ!(WA znzI9@B9^f#ji4eC(VkO6-qF*vZEL-q`@-T+f8{g*@Y(qI=Q1 z$z8Lyljq3GuR<6Ut7}AHviiehrdb%o_6_Nf$i-bq{V0SX*Io(IOpL>g<(OwQDOhy$C2 zXq_J`9M&ek7r^{;kz;G?oTzoA!SzpJtr~0j6eS4I>xBoHHqM-RAh@uvyR9UR~eJ&oA?Sv#~B?6W>;} zL;*KvkS})a=;$=-rU}P(ontyn>XC*W(zri<`c$6wi_6oxR~^0Dp^kLha&+faIX?|Y z@GfQ=74nYif!h zGOOr(dd8flPDpCbVQ|G@MNzlkMV6y8=sPxPJI`=%@TGJ<9Vb&nbfH=U=V$baHT6E{ zPnRqXC|$JFeXLaH%d4{O57}So#CUtb%sD{93#prjf|}mg`26)e$P2iAqTmB zWvzrrRt;P1v6>fY(4tEs(QpfFhHMNuYoe!&6?k|Gc8rcV%R1;t%K0g>B?5=&cRC>w zL5J=Ep+edbDmH#^?`3SlFuI@PBBbnF*D7@y)$J;hJUg?I*N-bw@|~Rc84EBPD~j437ejNEJ*l@O4+mLQ{R(m9R1LQNn(r8ReH&MHjebalNL6FDajY4|Ldamd7zy=~C zXI{iWAtHr{s2(35Wnb@`?bVGKG*e8YWU@yhJHr?~X)!v59bcT*8td;aBBiKXdKe>$ zoQOg(+TI5o0@b<+NiB1Ih4SZF9|gvSSsovsG<&aK7sy1+5Kn(ZEabGBPa;28Buo88 zH+%Et{f8oKts&iP-bbF61L~KA`ExJVF<#Qhx&eoxZ&lov{RPSx8tM=^?Z*(#M7GK? z5GBvEFVZxKA%BXYks2@^Vzm*um*&8e#>0e!E{Cj1Kf4V`R#4BlC<;8yIqSu!Yd?$R zRIzn{oRpB={oPXZX6n2M3IBR@P##-_(e`Wi7cEgJDiVP3?F2}VZ*Pjk zIHS@l&O&a;#Zvab{Ztesvi6vBg#i8IKmTK`J#VH#jJm8?BiHqQ1ji6bp2V#Hnd_Uo z07cQo0LX7f|JR>?jp0`jC*~2MDn*$*~3pi09g{%j)1&mym#~EQ` zeAR4eGs+1ek~+L>Q(fq)!D>I(nusrva<0J(D*+|)eX1SDjCx&h!f0p)W`(oJJ?7IPl9^Rx4S z?p)h!4nS8#0D*qEivGKwZRYy<<~Dm4Fn@LW(2TAEs|We4+ovjUrw_MwyE*f6$)jV= zazDW*xlFDXdR3nrQn!+unT|%TGnvncxmjLQv)44;^}v(Kb3p%ma~zVw;nep#z%ftK zU5yN6Jw@K_of^8O<*A%$>0r;zbO52wS#)kNSY&j%xeta3$ILz1n-H#(ke?hFPMYW3 zSdMwspqS2oeJ;f$pBs{(mZh3UAeVWal&gGP?jt1a0db|%MMk=L9Cj&tozI&*+~iEk z$)C%4%RYyM_7(@xWzN8D?int4Xf#~VnW`c)*=u`fYCl^c`l-o6#G^>A&qeZ=bFL1f zJ47(=Bfrvfjt&o_M-1eZVZd?XIYX%PesT}&nM1)QNZ~v98hIaS^0HP0o?~jczfut! zs01J;&utBz`Ayv#q_@An(|kQR$h|Ale=KL!-~IicO5Yo1%j4hc!X53r4ut37F~lk4 zSvCY`oOHD9Z4r(0{7$z)wT-8_U(rKRnb`a2EX^WLPY+`c@0xe--c%&Knpp&}Z*T79 zo(+wSedGwr^GOF1eU;)g34s*}B0JKH>0fp=8=LprBlQ&0s7B3;7rSK>?XkI9(!W1_ z{1`p1Hb#5n*#i8P(!R7>86cw46=ldXdybpz8BC=sVL1|=xEvKuTPfD$6xmTL8^QS| zdpb5|KXM&pP6Uc`it~kYNDZsbpyrOKVLCcEE)r7dp0PXXL3AP%U4ajD9F$HAi|y^c zY{sL@W`A$L^r>1z(JK1iIpWNknR=|XlqO66nA5?*Le2#!oJ;kLWap{Ut|C{Zv2yPr z43CfJ`8Se+WH@^l_1ozg?SRQqzN_ctus~9vRTRZn`~2T$inQN*9aJl;0~T#xFEV1X z`j7TC^ZNDcAC815DwjT`HUp`!fKsk-!zxybVzI>1rL@=ed&`Va0L~&Ik=r6HA}20^ zfcW1E?UcW@^7Vz#oadnWYF`)SmG}MWKmKpcN|dJjZ%P2e?Zq%l`Kg}z5kmRTw>gO3 zeR6W#>;@2>A0O61-hoUYPoF*oPzG!Q4PJK~CAhb<8|C&nfLi!F z05D36R|mkaE*k?K8h9ewjzbg?Z?<$OAV&(Av@V`n3RdSGL~mnvKWmZC&ON_=Y3g-A z-kEfy{5yva=(^2&c^;*S0ekBk>!k#MdK1dECIz%!1{9ym8;=pAtay=u>E$RUWb8c3 zN$W-);Nzo{QZOcIi$*DilV&5m?5DTyTCdUPF9D(<0Rcj49~@m?|GnHBFBjnK*+g0v zd7MLz$j{E^W|7N%MQ99Ecd2>ETI-)K+$yeilAT5Vl7vbWOHY8YVsT-sN=)`+8yVd`lNjmif`xwiSO)}6=GE#6;pf^?ehdKH&e|U4eiinS2c9EQ5nf|pU-}LOi5vkx_DsJ2@SAr@3RgdJ zKb3!%C6CfmS726(iL$(YD{HH@Zj2N{AflsAXAlBo56P7-Q#x=}SGdUPTEOo?_9si& z+~q8<^amlXOU+q`#NYq@-#1t1!@56%6l((U&SrC{kTmCs(ca&W0nQ%q8agM-tLsIM z|MJ&gn*Hq%k$?iVJV=XfIM(nypdL`Lrs{{(G$E+7*$2rjlK`33^|d0t(y4eVfe+q4 zWJv^~X4_=FKL~)4>33goKWyDC9bbh0bn>F*%)@nXhvTU?`vzk*s#n z`HxIWJCJf`olUzRiLfqon=wKeW2`}g^aB&zNklKYKq{Gr0Z&U*Uil3YP^^}FM4Nbwz-e08|;Q$&*pn=8Xtj`tZ^2gvjji} zSY%x^D)A+HAx-M)AfGu1Kz_*eJ0en z)FaMWqub_Tl>N%b@~l4GJe3}+^Mpa?s=&$lS803G&0uq}Sq!Psv1>FmKS^=;bIw6* z+I4ixa?b5oy4!R`CPpVuH8^p$6MX{==e6Syn|sffwLnzv??Mwe^>bdjYtPNX91rhP zvmB!3eiZQET#3*`t{ZkK&vqNVt#Dp+A@)eSLO2^l#ldm$30?W`IK zMOM;e4Hmv0O`12aUqt6jN^flCY@v^$m{PSw43U*V?6$S7sAqm=j>^Mb$VykidG;dr z_2%{Kihel%&pEe9mFoc1hWgSQ9HwQ1^7mEN7J0dd{*_|gM*pQCwH+y;r)nu4d#%0s z+UlT43}*so5QiZr0pgQ4XYHqBmq*QhumZcVzPTQ~A-W@)k#iY+CFN{&btzctve{Z+ zuasqLs)hyGwBBT;niE84uuFF#v)-@nMT8Zp+lpSJ<1Zoy94hVuaio`>b5X7@Uq0r{ zF4s^%@~wEFGE*it?IQ`DPnZ59FQ|J%Q7mUKvB zSppz*QW1ece?VL?Wu>KGb$cpjw{Wz^C0KL>M^d#WLKxo==g>rXWa zQbB-0p-tgZUR)xGXh>I)GGemwbPg@hn&qi`fR$AME4;@>x#-LQ{aCtV2>wzF$dfI8jSdmXZW9!xbp{~t6bfzBk#R%HP4o)g-~vL zAOisM8GyY=0B;|IxRcNJxhAzUG?cs?&!s3S`LB#8f>|<<{XvS!22k!ZL?X<@xCxOm z2SyaB^2l?KqDc?g3!Wrx2tBKsiELjC?0Ka$A$kk~Wk~r`bUGgah@xc*s->y`2y&j~ z-->c5SQaV<=8DkWYkP_**eOW2dVUBf5^5=S(aw_M5X1!sV=iPBxlBsEv4<;z`P% ztl?q+2IH+pN2E!*l7h_LmoJ-@tgY6}YOtnqChucpbUs6Hr8NEg{+Akr4EMi_J@a4F0wOduhewBdiApT<<}4S{K!Fcf#OH?T|B)SOCY|qohjt@ zh0fqT<#qfTLkYMHCl7g@G%T```<)J;%DdF6sTI(cTqhk>8QKqvbhs}%!{@ww@v_dL zbOhvw4$509-3%cGN=3JL1sTYTfIWo%)vLG7K}eN4q51hkQa@)yJa`dz zUu0Zs~C$MCbW^K>cjzsUk*?vG1enr)I9tvn@qScc;4o=TiBm z=R-uIYY{F^u-mKIW+lW$EC2JEh zlVe@_{pK=2_7;#qkdUgpE@W&HmAAZ=_vb#XlL(HMzcXf|#RL;{ss8b408#2YCTVWE#jcsmH&y+YgU%Q!k) z8|abZ-~hASgJF-r@ZEzmy^u3|o#%hZUW??jLA>7~@3GCFKOI)8Y^CEq<(wc#*-Ui? ziy`jPJgoue89Qn&h2rY#YXf=jqAN94iLEO8DbhHXpGAj6U#V03`sHgy(m5#Xr&KKZ zSUsp32Td2uT9Q5}D$(z+Fe#C>`R3&8GCzAPa-xpFS2t@dQpYhT17a;?`|H=k%9cQ~ zHUBV}mz|-109}7)oAPIs=1#a7Xkud0GgT5KVwP zL<@A2luD(p#>^2lb9?!Gpxsx89VCD=xL2{gHveK~@pSrN!Wz&Di_r+(TQlQ8gOh zx?71pAyEHUl*75UKB9Zl!Sj8-I5VnUuh&;<6$FgT3uiYydAvd>j8AGzp}hk9vGCH_*f zq{`s0GxcR%REi$E* zr%v1!M0Q^ z&(~jGZ7#A8x4FLi;E@w)tG?@b4Z!O8nQmS+pi5c{(sC1{q;m`sBweKP>B)JN=IQZi z_Ib5AIy#FH2w{jUIZ41FP)W88{t6;34|?rw*3uq{Y%m%~fFg3|Q+*IRRGzy0%=%Kw zH3d6{OlOxG&Y62gKJu1aQw@pPIJY6ThDA-9o$ZY%^2JJlVi2kYWcJk7N)=%cXJV8@ z63LXJZTD+P=2`X-DbljjwWKR7hmZgVUp{>dXcD~%aE&36>aZ-eEcc~YS)n~6h2YQ! zq8SRrfh&Mq0qfq2{mKhQe5Uez<6NJrSC_S)-|>V?GZSIy1>{TNkdwU^xpI$R509JO zy%*67!x*-FZk`cwH;Gt15>MopYBLb1Hft^2h>K)82J^3f`D-}{q)F+K z50n@-NM+*;{JUo1`YvMn1oWk%i=Fh@nW< zRDF>-%?}L0lTss9gZydBIW-?L6EPP}R!j{nXieK4C?Oum|HhKC}d3h-y6O9Hhg(QhFg zYD1p$y7`_w`%d;-E_w7oCs1UfFkhj2$Y$1dA%sY)+{?qfFF)UWA!W7+*+Hm)kJ!O1 z!9uR3nBN&38-}>3&f~ecIEbz2BO0-bh*Utbw#DV+4}p==x3oNy`;0b-j=!5oNdvlo z@aUPs$eagx&282oKy@njZgwvTCv*S+$973XK~&AuV+cWhW|6 zuTyVvbr}K@n{pie!zq~Cj=ohl7oGEvy^QV`Er?e!**vwJU$mTg3HWJ8D1Snw{64@ z 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

      xfV0N>R3R6yC6GQ_}uH9Ck86 z%^II&bBe^;q-LR;j3ILF*(yt!Uv!9E*7;|E<@uimw0TWGsVwW4>sPi^k?O@F-{PuGY8!|A}k+1Z^uaWdd8S>ZkpXW zRwHXo1u@m?I@hy+>4wP=PGzH1Zdo3O|#B$N{zM+ zA^+lVtla-#cA@+D;a#^H(kMWpCx+eQB-skOxiY`p6XC3($u%E7MOX5iMTVV4f{4pZ z3Odx(x+fbI^>cE*vF24llYIwe1B}Wdl!390`iZJnDbHF+%4| z|C*V~dqfA04nxwiW_qSBYpR$=&j9BTA*8ALKeE1))8qM>GeJhOUji0IXlEw^(B`tX zMo&8|_C9uPDS9Mgt3)PG8S+rp5x}ohsC!fk6<}HbQIlsFL)7Iq2>;>~+sS857<-MN z-sRZ<-2vNqMtYYX1AcS+(GkJ3fa#U7?szBHOlLwOrt>-W`OK;bRspl8vJQGvl(~e! zo%G;%Vm3f9pL2Dd_ov1A+`)4EVo1mJao5eRJmmcz^I0@?s5?K9ISDDu=g{ks>A?Q; z5Wf5TET1_PLg7|L_s0ggp^%!v(nEK?AF?wD3A@a*y?%_I<+^YCeiY+=H9e07+u2)w zcAfVWAjqZ0p5*WHTrXWuNY`cV&+pC;E-M(N6j;Q)&oG2s<$gu`*PMigD(oK&qc84eX z-SW~}d_{jc_d12z71?96dHUA!Hg-p;WWaU)R)*{MzyF)=eej5rwC5KV zJA*Dnx|RDX7ab0m6!2qr^=!;93}QQHx`U(LTvrHaNE)9t6w)my;9x(#%PH}G?hKNV zD9Uii-Bo3`9*g8x>02D>No;@ITOSCE4}JdpY4)eJ?dDg$2mu4;aR631Zu)oe7an_ZxC(Y-|k&GsmDKi4xLB=Wz z-oE{FksxJ9%G(W0VV_hC2n?E7_awH5om8S!7;SmANE=<#w}~jvL}vs_1&%(&FS7GU zK#f`+^cjYm_%OlF#l_h?lMf-QFY0u9nNuZHHvcbyOaV4!P5i@c-biNWI(AR?s4^t^ zZ2qJwI%1DxD)bK7pZb1G<#X60Osd)aB0gkpZYiW{yC#P6E7y5Of|qBqiL-g$eBUk4hT#R3XslLK=b?zYh>TEfqc{NjBJGTvtj6_aKO?;A$+MyB9FZ6hhM55{4mY3p3K!*4OiFLX3crJOe!i$lXnDQu-M{a!$r=e!mcq#yH>SIgP{^PtQzc z-9=pPvZisSd6tZwROUhqCL;Cm^XG0V*R84SCa;sK_1PgD=YB z@*YFEucNF*oqdq&l{zP$3x}gTPboqj()h@c^}u#(^J$Siq~I>^$A~I%^NgIAp*&zA z@8y7`shR2S^st|fBE>I?>RzMjAp%OdqW_Ca-D1e)&cR`or2)yBJf*Rh7FUWGOqjS4 zy^^`JzOF~ZcNQkbcPD#gwx*~d0}R{Z+(J!U^R-5E89UMX8uPoLvG63HqYN=1D{GMl zQ~OD@mm%HA9vIGhJ!nRZ@l~^myemCi%HGNYihjkR=6&YkWEpObLP=&D=355e8+g01s;A&`fCLJT84r0q9dSmLK!H^(;U?h70QMVthn}HX~4R$_fUj+b&KHgl#)@DtNc&)Q5607;pd*hU9Y>R0IQvVOz- zaR5~Qt5V^~tY7|?9hgwgavy&m8(>s1QX@zw0E8&lL6jjMd}(l4*=nGBbUgPIqEi?R zO^BZ8_mF**MHD>P*j&k)=Pp7(v%efNQM7Amk9X((_|jhSBAoUu6jd$YLju zK@Y}ZenzM}G*Cd+Go)VvZugI_ZMd6>FZUWH>+X*Y$yST+ea!w4EQ~+h-;F=GuIdLB zEl8M3n6nGxblm_UBKvkEUaT=Vlj*z#uKM z&3$P;&Uz_{w@+oovi>9bhv2H}k^}-5`L6Q%5{xFw`^41V{mHM^QJ|x5|J5%cdmQ z5ND^F(PM}LnmBNgE)iJiPoq(RA2sPFUID+=JRPMF4HGpMy)(M?FF*cRfY+wj2!OuM z)3?#2;`Dmt(bt5dey0C@8KL77HS!@sQAj-$HY{UVeIggv-KV{ss&&QSowEAN^b$>P zrc;S_u$qXARCDltr2ii1%FeAG00yo~Kgu}iW69@a!ze*||L$D@J=3$Cond6E=)P-Y zoLo3V>;0AgNHteUO9b%W$tDLn{Eb5(ohRYIvG~Jm%IO&P>wp7?L_KyhS*Oc50-I6! zn<%)3RYc%ZHYOtXEXK{@c?gFRo4IUyB*o@YORWsXv%~3}r}1fjzt+Hpb&aC$vH*bB zOs-d*?Pb2Uu7ItPr;NT*GS0=%fj5qED6jh|t(yB2zhbciq`8`7>uH0w!VB$V5T)No#ENf~}*1mM%?3sB3*6q(BU z9qTc0Z2`Q>^1OB<#)^{$g7qW;#?E?BR-`;|GP)#M?C(wHD9@Yc#~~qKCT=l)f;(UK zV#w%HjH@ijR7lWOl!{XXE<;QDNO>Hy`*82{m!nfkRcDaonF7U5yXVw^Wa)PO57qY& zi|Zuz{vf6}k=866Ug z*xGzjWlg&~+m)&N6z3?4WIVPqrNew*B~$s@sA6k$5M4DxAE>ZzkYp2CYM4Tv-HfuM zT#3Utfuvk=eizH0y*(6ta&Q))Kb!YMT4fjL52rJlz4oE9FOwCyG8M&nLY%ma32!4r1X#P-$(CnL&8kx2}#Nt&18=PhNA!00njq}?IQ2N#`QJB4ksIQ4lYG-lxqRL zqH)HNBWtpsN?i61`l#95R8PbWPmo2J8q7tf`oHsx=-PY$kIaT9R}Jw-ohsMh#H#-( zPV|Rg{kEczYWdZa8yFxf>g$se*$`7;qJw2K0MeO!&Q9**woYb03Tj@6Lsxd7G-P8f zWPSXx`q?=yQgJ9fxeiu-oZ0I3iS#QOSLkpb+Fc|Gl_LPVkh3s2R<`cP>{Ed=6 z@58=1&~X2w;VSv;m;h6eCTD19eixq+Jlc(fXb5Um$zpVP%;c{SE==d)R)A$RIR(ArB&wFGa4FzbAO+`1urbPN>eg&kaLYgkm?(-aS4|Fu2 zF+LHW5OQOBT8%Of@T7yYGm`=TvaT|P*$>ysO+z{Z-nqIwnX<+G3G7z|++|=82;)*^ zGDatXd&B|ZQ-TnP#)-G$3=YpBZhVV7|L1(hpoHL`W2=E6) zXF^)}6r)v@D$C}un~RI9`CEsSp45F;56G-ugxp(fos5eN-0i)LnvuNAv1cau-Ibqz z_4;LWF*YVPo6o6X3Rh7z@Y$$n7wDeJEv^yW_4qkAxp`ZRyT z4xUy|stKGEA(cR{;HJJ^u{>lrY zhDyAY9Pz*B!BryrN^@0a_>7sFa+v)Q;$8uPT4zDtJiFLDC$;N2SwOU0%T2ID_N4v` z_ip;r-0UFF{vm6&TER^CWi{jh&MW^P-OyhVwXeY?NSCt8^K;n|rF-^H@K=11k;&F- ze0(@~WIehS{SN7`e$)`L$?520)=M?a*$%|xC#&04&hUx#g5;` z&X{T@nCLtauQS~fNkhz3G4R$mB$PS9H?fW>0Ny&UQOU(a21eyvNO&(W_5nI2hyMC_nqQj@y*7qK(;Jpi%SM!exd46w$YoVb4>~x`S~95lTL5f4#sK&{I#Bu(r;xQ!US`Amp=}5{~WT`~?t))Zif(44a$ciYJlin1)st8{0 z%}waBv0ijh@Kkx7=ZExG^z3KDoW&}tMpdl$z!|vyoIrt(h4{?H` zR5gi8DN+8`I8>`D^CnV-9x+8icV^me+8oG6tfP$1&XW39-74b9(aZSqzfM zxTe9O?&K;CI=^Qek@UU8!!mG60oUpD2f1T@}raH*lUQahJL!6>)-$w zVfE>Ec{ZYPGF`hG`~tK&0Q<`tapJN~ni@ZE?^F+!gWdWOv?84Wae2;p!|I0uSn2cj z-hTJ;+0#m2>w5u=5jqaJ`Zsb7Vs4r+l6cpf*RP^C0p;08 z^v?d~G{>T!*8v#%<(@p>${Kgw%KTzpYeeH?oYh7JVon2YMC>&M^ShiL=PGak&}BF0 zS>NV;F3NFd;c`6zx#h%H>pIkXJC}hyqSG>*tfBp{JnTL|abwk~=K@6>b8O_7PuX8t zTXp2QKjca#88}Azkl@-^qa3n>CC%8Mj5EKEEgFxFR%#@hEs`9`^%npcF~yJFzUn4N zCqv@S>zS)NS7KIC)@)X%hmQ~3&wT*Ebl%T6T$96q4*(lzQce`xKN8)|ez^!qkTF-T zt4z@c4+mr`6Un8npj+b!e=t26K)@~fx5m5>-MJA2CW*??!)Y}gQ#Kres-R1R^u)tN%MR?*^-v4@asjm*Il(H-|M zpmu$JRTT$H1XVJ~gvyroHTeOsaR_=K*<%3V=Un-h}ed<{`?&w`yiJv-_NL+sg2{PdWSuz8&`bCmbO2W+%HLw$0B z73@ck2}0fkC!#BZe5SqPx?SU-O42X0H%vmj$#p924WY}$j3E>8gYXdSXp&t&t#SO)i-ZmcFqkGY%*F{P;+KxDZu-n-WTx^1pN5vr|2L&^H@g< z7+NDJ#ZKwHR8HkgGF1smBM~X1&}ElgJG(+jKkw|;$n^K`-sbgd6;Ou#R52K^qVIHK zBED{7q}J23M5g$(+4LybiB7;cqIq?Uz0`!ISy9<*db*;HCAfLq7t)CU{0K7nirX(_D){QdA?l zt8XWmF4(KicFAW~iFfqJ`Wx9>!J`U}!muG%xi48neTM=~FdiRbNCE=+(}%aw`SH9v zbIoQUg3byt$&CH~w&WYlg!JcsAR`|7atzzzZ+}++$&`kpv*Q@HIGQNIQa0&`lvtj1H!M?m4TUk2 zoS`#WV>6qN6L~~?;^m9(a38?zr+G;| zio*6MlElasDEHrc%{L&3%Xf9q07`G(&FR$XFsw9HibYSw2nuh@C8ujDl1;B?4aj zkqpbzCr?UeMKKv-WlADI$~&A;X(95w8=9W6oCO8 z071_J@BzjQY}gG^lkpf8YRq5n?Cs=x5n1nl)qURG4SAU@LZi%LabdRG54jqSGyeGQ zeV*ZZw-yj`kb57_TFT0toSqe+L8L0kQRQ(0E00wpZm$CO4*oj}h(f4E`&L)h>NAyJ zh*BOO%FJbN1azoJuB=O*9ozGewU7~3ra6(x?2NOs81(`T{0 zGJMxH`Om?gCj6+~w|DKk+W=j_G(>H-54g7jQ9*oZ&4#3U+ zw1$r%AYvFJj{(8@LyY4M(W%km`8?qFAx3NHKK9X=)7yMl^v8enpKZAd-=Ca&j6Jf) zWJj`31O8mI1NcNIuTI$H*zT#jaACSth+u%b(kyn)XF4U_ zfu{~hl-ZE2R4O$!6@Zej?^R!TKKUQcIUJxG{#D>NkGBYueP^s|eiYvWc<1^9fG4J- zw^`4@Ql9m(QZ6<^1|j+@13V`yko$I)Lo=S8rZdgxw*q%D-K!%&qL?+S-#E&ugzCV;Ztg^_t}(ly86h z@UePR>?I?1`HAvxuKzkej4qkTmWNQk6V%j5?!B#74f)9$@~@^Q>T`7Flg!C+2#xwg z*_N~Oo)qTNBYoL1yJ3Q!YZWX(@?}(Hs_TStJ1w87G*n+Eo8Ue8OXsWTlX1=lTlr*t zJ-F|nDijp>+h5nEJ&m*~ctAW?Mn`ldfAU&e>8tKe1qDw}nNP|PaLyDWRF zk5r&=G{ooV@JrT27E}-``k%FAf5t=7RM*I0_r1LHrv*(crVzyF(VC>v3!hS}{Lxh8N%gn>BDrkaX@w(-@+YlJdsM#oIep-O6&m3jXBRTTcJ?->Y~ z(GVz6x#n;v*YP;3AtF3Khl4?u$9 z6d7a$fm_)VjfhATz^P}zbps0ZG-4pDPBQlam}?kcmeS09ST|`$(Rd)(`#RlJeZRD> zXr_(o(7{|xHs4uAcH$lC8kI4r>sD*5v`hqwBk&qvM9GLcdWN+>Mn75k59?mO ze3cDsqQ;K!V?C>}7yym=>f{+}fD?ga@bg`fTKYv7fItRcB+Q|JN&}phuXF>L+7Bs_ z;n~>__*G_<^<`*{d$l$i)i*X)tKWg)*7G6qS5tZN%#9013|zPODPSGLH=SpQNO0Dg zl11P3HYv$L3iftBR~eX*yfqFu*CX4<(27dst?QY}FuV<574h>tjIA}|a6k9|`sK?4 z(K2=?r?M^jKdy>2dM5fgly`+1)ZflAT2Ai`nUFq4@vlz^* zZJg8UhIBVw*BGka8`yl({rN9{DPW|8WGP10eZPnv-$b|RszyI0c~Z*N$B^gn69=68 zkj7QMNT++a(Zx7 zAbBB9;LmS=tj2ktVeo)SQtZH4z|hOAqn-%8D%H=DXDRzKGq+fKe`#r@oQh^|w&^z4 z43NKi`7F*Vq$lLW)H6;G@DvF7xc#|%{rp+!HlT5teerpBud-)A^PBI!uPhpee-z>+ z>Ia1Qow3N(OE%`2qXX)Pfzin-4*;x1SDl9=%4RI)KmPGg*~dz%0z3m$cK5zSPmF*( zitdkOow76H@K%>h-Cbo=lu@^y0U1DQC~0tp26d3`4y6U81q6mxNs;dE?k*7o8ARz6 z7;+eTl$7r7y4?8I{l0sD-hcP~b=Fz??Du{5bJjX*?epyYU=i*QO}VHL%*r6oJ@E$r z{M>6ygXK;(U#`JSb>iPXSx};&mPX2s)BX`_^1{V5+3i#}m53XK8UM!aC$!uW*T7~z z)+_JuJ%D;9Z^>V-bF^2<=x|QH*lzy3((Sa}@m&CUvR3e0W9hZJ6J3iT=RHlR!8D<3 z#_^c_ZrPMoUA24E(66-5BA4o?@nz@ya;EU{;@gC-=8wfpUUrOkJMea8!Vq6!vya|v zV#}W2!y~pCN3vi+hDTy!1>ls*KXSM0m*Quw>|jip)4 z;ya-xUi!y*_Vjf9EeHl+Wf{Z^LZf{tjZkF2>VG#Q>#e)Hv|GBT*N8k>?r;@qs7JqA zP@@@zHsesAtKASQTDAFHrA3Yqctf6snzW1LCBv;+j-TLr zc0MhAMsx05g<_F3=e7Un=&E_DE|})0uRWI=qCb3Ac)0}esy1z2_w~Ng_9%!3X%yGeMQHzpW!*|nb z4kglgw<>u%8Hc2SWiMhX6L?`hlCJ}^-4vC<{8ybAsHd+gYu!{znB?t@AL1vKaXM=& zT%-2f?V}cwubK6zmZ!~lFN5xhY#`o%)sdWcE&^7c;wNiGpLo5EIqJt702u7i6@OyM zayxJJIyi<~H%?#vHpIzW1hBr}Pg;OPFNhq<@sKxTyX&rUZL#qTy{8OSP%V;rLAZT& zyrGrb@Hv#*Jbzo{)5@R34~fC)aUCV1Fw5N`lG%f_oA-j!kGkgh4SIDR#4`8H2iQR$ zp5zxk&@!RV!pmHb3FGw4fpxC>eNppGnco5?G?skw2rY@WJ7+8$X$N9+1#bF?yv#E5 zwR#>33ubwe-39u~PabhhyJPz|<>d=ncnXrIuDxr`!8ePz2}CU{$!ws|k#oSqq|5y~ zU-6DdnLrg73ZUzDB|-=$-*KHO(FjdW`o-FOSt86IM4f=lI=KBBFHJCkGWM;juo!_ z)SSPMMU?&9pDw%X$&Th=#R8VGv2;O{3|eKjbPR-G`^xN-xJ)WjQ z#E0hr8_Ix|v=ePl95ekcKjLyts!H*IgId^eH;2W-xA9}Hn?;^tv_fI?yf^(%7s>dA zwsEgu3Z*rxBlmv#4azP%@fx{Xu0P3MDQ|1msESaghbL~6s5Mi1obPK5UQ(7+2T7%R zkIF2|U=8EVPZ5=Aid~0CnJ2keA_1Aj4B{o7oe`?we z65qSlvL&!?bQxaF`%)&RD+%yu;c0bVcKF}5mSo;&oJA~KBb4kf*%x4XKyTyub}fN* z)q@eMw#dzz=dKC>q=@9y83YW}dR@lgzY;({$d_b+VMpl1&7#w0RJMD^ z-!^M66^@4VRu=RcZlPMLL*0!AR7Cs{z)rq-PJAR}oI&4$OmyO-CEbWGyE z*c8KR^*Az-Cm8(EoVFS&1lj!|nE>3ZWkzEF)&^&lV`zhGuiX-MM9mVeayVSxf9PH_ z4%Zs6=-Urs3YGs0k7g9>;z)Lhi$hUFq|Sb?l0LXi>pH9sBq*H${(v5^sn=)(0;3Lg z`1ndGZHr5-AtziU=2Pe4?t63Y_S|&vE>eC$8^K?!roa3Y!z{|Cp^|g?G-$WID}J*{ zjI6*in`ns;{G$w8iIh^f1~0i9D(cHC_#`(-WnkccUf5}1>*`$ zte&7=y8`+5K8>Y=EOa}9VZtKiM&K2ubSBGccSfX;$YB7F!0wS#EJL!Jmb$yMC%Db$ zcgw}D!Zy;t_ZCbyotB^F81~uWgWq80(-jQ0ZXr{5`1Pls@efyQj4KwRRLRBKs}y{W z#H+9u+&xX10#^Y`n-N2ehZtmPP2E*ToX|m(BhhT@Bt7L)!CjYqm+C`5P6EC1f_eN5 zvQMt*-&?*sN#EOdwiMa@7Ot3(J5krHhyq{T@K1#;iyE^7j z`aO_Kkcw~FV4BD5&rPR4Mp~OY%=O9_cMN~~%fo%C0R78%Y6(2lg>KHYy@dj48k9INJc;bU*kxe zq+e05s6uD7+%h?746>H4pKND@MFGdmN*^c_aXP;iC~E*&+c{qLmphP^3unFYh)SdZ zyndPN6%MN=GAiN4eD1g7___+mCBPhO?X*+M)iAbKOiqN7;W!B!=eQ+KMY3VxXVwDV zppgR(#fj;EH;tRP`bL4Y@t=ICFVik=Kw{elmAV084)ov@WSMZXPee zhYARgAE7@5jo3w>8u-j!`NUl6@U9q4?-N@2fiZCSb5+BPe#3W_)vh1r?~(-`J&n_g zd!{eduE(i0F=rJs9vykh>o_(Bq4W4Lr_!e2@PdX;dR-;D$|i|iUtsB;)>YoWaNJ~L z=KUGZq+PeFcit}A#S!usSkF^m_|j-=>tx%s#dC~Cro!Q`0b$aSW-{PuW#vS@xdEHH z{P*mRiO)tv4hCNH+&IY_@k2bh6WJe&g9^yiK=>STj)un?K^A(XEEy~;DYd0*{U`LP zRKE;=4R4(F>k0D{Ykibu;AZa!Ve5=bx4UVAXF&YiX@^e~z7{8*{F&CKyvdA##F{WMP)jxGuVDEw>COo+$XOb+ zkz>J_H!`4{10G+sWGoGmP5JVo>An$6qpk@8K$~9eHhhub-{hygs`L-F?o_z)x)f&M z_~Rq*nWcJ$OIAaHoL#h3~6@Zf$lVQrPsfi(H z7M3P*6F*dcsct=9HIg?5E3oEy+M2aTby(!JZ>;v$gaP1Gp+#nYK)iILw^ev&_;x5F z0VU9}3cb?ME-k>pF>^76-=B)PC4)Gc?2Vo&Q$X`!5l!gx^aM_@ErAH~s#Zi<5v&fU z+@7~}plM$+6T+stzZh)^uCv!2<0NkYU2*zV?FQbEKYaduC4 zs+&kgoEZ(#HRh|sgO4oj!YH2ha9`uR5ZBd)QG56s&(@wG_y<_na?9on5!@2cV3HaJ z#xn@m>N7yL+UPD3r$Y`momg^mueFXy)$1U?%cq@ejo> z&HijB-CnZ8{s-JZ4GVQ|W<=wIWo*Z&wHdS<8OdIBvEb@VB?`HJK`~YzMM4w&Bqanb4VZ z`x|M;(zlWv1z%`Ru^EL)GUh#bsf^77E3L_Aj$`_SUdn=;9-wY#=XID%d8z2Ms%5^{ zPgnCjwWKY^aPWn3?~Z1y->U&Hwi-NoE?Azz@p)i zKR$JG!9k|^cRYFe+9Q&xLe=O@Ui?`7%O6nQS2hXHShabDqp@%$@#|M_CExi~5)I|s zCzJ}ymr9$0`4a4&@xQ?ml0iQ^E7w}|Oz{s+pZ7(24 z$b)!V$|CT^hC8VQ=F?%Z-5fB!j(W9XJ;+|pTmG_SntMf5gtnKWH&f%B%=zH@BuhLj z%fXyIz?7n%G$8&F)d}z#=CTK+B1gv*1+`2Uqeblt@cMU6a+7Sd0Izc6$cXP;et)f% zX8OgtVA$^fcmH2?1&#E9m4QLnm9i`<~LgZP}@W)2B>LlHatEPZ$lanx)tgNx&?TpK%<=(a{>Js0@R9M1T>3TH4q> zhF1yD(zHbLA?J~E4OXZMq%j^1)*DZ9p2yr=2u@MteT!}X+Hx!2j6kO6<~a26FSQTG zht^h{RL6h<_Opt3-?STYvbVC6m<2E$tSX8)YbF5Fu{yAx!H+X0$<+7AZ=ykAL7peG zS-a~4CdZwST%SC>lvFs;M)Nx3jp1-BQ&uKwP84Ymf?T1OyhBaM)pn179#^lis5L2_ zmuc{j9J8Zl#QW$b(Ru+h#YYal?=?^65cuICxd9d0Nw^kDVLcT>AdL5+W$o3raq7(0 zYR}kA)=PU&Sp4qT?pu~Krs9}u=hgPPt}gg?zp{J0S6gHK)3vAt<|61cK(s~6#gFFd z)fxR&Mcm4Md-%wa|H?LVJ}*kIZ?KarKf{{gjRb*6Ms~gsG-k;|aqbS%ZdcXxP^JE1 zI@4gt;5SYZOkM}a7$2|-_`A1hZFWiEZ2m0XQf1Y%<=GR<=$&Y_Aqip5H^-tzg>*Tw zkHqEms?7P05P$rwt&>%ULGnr((GwHwyn=Z71Aap42BjlqLBA#Z5(wg3r) zy1xud*_@+lxE2?C@WXp1gfBTx@-y|?o+Agnv?-kA5DH{2QJA;Gz?d!!9{E8SNFMoFWXck5@w}0q ziDsWm`>~O`&yI9`nB;z%&zdOURfW5g2esGN-~%qvDwY@R3NOaMx5I0=!3h z7jru0n^J=UoUa&{_nOakcYP<3JoMH+z$}kew92KMi3B=PqcI>{AI^!BI}AfP!v-#lft}#2X|ADl z>l&KsHm{tUx;Ft7)|=_KoJc%jd&az6WyrSo-? z4-&+nbe`^R6expXB1ez(1XY4ts7b{KNqj$ouVD2_Q9Lez!xm<|ZFKMwq) zyp8!NqkP(?o{GA`xYN;X!Hq6}5}!fE(?yC0u_5WUIAG!ZpHUq!ByE#*a#P#b+GiHc zI+;6T%THX}@mn&;2kfe@ZnBbhBEKbkPQQD{`)9TPUOs<~Czi&djTv9_1|E<#f3=WKY7=i*t{r z>2HUWBx*N5KwBjo0aH#&f}mB}Eh^r^zU|@{aioP4%@nMOyV{*6E9dz}MkbL?&XZxI znODt^UWLCRn3f5?Gzk$Ny?!%Pt}DmnXxl1$`Y^v7uE&Qg3(h^Vq*Z{o#W?5B z8)S=>X@7V4O-n3P3qF#eMMNM9dCJQ;ksA6&&s%I>u-#dO3ffdI)Nk{WzOmONSo8|tQ z>C{Tm1(f6E{8llbwho}yHuM)ksfPA0Mn!2YK4(Gb<<|D8`9rxau%@lrYd$v;>g$w4 zpRtJnn?2c+bsIjEy~t7{wgj3OY2;BpPkBb^MtOj_Y0g^vEXenZwfe0qef=4A5&r&{ zw^d$|KVIu_0yI1p<*HbJl*Y}i&2LU2>o`TQkukUm{qZKCm&qO+XNqNkT3;+H^0r#F z!_=M+14bOByM}K~B*cnG-O9rxmh`bk!4_jB>uDTkO?h*m_Ti5N4ZSVmwL{>3xY`Hw ztE~v(2oN++nLK>0-05cfZzW!(!vNg%2(zktI%6_Rj^#oTc3-&=Oqnx1>>?XaqsU6@ zs_{|NFUG}TI4&9DJVT7~MDMJ%T0W#P3pVtCjP^(T7Av(z`>{-1We$SSun>AAF;qFX z1up@+BYw4e`^|$nKH0|)IKJo*nImr?5<=NsH5_;OypP&{pgwQB0qzz$DkIl_&hc4$ ze4`o;ET0RUCiP@@VSYG}%h7cKPE=mAYwtv5#Kol4Z3h7w0k$oV|1e4E=)Cp|S&M7O zZXEuWfSxF_(6A&=el~>4(w!3fppMixS-Vul{e>s(ATb}=%C+?NPp<3TS>A2U)xC_L z+y?C^F#y6<7$#Q3#0+FXz!0H(^Eb&TT`9&aME&^9`I1x`A7x1v3F!k}s_ zep=K@ZOrEOfbz8HQbYiUgfv^fZM|N#gN}2Kcyp}$Dcs={LDqzh59R8>lWv-9W3hR1 zPT>%MhkAO9O)ajZZfuLx%tkmr%1|+*Xh2s+G^hV%rHxo%c<>;0S*k2IFYmq}R!;Hg z42vV^BH}!zcAKW|8j?`PCZ|9Zi*=fMlmR>*rp12%o98FXCt5bn0qJlTMOG1OaA+{> zsh?Vifgnnl1pz_9JKAVy6qdL8U0Y*$#E>dU_*M|0jIqxvRMuJUWus-OWAiGKE3oa+8YS8lHc};?vFgyg9k)crv!~sH5G4*lV1C zopC}-7qgDS(OcxG72A>=#L!_~!soQoK=}On#j7eCDX4uvZUUa5^;=Gq@Pp|FGCEXR z(^YeIE5VhJA1%XFyq|8d;%jLJU+OkqD}Li$wx3!kMR^lJwNT1-DnQeawM?H|`1^KI zuq1sTKUI6^r}5y@_@e^jQ+aQ3XQxMjW~e8yGmB4CLVC_V?C8Ahx~B%|{^<2(Wmh!= z3Ph=~2Ft7)+K5#EFJ`?d0FSN)My1D&arueaTf)(d=yCHWuU8<$ICiLG0t=K_1NbQM zVLoD#B)~KVT8aX#&T^_S;)AVWestg7NY4t~S}md{OLH>rZN4N+KsDafs1_@Fr>&)tz7hB`h28M6qbTt za*;?-)m59 zhb4hFrOx<)n^EZ6$o>7rZHgxaTBTS%XT&w$;de&;C|SZn=F`b>2Wg+O;p=sn+U-_O>WlFvW29q>1tIT9b#*#j08Dg_){ok+^9Hh#+gwN$Mr{CSXz7fA$ z*xk(m(`~Qc&BY%!wM>57(c+g$|30|bQs#K`AESRvc}vi=-kRPWt--SX+st-!xf=GA z{2#0S!?v0$Ciq`0DwLTa|Kj`0=!+Ns?7Q^~KiU6R7hOwI;&&GV|0B361ON9Bbi=6lQ^H=l#48Z-gwqqO=!pFyV67;VhV*hX#{XekC{9jo3ow?s} zvMkqZrKYAfUR+${`OW;-F8R-Q-<=+Ik-(ayt{2^B_cvzUZWd0qrcOTmGs2nI0+u}b z+qbuScLj8k%?+E3OiUFlTN4#}Qg@C2x#RxpKW=xHrJ8+TXD=--7F^wRRw@uBq%|S| P_s>fOb@?h;v%r4?)*5is literal 0 HcmV?d00001 diff --git a/img/gaussian.png b/img/gaussian.png new file mode 100644 index 0000000000000000000000000000000000000000..738799c964400b2f0f490765ae2857987219dc42 GIT binary patch literal 525356 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

        hj8fh7{!^1o3T&RWpnRuA z+nZ=65+(&tO5E{G0vuErm-y3lW#Fi=R_?Dioa8$r`V>=T8xQ{op7x0GF+iRocG9*b zhDQCT{jkaAVqPp3{+=+4o%ry`=ZUlyIq9*uGGY7aQvIP#-esKYjW4172<|czUy&gW z6H~X*^J`)>&D@~J3d(>;X_W!Xx852z%Ddg%fY-L=#s;*L*6h*2w(g_ZJk#I)gr#jH zqgKP7+O@jB|DKrAkIp(K7D&Wc4~}0DIla(zd(XHU_r6#h-N{EidUZmApL58NzQ?V3 z$nCmW#WcV)5#4rdpoZbPsW0fuxT1W=mU*+#bAM(-%)Od8>=S3`7n+UBspoUNggO4O zJ>#Le*`y?fz?E-oi8(flq0js{ZS1r~()K0x+jnlyf^BnP*kci0>G>YWCrgn@oNX7t8%2$2pnZ&adl@%8 z%;3*v!_GJnI7z;70oc!1ht$R*X+$6T@lXAxA3`I&n@EC)O{-4(#E<74fyc_w0MCoq z#t`@dDD^MlDVrsj7OkzhQuM}KFT7=}-?`Ve7PuaY1Bk`c6FF@8UiAGKuIFCyxNqPw zxA2Lk|Hq3I`0Il9ulzs%m4^@X)%k6mtxUZ4Vjw54x(cUW^hFM2vB~SGNyPIy^pRI^ zj<5A>o}%^lJY_$UnK4^g&%>f=n{PcH{xB|)>3ZJ&k9>SN2ET1QzGx#IsyJNvlMG(i zj4t=7uiH zT`2>MRpwDrVDq39fz7*+PdYnK7OJyB`ZmEOk$xtnmXJ*jMXJ}a8|lbj{lc|_%zZr} zddyY9mWy8>{?tQ;2c7eJi2%)|$=@cKrhL&!XZSczlUnZIz;5cde0>wwnS=*F1Nd(n z2Nt9HwP%(tq^9DvHJYg=0&AR86eJFGTj$1YnsWl=F)yAcapd&U z^clVYJN#894o56@AL=o-y|@W+Qy=|aKfvUFz(PX&V}lVtc1$0T7mL(l7IPLLwX2XJ z6mB6g*rYE4Opb0AHI_9F12=y9-T(bqd9*SP(Xn!j3^*e6#(dhN|AjbpL>gUhn1sl{ zCq4BXoBZ>{Uw-)|V}y1c!(-k+tlmg~W^joehv@Wt}B!={_`&iITLxH$XQ6kCe z>UU!H;XrL~O6y@K_(&|&wNDVi_^$uN$C&Vjabgf@U;?n+_?@>QpE|02MQ}gbCL3ni zpN%U3-J3np0b&Jw|2Q_?Q{w|)jjQPeEfK6wO24s-1T z>x}#ZhGzPtw6A}MV!H@sY;+#NxXGxHNXVOZw^?GbJwe)L`qy=(Z4#I7b#aO7Y;aZ1 z7*E{!{{PP^MgBtU18x89H}wYVmo)da<)9O@rTO|MetvN&e#X9%#N^QuUF@y2{pz|~ z34oTb>e#o&i-EY1wP0+TCdmE8n3_5M(8mU2o%PCc@${_wOjaThS2x_*AZI?cL#0XR z*L*z`7JoE>HYgn%%&C>(E4A?AEB>1jbD=c=d=<-bDr6ifGd7}s>spA}*o<829Qu|| z3fXfk8~dRWzkS1}?K}o#gML%n-20Jq+KT$BuJ>UJm_t~;J~j6Mu{1sxW6QoB8*M1v zjvFDDXhf!np8HC%QD)5t5?}1{r?o+41=EIxWBm)D-oS?Qi3|Lwaqqd<3$~6|w{T@H zZ2o`)uI?xN(p;ZlT8tQpJqHT>#1e4|-7fs5Q^oV=XE$EBbpXg`goaw#w|?8B2sHgV z@TVU#NEtdAbkL{KbQ#h>O1pU~2hGEo%m=*-?ElV8jI^8SgBVU~jZ{7bBz#qPj z{qgB`5Hk}Dn?1!ac>?oI%Ov9kM|mb2O-#Z0Pu!ZU_5s6-l=R*1g9hhG!jB9$MtBx+ zcH{*t-ar5HvnNDPT$;dLiOSf<s4US7zKE?4ZZ`OKe5 z&EyuzfiZ!p-t@=Ep~ZgMhu$w(AQQD-SasWA-456kt8Wym5xX+li9L0&Aiet z#}u2%{PUVkh;1!$omM%`)Eb3avkMgsnpZ2(qaFS)eASk;SfkASW6J zA->L1ru$_S{37MX!C7PCt$NWO{n0w$af`0tX(y0k=qz5y=j&U1RV4?N_9d|-KR!yg zor!CsW4s|kbGr_TGBy$`K}pLQiApB%09k^^^NDG5zpE{!1}= z^quP6`URB2hBbVO_V0Kn9XZ!aeTpx)p~_f7%rV$T?wi&%v9S@z<`VG68(YLYV+2SW zGnT_Uw3s!Z7hHLKC>|dG9M{;zPn2u}>+T2Vs7rJ$WkEJ&dD;qOQyz83KJ%3As4ucX z&6t5m90hW=EA*!qN*QbUYf+5ZZcK0A6&$KA#76)5FWhNf;Cuf4bi^^pZ63BH#(*GC`fXKeOi5Brb)W6-Dl_kAF< zaVt0(T)aS(hA;|_>F6}S%ekhISkk8u-xprOu1~OD0OnE6?jv0p#xe7)@_a1c z{IX$ymyBQWSp-&|xn^vu^(RgF*gNUhga4>QMs5`-&bZ7JMLVQ4rSv7))O)x}+B&`=L+~dUJz%)ayclOPWr6kY3KpKSc*uP~ zY{XsQVHaLGH_hTOWz~zSF`WG(z~rWzt<87r z#aQy@sO=P2e^-G#6PHuxlLm%9#Ez%fO}q5TEsCBvnJAGQBlceu*c5WYbFi>*bgU-X z#!ueySw_W~aBU7<`C}slWZ?kP_Vjb~SnP=vJ=vnI&{=i?x3x@U^X4E#9X@i%>jlrg zET?|Ju8WQe;YkHYJ$`93f3KQIM2j26=1k?rmlF4{+iCg@zhm!!<4n?aOMTNfJcaWQ zHRlKZ9w#7urPNQ|DD#rpZ9^Htayd?T!#7bfAcuz;2Vukx!iLz(y~oBjPf795%kPQD z^#ZLn`by*Ti9imT+R#Y{n~oVE6lccAz|pl^=tV$0Uet-cb$_Ox+$Y$yUueXiet|~+ z-9u^nHNJu=+t$?2o~LXZiXHzz%0r8?^G4<<`%0`nbdZl~`j>bGoj+p3B&R<3s_l^F zfZjIneJwsQabIQpl?P%3WO2rS=8_y}=c`*nbbsfs4~-r==x$qQZX0?Y6yz`b#Lozd zXRXo(q8b~<@c}*jlr!gEn^`?S%k1b#`!51RbSh3Iqhb!8Ri$Y>(HhK zk-@yikLSIRhekZXFlG$McE-WI_cQja6chZR3gVboDYOa$D_e$vLG z$R>NEHb41m7+~bHh&)l328zGAlD?G)-U-&{N7NQ+?$Ti^YjT;>;Q;<_Z|JH2#iA&J1v>bFPj*^V?uQ}afsHww{6jl zys$BTNL%MXbW-07Hx78w>zMOzbtKcxu`M^9%+YTjPnmcC^3Xkoc&)Jjttk*6&v<

        Bwj1a2IG)%?#(fEf+L%)TOfY%Qy`|s zg>OFTL*}%B-%0Vy*l68$U&k(fXg_Nx#^9KV3^7ie^sR{Y^&7tpJM}er03Xr4b&(In zK_#){C;#G8|IBmoX%oj#;sY0H@*$l5F>!<}lRW1z?!XZXU2p3Rt)OVl52no9xzXc- z8vTl8j6imum>Y0;5Exba3_bG#r1+zb)A}RR`O^gCkj~o>ssLK!9s+Lr=Y~y0Sm}w$ zZ!SXVrH#=aJJ1{x%CTCAm&lY=yMEc^)=Qc-CG(=&uOgPe^J{@TaqS<%4`*zJ=1--W zbCkz_rHJD^T%o;tFV2{CJK)?%d>U(vOZ42o05KsufsSnJ3a{&V;KqhbKj||^GPXs* z`WZhBI8uS$r$x(10GT6qGS@d4d8HcqTyH-2 z$s4dGI*0VO!-p7v(l&2wyN=v5_4A}V2D8T3@$p8W>DPll{g9ES(@TWVH(wV4+XXJa#{N#g$gLI(>iVEy#s95TpDHo9XcUT}K+dEzi{h{Gq@{((+9yqU!E=l`;h z1QO@n*pVk4n`0Y!NqX`151}1_gk`v#H?Jz1slm4YH8K8Ke)hC2CiWs}{- z9!lCX6A*l>=t8+09@iJ2desuIY)ZaAu_w6bu<-r#BVT{wyV3c4_9Jg&VR0RdD|1GfcFATheA3j%xuj#i8)$zONE?0Xnf{Ip;J%RW zeoEpn8jExplZnx!vCZZweLm4SJ?%{@3M%|RgTMarSJRktY@Vy$`+$M0`+NKWX`lN) zW(-k{ae?n0{@m&J{MTy^MK59q702u_}7)LI$v^{;QtS?Dw zW+fFjffQY5!w-+3!e)1aEr8g}*PFO}z|m_+hWKB8(1AX@Y}j*12{mxrVYk19 zMk;N1A-trMM~A%Al!MH#dtRZ;{hV0-7+yXdldZp?G}7Ar%=VkM%b&?_7~iy!ce({= z@Jc5SFi*X)aTN>AZ`%J1{Kp(JG|q;8`5da-OaQcC|Ol=QluQEEG39%Mq{~ugQBM=#41!qQK3riN*&AHc>+UlGG1c{P`}h z|8y;ro)@{?z_wqU#C5PAArl)81-t%-Zxl~AJ;=Oqq)iLY@X%?@HWv1124XLpr~4gy z8#Gr?@l7j?O(1Fyt^odBw2|)_LD(0m@TTq&jBlll;h1G7&T2 z8sn$Vv*~n9eqvb2A`Hd%uIoK*p$)F>3;VrupzUH*o(%wCwrz1qixkksH;8=vthr@) z2B(yVXUxXXKg?$$w7i8~@3zy45hgO^?Z@QNOWe>9_q}&?#}1;FM@6#A_KybC)Nbzr zar)B;jVT1UZ)jJ>n0+z6Fo1KvzxAB(*T4NuI(!P3hY!TqjanQf?%gJ>hYuJ==sjfM zBmuT=xU60nSe^biDfNy#zMtcsSUraH0w6O^&W15>GrHN0E)M)o%)Z~Ij_BkP-?3mr ziHSP<>U#OU64m41ddLVOWVs8YOaIwec_<}j`YQj=B4ZdiL~AzjJLkM{`XzlMkbLKk z_wQcF5mWoj^@fHY+EOVr>Sp<+>u7aJ>g&WeX#L#Z)^7~V(@L>5T9$9xw&xz3{QB^x95Mi|ULc)kz*Qy5g z+*kluP*@ZY)P;6tVrN0KtlR#}^^6`77Laol4E9A_NI+XAkn;wpc9pQ9;D_VHiV@0e z%#i3|v+|9z{4UzzwheAuBu6`7`bqa#HtEs}Q0NbQvDibv5AANh6Avi|j9-5K#qIj{ zfBfUrzlXL+;twX6(yAoX`$6%#U*gMKkFQYX(*BV(|==rwi#d35pJJji{7 z4Ipiiv4JjhaU*YuLgH_1zHg+*MvlKa)beTb=_7yopu>Tq5Z~ig^>n}DL=f4u(?gf` zoHlLWiaava6Hfo;@R9g{+AE|^nOmu^r7e@b@PSfgqRRb+PGtRBd6;_J-L*3~aYR1% zR)udgS03;~n)%C3zwwC@;z(OY<5KOwJq^G*?d-pLMB9Z!^i~z{iSJ+k_E*b!Y#r{z z?lhS7A{$$OWl||~FL6QhpFLNax+I1Iu3Hz^$FT(HJML5alKulm&WZFqF6WR=tWKxj z5we^d6Gs9lF_3nMoqf*(+{5%~>*#tA6Lnei@^YvM$|I7FAA5bsf?UVwdyXxnh`spg zyb$}`Q|3C~ahb7q5s5(Zp$Sm-dm4efXnv{ge0s=VMFae)q1Cpn06AO0p20?K2U^o7 zpru%roeQ7Q3bONH--3U;_$^->g_ehFZ+KdEkbelsKSea2`1ECnuG^6~M1eHj&h$UA zWE{leXZZDj+2HFQGI%LN-nXbSP0QzYrA%<;nequO4{g!lxLb3E?w!|2~U6wg9r8U?ktk z>jFL|e)0CCVBd~G=;&gvwMEqEQqp%lKnNts@P?jxp@dIQR)`!J{U`)1po?unEMs6| zuV2uUA1}2DWlx%#ApJMe#f$xIr){8=iF?IWsc~bq#z@<;IgP3KVZrJm6nXlTdaEB> z|KVLHDvyKMP71g#ORjVh%L-X^S@?apn8k#=>m)w@K^7m7jcfjn{IU&TZ?eFfk56yN zh4v*sje!=cyi*i#pUVMwS4Y#L78idaB6}z^o@qzEMnDR5VGUp``g*Ut3ZUfZKkCaO zHl!nKM1D#DeMq|?$T+br0X}oz$bjDD+06K>g5Hqcd#W)Qy@{B<9$VKNxz|{+7`pM< z%>ws)WAG-97zOaNDVclTm-uWSW7lLrb~^^}dwstS0|Sm-bwCd;cI<(eEH8vcY{G6x zAi5sbLLQ7QkALjWJzz5vAm!so(D>}vH0nm1aUhtDtldQ(uvgisPV@qflMR;gsYBAZ zrHyGT+A?F>G$YuQJzeqzz!Cd8;3%O_QQtjCOW*0HwZdqtti-ur-<(MR#EpTBj6pPr;_X z5n}vh9AO7uoH!!a|Mp{;zK<2V5Aj9YK*!3HPK?SXbtYWO)Lm&d?)hIKJyg&}9oOhY z3;)2BMJLbPfj+YNZ|LX;?S~g>l>BmSrkyAsa6K19X+XZ@=jWf~OR*8F?*%v#!$7kd^NPtt>$$f2o_Nm@2?z)(*5 zjpwAIGhxgxfll#JsVdC)YW4@sq=W!A`9S15y>tU{U>GOl~D zaIz9VJQHtSDG@gt5NNLNdiqJbxlM)E72OtUs<7${*dHk`3!Caqih?~0hSZ$4kD%8M zb?VbE%VR>^)}H|C$3=R3M9LGR?2jEY6=+;mX9qS8;i?+N6kc<@s ziLt+}aQxUZmo_K9*v0Z#KOpJpQ}mSQh3rDB$R9pW8=$E+_SfVjbLjz>rRsYVJJnZP zW&@oFsU!U*BT_;kx^8n`*fB%{v1o$fxilNDBd>%k$fpn7)3gO;*U6YX{;4~0{pJJ4 z?}ul9PKB|2eC)R6fWbJjZSzE*{^y>0e_D6p5|A~Xa%lIStn|b)Ncn&SAR${IOM50) z*~ARS&eBoF2RvorL3e-5z2JvCLhe5fiH$k!kv6dzUgD)MV~YnD)Ft-f5Z|fC1xktQ z(ziU2uTz0zbND0WYfBqaC+7Cl35jZY?%)$&0k++*e4|2i`V(+{@g+OVar`4n0Qtl_ ze5~3}9*{xnoMpa{*8#H9?~DIGp&2Uq%9+ocM)~TtwwrbVpOp~*GZEqj9XDC#0)XLG(`+sV_l zGEIk@bjnaV%pe`IA=0I_2}Aq%y1c9Ngi5{O5I@%fYV+dQ(uKGhKhTtn<)%Tr&=}Ps zy3vYk4E;}R_|$^QUNXQ0|2`7`PB~ICKTPQZkeWwW`?S+(p%XJk%SOAL&yBj;| zlHlN{ZO$TPm06@zNFCEJEfb5Mf~wwZQYmKljo~Gmls5N5rA>~@EJV)D*j2fHbQvDp8;ku3{nS@jKZ#RqIAfu90V2XCo8y$z zUWINLb{&sD_-v|eC3Pv!Z9RF$I|vP>jG<{~m2;1&p5CBm6O13j#KQeYUo}qR$v@O; z->R>e2kayDKFCYvTCdQFZBpiz(F?5hB|g14r1f`9_{Ik2+;)Sff7~8ujlM3-1@sGl zGynQQQZLnk`n|#Tk*!=iwm$xPU|`%bUPROZBL_0K1+v1__xf!4(lXZBWJ7|Uwh7WU z`<^c9;=U};wW0ocyNI4LxsUEAQN%>7X)C<<3jelaxB`5bKlj4uHmzXgcZ?pV&X1oZ zo9uX(00#{J13SI=RIz&0G3}#yL-rh-keH5bT{@m1bevL-41TVR!{!qAr(Bw(4iBil zlP^F#CbjhV4Jr7ZeA2L+-7-kdijr^=Tj7fq0qbqQ1 ziiNq(_MlO3$s+H$L2Zq`A0WWf>(&E}36{1}K4b9Szm;u!kViJ3XlHDhzAHUCP*Y5L z?`h!wXYNn5WVwxOTT~q>Qn$|k|LPSbmF}8znE{C8mQKAfUUADJ-~g>bQ$f4!+ z1M2}_Jq#UR_a99<-taggUC%1!-?3$UE&qk`fa@<*mUiVwmkDL~Rv*0DuPqnK156VF z!JYC)@f$GmSIrj~Y2xLL1NAS=9|ls1kFEvQ;U!Ur!U7+^?!=3!`<3t33t(y3;+F?}hvip^!Wpu; zY&!6i@oBZ(Eg7I(%3|McEiPBuLT0(Si^D9!=1f=*>Kp`mh}b{$b`xdM=fKFueHNKa zaWgfl({hpt#5yL*qiZ#!abz! zlWO?n=Y?{e#d1fvs9dB4x8s7kH;>tDjL-2F@%3vEBTu|2VfXsqZ9U4?%vFO(1rS--wR40C8xakQk@NENT6c7k`pEM=L!Z%BLU5 zMP4f-y9aUR1Z_uu9K@qzXLTd8asL2RRh>F|kmTmO@k53_Y@9aX!serb`q?#r&IQN8 z_DSk-MV}pKBsmMK(^$+?;~_|s7}!IXWiO4Eu;%e3{Jk-X{p1`%rB_I~DFyI++smiF zv(_-yMh5YY>9i%Nu4^NW>RgB$eQvw8TR-$g-NbTvBTXOT|L7W*jtoq^QaGvT(y>)s z^DCcp?5|Js0c(w{NXe+EGOe#4j>Q?1_|CYfj?(N$`+_-Hz8#Zqn>0p!YQ=Xvvep{U zD6L#|BEO$F?AJyaNBmOZ>e~#hcsav=89}KGy_vL@GH6eiC%w1q;Rd_d!&x z54>g|qFbhNUI0%d@L_Ge!V4pJ#9!YA#(%VZ>YzSJo^t$}2h8GDcao$RANcaA&Tk3q zBL6El84W?9VcJ9|x9svfWe4xW0~DV-;avFnSVGhxT6p;y!cIK&&N_5Jd@fyp7V~M- zJeL{5g;NN;<-oVP?C2rovT2c>xIp-*n@@6b&q7UNAxa`Ad063)GP%DX*AQKd6XTj(9u;7W%7C_GRe!DM z!vZ)DLC^;DWPGs5YwI8)zx|KA?Z8)QS0~8>M9|$ty0BMI(3Dxw!{eBmaiy=JcT?kV z7JH1X(6mzVz_dG8c`OCgchmaG4bflz@)vJp@x=}3!!LyE|B}r+~A8j_vZ2 z*T-=z0Int5oiZD1tQiy9#aDum2hiSe(o1;9QQF|abd_&XK z!Kf>V%gQ=-lkm?27=9(SPuur^ZHx~5v-LDTZ5QAPLOat}g~rEzRCci=Pkoc{RFcsT zj3GWTL@&ttojx^(vHk eqwj@M-%t_MEHh7m!xqFYUAnznmkJjAD57ecI|_E%x!l zdZlYS$?+Qg^K-rMEiWd*R#aoo1CY{YJWjl}&(C;3w|)!`m62&5#UBtgBfV{_Po@u` z{&nmw4}Ns+_mf(DDId7~XK?cI8c}p~t`cMViE$LKj2HZ+vu}E+{@dT31J0-6c@rkk zNi4CWMQGs#)*kv;2M{3MJ3q;pZympp%hjJk|MPv=1hU#n2O5Qq1+bJt*HrYjP87@^ zw)P?8V1n}j#Ox-Z>w8aQ$M;FbVgUa74t{7!pB@71)6ge>J+gUXCD zuul#w{%iW};k({sP-aY94zjp~mW=b1nIvzRDpB|xwlBWmGBP$^`dVGg`U9LCT#{pW zkQ6s9KtdDwY1iNi&Bf&+?b7tauFnLpdQL0~Y;V{rLiuFg8k^iC-J5FAB zV3TibKM4h9C%;hX;&bJ~J6Lqf;-Zb;+M1P(x;GWU{mqX?Sy1PDm|2+gJn!|v%?6lE zs3B>z8`#!BQe@=-?AzYzhSv5$TFLiXsG9Q1KQdoo+pl^T(9!eqTf`5qw)JlK6;MXN zUfZYIS+o&$dmI{@frsbdyLnVUnyPpF78ObKQ5UsipuDwB*#eToHxT@AQ)q^HTmS(7 z^hrcPR1B@Uc1$%D=Z)--Ie>(be(k1M`;I@=O`XMFoEB{d-^nHqSuA{%%Zm;;Syso{ z0DkLR3+9X_WH~VJ&F-;_P3n7~KyL6IQ;iS0;8Rax&3wZL4;ynM1OxNV8;9`lX$+sz z;U`r45#P=0Ke=&F;_G4jQq{PiJor6KVE@Dorhxq)djL3f;QZ#xW1euC*xpga!p=9+%eC3 zncV(EK_qK!jltV|ae0gpE<8#-fJJ$04fL50_e8F7bOCQD%wp?BNH%7GQCK#5F z?9v7mNIm+?c^F5Aak2?Sc!$M;jexSFiTxRxmwy98fB!DSIhygB*M+fhP%n)dG-OzN z$NsTR{E>M!JJDSLDQDs0P+`u^#1GlPvMGpT0wcphxeFVU2VJCDbm0TK z+05jUC-TWnyzC6>r8m9hCXkj{bkOUywx?KMJcuB&a7QqeJ=Cn`5?2`}z#^MW=+5kK^IgX+Pv^#x1T zyKshS==Hn4Q{OSc!lQbz@JbD>2clWTli29oc9lw&o&lp*#4DDm(dFUM4 zo4UbMt}nHk>!)-2Hbf6#|Ic6k;uvM_FaP>a+W<8a3w%$$H$SyEypaLpAl6Ir ze!eQ1GV3F}=-GAv*tIWGE)E*=ggm@?K|hD#a8|x;-#NyUa>g(Zeg2*s%W8fBIc#9R zKA_LP8A#u_hoH-GH|vLOi=NPV5CYJLDAtF}Pv$5x?o;7szf*Sf>vP{z28Sjur+jaK zqI>kk4c@Is=O6#rPYG3nPx{a`k_7DEY%PqH@M0_D6?$T{ehqmpB>q;R^B+Tg<@3-B zbqya|U%z2#DfY-5T6HsVdTWY-8iLJLVESS5IX!v&%+~%cA%%@uK-~aK>q3;+sXlnlk}!?-uk!G zZx7%7CWErwn!MX-DS%y>;$lhzT6;tGHGFSfJLD@KIQ79DQVI|Hz}NaWVPv^70aoV7 zLJyuv#rMYBxbp6#-A@6$q2Qpzq}`he7R8kLWru!p!GKF!(^%TOPaxdr;8o8q-V>AY zVHf2333Bi(CQkS+5c)r{n0rs(uu+0OE&-95#W#hn)w&s(1QDI}&pBo!7*q3pk78Bwvr|!M{16M)b8} zd8^g~@&~q^02uIpXX8oU&6L?w{igWiN7Qm-sq)*F>R)38YQ}Nsj;FJ+t$kAab@eT< zIe0)0KVx`r=+>wGx{Y#C-)0a^u`OEalrAe>kMEu`!omUHdCnKq4<< z7hkrYyV;Fz>)(@mNRMuL@;W#8DbxNvtkqUva+*^ZUs57gJ;?U};7=>3ykK1PsWCPt zlP^wgeJgHxuzUJ0Z?O2y9CR(2xx0Wz>+%N-&uPzqZ5SMJsD3jP zzDE>1^AkB^5?OV?V_rUdZr@PvxUn6&;H8Q8(BuohPlbsmIQdjPCHTy&Q-)UCi@W*` z$h2^2ptpbdI;d-1NKidcPb~J3yRn=WTj$^l=EG((co=KLDvdVTE@HEWLRW1LXFE2G z8!?zT0QECIa=3$?1Wj^fxEbM-8SMISh_N+%9gAVc-WX-0*O6+0G@dpW2mi+_A0lZHXMlF^&3!k z(J2$3eNgbojJ!UrWB7tp-s*sds`b!UJQaL6H)>`-rKz-v-fhTjRt7(FNnZlsm|tBRFAg#fVgB-$pHu%s=l1CEhF|$@$J77u2NX86 zvpPxfxA>KNfqGkBpiW;TDV()>|0csr`Y<{q`5K6?q}Gug4*y36a~2z&pTD*@`N({e zXV@kaYQHhz^=l|y-_S>pj@~!_cj>o>?|zfPPrULUy9wJJa!<--%NKS6-LM(&2R`Mh zmrLs}EpQ40Q~!$ocYt|pnjZzt^~ExUv@>NF_@sX(b<*^y*ZVgZetPlTV7M`Xo3Bg3 z&xGugP!@eAF9)GMv1b8Qr?xe%P3q?cVJNaFn>0_EmVaf=jYnSRFm`B3GwDfgc!%D_ ziOtCkiq3i_NEbUDIJov_7o62e8G?C08`HjA>r-AM>ZP2>$3_zJ++er~O5uXksh#UC zX4{U#M_IrpRCZA;3L5DkCJ)F|{CcMRl&iM&TEis60uC33c&NKmPC*>9@v!Slt^803G|s z^~e(w+m{5N2ewhB2l%nR1gfS!Zd~-$B(X5<)Aj&l60!1cJKmcxWqI0pe`?tOY(5qN zt*T^fPb_M>e*8LJA4$aJ_??$}Umwx6$yaE;a~Z-}2joY#UXosD`+LLL8>Y|0yD7fB zKkndzm#Vhz1A^rGGByERuKwCpXLR|=i(_~6%MH&zGyeDodVjXge1;BR3f8&l>ss=R z%VV=R_M81xKzPZQh8}V;_y!#`*wDmVL@$RVrC{iIP2!UV9-!f``gaXmTfV2=Dx};B zFKq3&SkOCJDwo;o7;p|HR>a@GA=`dZX!ZIQZY&DayI!%MOiYP?@aX9StkGkxSlb#t z;{Zav<$F^h<)NW}=O+&i@tM}Z`nDHPI+v3xpOi5;0w(>Pq#J>K2nQQBT~9*)vkwTL zuW}-v?j02bHV2Tu zcB9pNqHcMixFie+lQY--+YMw%0PW*ui<^wZ;h*=Dzm+b$wbz#yPx%{uJc(<0S}JbK zgfz0f$o-6smt0yWpg5SmF! zz&aBcTO;RnK-q2>kogs#>S(@gG8e}pPFU+FxuhgC(>~(1Y{xcMw@f+d6QI=7qR@j5nkUjPQtVs(fUFDH5J;9&V@c{dx0Ad zXm0!&d-ztr@rS-Ab*}79#>No7O(3>hnYIPJJxJDPk_XE14^ciJ@BZ#`l}xLJ(MpUkdB_DjlX(_=sX^J*PFMVBwO{h zR^M719{HX!{1yBatuXphCx-C7V}rIzBjz6_t82#};8>?Ha*g7`+8dflHHGAk=jd{7 zFTYv!IJbY~Q{;d64_r^4Q^Hklo zr+paK78fZ&sB`r4vP~U-j2#7rCTI9<7@A^c|^?a02c z8ZInH{r{wIZ7Gb4YMZ5bTn6aG!VJ$(0@jK-AOLIY%a(GPrk zFcnsge3u!^Tm}}m3E)Y~uhcH_h2ZLQ%YbrE-GcA7&(hQ>?9GLFCbBmUm9p|<<@E!eUHD}(B=dANiA|tSQF^HBJ%f!gPig+%Xs+39zglj2poF4xB)dWu?f`9?W?x`GpTzHQF@Qw$P-!X z0m?m$L1@g;2emf20M&s#`k+3BsG8uhg7j8`ig1~%Amdk1Hfw$f=wulvT9?%}L(>EmT(tqlMHvUi_{N<&u zDXY%h2QmOz3N7e%M*~ZZ^ZN-Mn(vWN$9TyqP*t%bxYpkSMZ|s5UZ4Pb^(bVnJ zGmc2u12DMbe`8zNYIUw(mj?~-@O0gIkoi@5{eZ!kX5CWuiXNzrj*$=hRf8t|-?d=@ zeemD*0Ahp7cpF;RhRpr=_qShuk&Ac|8xH>~zZ$SrugHSM2kjTP{HnDYm#5KzBhcA0TdRL$6qxBoQb2~a$rU&Uem!#xE?s!O?i8TN}b6b7dP8!|# z&aY~^Mkaw$NfJ5V5JEU(sIw$a(H5i`&@cNVXrRch~^A5Z> zd{4XDqBd;x0-gUBw0fcKq75BK@i;y(*Zqptp(%{FC?37-EA7x9^rhw61hlEeO_x?c z7BDm{sH#ypw!*9W+;)3{cK!pM<) z55MI2$o%-Y(fIA*KjS7NWowoRW%43FfPwTiOfTDs_sxX0BSgX4e0jch0C7N$zrjme zSREg-DXhL$TVnjzZf!eRz9c7c7`yOf;xOsGxnNELs{Fjwo2=Q z5rU1{pL^tKZxXlS@vy<44bqU*YIDW)t&i*KR`LMSc@6PVK7zw@n#^0 z2)}lr9K7Xoj-^lZK^yq6Pup(07vS4XnX$<@gBPCdCG0khjZ_?~0r-r^qf;Bv)i{A) zTH8d7=@+ord_<$aeO`T6uR7BfV-2coDGtBah1NXWu5$bz-W!K-#y?*3E`&ggFJE%- zV-uhq>f1bU$+-!W{tFG!p71}xm=(ox(eW4b)Ufas{ z(mF3$C`H5I@uxS$e1hAtL;Jcm@jwTWJMa1`z^~8ewVrX+icCA^H%@m#| zy}|g~FEg)L3%H5jPrfU^^J!y<&EpMjgjSx?KS2J>f*E(MRWPTHQOc+-u5#fcMQ7)KV}U&5Sg-j1I%O3S0>>L` zI^#PTDzxG>4=4(R7TmS9hKjJ3Cu6NK3&U!8nFkt>wm@2oIlL;+X z=K{L3g*a@WsrQTGmw#b>TH2fQm9HP^?BskZVmrulX}Jj`6O;|LlQjzhlZVYL3xi)_ z*u!a(pJGHWi^`vQ>OO~9rbk__PH^2+DT~#vg+1Q@|O}s2(v;JJ(p~}$uE~cR1GKHTUIcO}RyGVCIRe?O<{DdO8>({YInKg^U zac?j%vJ2>LNdVr$=bjt3$@$Ux0D+NE28s~1nZ+ty4hnKt&1jwU( zZPkd_>R}V+=9&Mr-5a2lq#bVZfyTKT2^#cIoHgs!{0VCV*tW_U9GW%;)iLG11?uvg zSjlQrkkmFb+~McEt2 z;7gaYeaEi!`_5l}od{@q8!KKw+uj-p9>&LxWAyKO0Ui_DCy#&l=)6%T{Wy)>cEg9R zLkOUEO7U|&p$YY~S!FI~>)7`1UveYYLniurbKSPdmXu3q#)5gT!=suq0ACTt8$7QQ zlNmSa99h^{Q~edTyqHG-ytI=TFdyF=48_qMKj`mW*ApdWd-L%0H~HepW#Te=l6S3Y z%(vaOwa$hwNszd0X##eh_3vj$q6O`YFZ!#li48B9EsHe|!nZ&hGWOu>K64M8{s;bz zUu>_N2>VH0);ILrF}3rse%U-;%Av(tOb%{*fZ{9icTJhOHNJ^U-Su|#dy_FV^e#|m zKK&X00>p+Je(d7w-ekPKHnm?X(>HZ~(Z||VfuxPWmg)P+zp3lDf&ZwR404tSXgHUhEhd%kQ;F~2V5pN6W;HbW+P(KVuSbjL?i>xJhE<};}4V1?~5j9Qvda@ zfAxtG^*7ljd`}|Y=ipZ}CN9Sgyg?yp52+*RWP_uwaI(nk1_pT8Ui*(ce)5qvhgUd} zqcQZ?!fs6P9CH*(s@=%@+G{n)!3SnbyBcVQ*EQ!L1kcXS*7BPpU zVS)>bZJP(@?V93QRUL+6{Yr_}@CpxJhPD{q-cZukIV$%dj# zY}iKHPdkVK?F<||^M-bdrMc}7HnqLM;E;)ZHaB9(*WwVcPqA+jHRZH1acY}sCwk}L z^Q7HykDP6zGX9OPYlFISASs`DLBG`|d?mxnLAhUV!H+7JTAQX^eK+?KmB?=rJ3b6k zKo6%3ZFw$-aBw9^^Ag#`qv^4yP4dChjy?2`u-cyZ89;X!KQX{UL@c zUpeO0*FN7*C&ZsIF=Q?7b@CzBJ#13nu@$?u`e8#7B@1^9wBP1N1zKQZw7&G=2V-2( zY9D#|HPhG>l}jq;p-JFF|LCUPo0}O^C_pZ@=rh)0=TX{p0j7oefZF;z3Z&dC4D!iO z6@1niaOtD+Rh~p_cArq2dMiirVQ2PL{hK*K4EK{Z0FfL2&4JqE$^n3JjxKZ{D`(1w z&+@{QUli*srviLm!ej2!1FqO6o?rEjPrm{qYyR)yE4}0J+99u=>g%{DtbNWu$c=yY z`}+E(-yZ(sZZgCr{}#OXuY8tsSseK$u5Z2Lx0E;Z?CYB#>*tfc0z(uu{D1Udkx7>F z9EYv<5JVYz5{saVHj6>>C;3T6Ha>r%mJN`nY_nK-z)fP_c<_sf{mKXa>qqRsi?c3p zk;fjuCeq2@!{Bb@($JUG#WM($1<--dPU6VfTHffV7J7M#7f@wE?tv*inL6-sK5{+mWOnSv+Ys3%wgjVr8qs4~?51 z+Zk@8V8 zX}iAYAAU}K(})BHm)GGzX7Q*0C|?^jkCHd3ZTPK>%*v9}2FCL+fTM3xa;($Nq`kp_ zLv|rKshj{-EA;$N>cm24wi&wFL?VWe)&mU*LFK^8k z2c4m;N9XAr94+6vb3HFLU}I$T{UnG$=;#jO+$8E(@hS<5HSg;|m7Cq4 z|MIhA;IDuEe|wV=(0j$nH?A#{Xg_0z2U6Ua?fBN%__cnr2kb+VAckHhu8c4KP#Pat z%QlwMM@K7M(Erw34wpHwehdHPr%ZqUyI=m!FOA)sjFspb)NvqYWZzWi{?+xCwU9a3 z{SFqAF-raTtFqFHf!cloL+yq7##mVSf;DO7QC7X_7h;t}Zv1%Q6&Ctffw5emJyS$i zGUBX`5RQHD;q%Opg1Um;F}ym67xCjESnX9GZvcM!Q@z%)g--N@9a|>K<>5k3j9DkC z^@c#|;bndZRU{s>0#tiJ#LFbFo35!&ZMi>D&wmDevZI z5R#^>&D1*of>Z7$a3@!)U@dQK;?FJ+02-@%+Ch2J!YPwWvr?4Tf{~_ud9kVZH3R*T zX#4NSq2S_gwho{PmDMW>uR(~TFa647 z;-x%zmBKj!0r6F&JT~An57cIJgtv?z?URXr3u##am+#|6ZJ^I#)n zY-=#60?7;Ynhr6DW0Cc;4VtgDpHyPaUCSlu1Zd*6OJfVT-54p)# z&%*Lh+!UN^=s))Fnl|px^U}9+uPiz{cI%^cUa8XNee%Dyu|b)kTzk=lvLjny-0i`c z)N#hRL1yDrFVyFOd~NKdpx*IeZR|K$UFa>4uNRb39=*m<9jM3e%CLU&_kjE@18oM@ z762P@?4fmuXuF$$=F@*IH6MNW3-+OSy+8~m4!~0^Tz*Mk*bBq+#n)SYaezH) ze&JV21FtdiZ|Mfw2Nzx%?Y}X&J}z$a?*so4HyKQq%{P!6lGZNlFj~s$S)IUVUX3Kb zT1$FVP+fqtKD2hPzXq3%5XsAwNt&GQ6cHkmpGoJ2&SJwMD~sB>smS7XZZ=rFz_AD< zXCdfQi+F^7R?EB@KQ{)uc*d$I7|UaBxpd_ymsF@S3Ky@LZlI7^4Ej~1In2Zl`pU0} zOdHQ4xAG5;dW0Sv3{nEM-y00<)K8G`@akD?{zxoPrmr_X*B~&mEuF)OiY5ch(W^ZAb{xHNELf&GdJ9G) z`J*(jMP$x6n=$w51lV}*4IYx%O_m~?of~uTwBgrKe#Wm~N%>R%xc&!hq0d*@c!JM& zjC;_mPm&l5$+ek;AB_WkFemD-ZJ7k0am}3QrZyY<%#m)u{p5mAE8OVfKTV*G;1`FT z^TZDZY>|jn^7^lb#|K=Hf9z{J9BkyTZ~7udjh2Qm=ub=96Q_1oXXaQb+SCGC8o%pdZ0taW^#9;g}gG%1_5 ztWELsvof^>tY5^}e7r-<(u2ED*^dAIk`R9c%_j}`eROWWjt+8Ek)JsnRXim|o<8JB zx<9QNovg2be3P4I+zfgEoy>Le(4zQ^Y1;mgWKSQ>gBAI!1BaGR#w7HiyEhtr3T+(8 zvGK$cK-=*ZCnrY_WqFo1yu^ck*|os6_KPl{pJ47!!tysW;44%4#thgsDk_d1bi%hb zUBAGOJ>>hhAA2*^cGZXGRY-2B`4nKU-;9rb74Cek6T5OuBjaC^9rV%%2^Ok%+FdndYU>Hg(&L{POBHaI!Pl3KCksx#0X3e z_&Q3=&`sONfcd5uDi3){KZnl5~;GnQT-f34};02gV-rtRKwx*9gt z?SqT|?cqDzWF#?QlM`Myx+mvKK7VVM(A?mBJ5(#bwF@oxioPs=mbW_?&&4dXcI{AK zk1i}`Cj@!zGvrfHF_R*EOe7{p76_k$uwiDQVBzN`V{b5g${Ri=Qd1XebZRWnImBi3 z#zslQFrZ();k%2+NLCJ>AlgoJPo$+a2iJpt7ZhaZr}NZ^By(YPRY5@++G8BhGWaC; zUC2$bpT%jluwk)5($24oGd_^45AO9NmD>5jW8VmED>^;22M`6}Y2gkpcAGB;w$K)l_-v)w9V(7J_)DF6GhTrMgf3$$_h@n=uuMri*yD!ar=Nckhs>@w^zF{gz9=i$IyngQ>Lbx# z=)`ZHg4bRTx#dmDYr&`7=|2Gc9Ry)?amQIRnp`{bYI2LZv_}JL$Y$15(53z9EtfunV(%(}~ zA_gE8tA;__3#+E)rzILj2 zedUQhPtCXg+LW$k>Z(>{_U{|2W7?PmVm;~K`ejWZ2HN@Do2Z|MFB>Cy+onxz(#F1h z3rMrD8U9oVf0|S=m>n(QORbGpVIbkPbiaDRc8AW3!2C^NS<3 zuW$N3@V|DG0c?oKKhkvOmOUP92M7EQz^UC&2FknnmI0Poak-SXuZ5?a!mmON5#$v( zJS%yxk7l!6eCIU|e0&v!1!NM7>82n4{AZuggNMI26y;+g@o{L79Y;|I%zO)=H}QdY z7Frt*MO`cyd@p@}lJSpzKa)j#n3UHZI(ZM%Y&hByqC+*^3^t+LnI-V%=q!=gQGVr7!l{ViVl$y3bxbnb8!*U z)@ctSyx`Riqz7zv8c>!5cpD^aeD=+_uar~nn(c%2lZuzmZpg%|^KZ!mC zzoyJvah-_Xwyy_BK)sINv7x_}>a5!~KrcVMCysg1Km8-jO2DIB1;hd9q|N*F2@o8> zq@}EV=L)*JPJu(N()A&&oc<<0E7yG6fqr->({6Hr++Rxa?=Y}C2S};aja_e~!PabH zbe{Pr3JFOc;LX=hKa21GkfCp`-1am6=+oSw;y)TO34YfW{U-_GPx_HQ2n~(Iolpg)jY8Lty@A|uN}TW? znKQOxqhBvVu6`kRZa&8sJlVaC`N2K+V;bXj*X*=leaCSmvcqVGk^F!zmA!H!N<^}z@&BnvQ znT^;x^5o^cd@PdsVzbEU09vONlvm5+|Z}qpTGRk8w`F$$_0E{1|54{ z;Amkenb6dI;uCf9zGfepvv>rj#MH)(YKNi_c}S1$d0Wvw-a)wz@n7B(C<|$YYx)w&4M`Yo ze*ASaBL1`Stljl|Yq5IdH;w>waLY(6@RdLI>Sj3Ykzw?k%3qyr6X_hH(HYnU-nOWx z8=g-W^9rYYYX^R5DXUL^b{y6yhd&ZG7=QcQUxV$2yc;P%Us3d_KWTL95A^j{{eSRh z8+p>snBuD>(usrq)o;ciV}HjCpr4k2+6HLXwJ~uqHuMC2PhZb`7@u``K)I3cCqMjZ z%0E1a!cQN9w@n;wrXBX37SPpn)wjG9fxYjm%6v|{ z;q6ZtM__5>Ggc~%k9S_spB#F)Il&NpsP&2CZExk!O+4U5XKy~opYYaB_>-@^GSN?& z2OQAA!N*PK-sp6^)=+h19MUg8bv=b%GCmNSiCs3EdRW*pIr^CM`1ZHI_h+)t4PdDF z+nbP|+MeL~sha#KJ%A&}K7W!i)r+~h@fawsB0L+@4*L>FrVW1aZ<3xVU4 zYmB_eHC8mjxE!sMYX|$Smj`Gm+M;vUgvQSUE`7GlidKhh+XRG(emi5r*9BDUeB;p0 z!MSktoiRZ@<-K7AXft(g=onL7lV&Z^$M%oBv>}N-k}>3%CeNyi9~(Okuq*2;L^X`# zjY0pG#0MiXga|!F`%hV_%_W4PxB`*Tw^5E7@oyKkT|EG@yMC%CxR3c1 zX#AQ`Mf_~X>`i_RD)D=5!*|vI^q?w4+c=53cF;REJ)a~29hEhtK(m(3v643@ZFL2HGLoW4mTNj8Hh=#uw)q2!4r-S^+H3wukw&e$u$@9 z44u{|`4y=o2hslkmhZzZ@|G8#TCzW7!1CX(|2vE%1iC558#WauL2^&6+mhi!9OU*U5t01zag@ zMeFDRKpC6yL$Ji2(g7RYkQUyZID9bspE+XMPt~oss4B=zv#yaPkhp zHcM=-$`jv5Fu>-;7(94nM}FnrcJ6oqw_|w^8uSTxHlu#u{2!sAqyA|j7ynx|U-=2& z+RnQM;TuNg&gU-?O^mQLxu2Z)i&NYP^-23&+Cun} zwt-1i>?$3w1Zv90Hahp9#SMmS*QcxZf_onIq^cO#gff0C!qtQ|nx~F80$Q8NzR4HK!Ctd;D z$2f`n+82_oB>iyPSzs)%9?)I;Nkqp<+eTeJ<4OFwj&97F=-2vLpOC41`-AwW5?zcn z$6M0zV|cK+fY17COwk7Pikvr~$Nt7$qUE*S{!ZKe$=u4?$AcT><8#-Ft5bQ)UeDKY z>4Sg#cYg?>fb#3RZC(;>f2+V$E^cHGEagM$f#rYYuFU6)HLvF?IQEL47QX?BeiEM~ zqknAd*BxKncYyDFlhJaQjFy4P%*7|~Fawqfl=fBMCO(GtD>Zqsi2sk^;ah!$PFg2X z-ac)b^v_HJyAc|bAPb~_vU{-7Fl*cS3T=bFx!C+RD599!y4#n*t7M0RAqpxa^`4wgYQ- zRo846hKk1*Ua7cupqM0C}Zl) zmi4E!0kWGviH(M2zs4u@yZIzX4~wf~B=$ob{EUOB zJEkV@W>dc3XCjmbpGwEy!Z-YkECR#~UzSd0Ta&u6td5J{&DE+U6*U(sQ(s76o^dvM z$ieaC@Nd851|w~E%BZ2^mn0&vhyBhYR9rjeN&EB}Xg^k0l{|AVW#UbLQ&z{=TK>z| zG0J$+68YG~e_-`iqEPt)e0>6lo#oJ+mzD3B?Gya>Ap)a1(FzaaA$7)2%KJb8uF%0oSDD+X1oFj2WX#v$Q#fGx^)iU9{(m4hz0Gt>wtW&5pz?P7dH7S z89vYsA&hD{`RJy+5Z=ZbU*H?tx&~IvRpfPeNCElMUi@6sWcVsgJbN8`Rd39zwR3&f zK+1c=O4=KY`Vt+{XAIO{+rY+)gdBaq%^*63u(Mv`96TIA`y^k*)rZPc&h<&s0GfOX zwa57V%g=vtEVBy~wRTZ6(YDkpU#<93@vCDB8BhCU zh=V{-EI!bOW#eG`gWnCC7|{;+czSmhw7e9}WqoqCVi%qCzAj2xDXJ#=J`J`xDt@$0c6P^^fu-N5Lpkc`99O0W7y9$1^;dB6HYGfp|w z;9qgo<&#$8!dNRBVQpRw)lG)p>W&{f#!40HU!T4i<7inNzNu3~jl#9& zZ(tI?r3?CE!Q6EtKDe@>7kyY77hu(|X@mAs_isODK9iR}hrqO*SpRq8wKpPRk&Zvi z^?vI2H`@@S(OI6_nE8(kV%xqX)(_U(Fv#Og#_;e-+|NJ#ES@-2m*kkP0dbV1QEFR_ zH+IGk1jSk0@tkyUt7~*9t0w6S)WEmDX1zQ*k{H{@tK&tVRyXD7Uma)z!$r%XcTbuG zY04a!{l{&w*`HA5lZ%Xvl$k?*iec=OsdjympShp)avL@r5^O`-B@YzKRIwJC_6PKlqWNk6iQUtNkP*8F9hq zT@yi~X8G|6J)|>6^k{SlWB1ei@C_QJBH8zP6DC1CfIiBv-WQe+P|%lUbTGFDqYg=T z9vl$gqHQ%#-|$cQ&W*+9o4ybH=iFojSzPg3=3+i@%Pnywp(kA-4%q(CM)D2${}m!v z(YabLlH3~#E2%M9Phud<;VJ`uZ!mniWa<+`KB_G}{K%}X$4(9R!h*01u1MbSOJ?Dx z0LV=jfk0mUpg<{ts7ib6@i9{O*%O zZ!W{59pXrZs~I`5ufqBotG*i}d?4q^AcrX9Uab6X&Vk0Sxa~_1T&Z(V@+$_>vp=Jn z;)Ob+R$=^Vv14QXB)80Zmz+2{&qi2(f^&U|4*+w~PbVhc*oKae0R4k}$NnVM=xKSB zYZ-X`G7iqy#0Mg>@EGUDf;oXweEG+t%WFvGEq^ZdTmSoT#3G|7*uk;T*`08E*BSJb z-b3$x&mRRfRh8`bqa2&$cDuS{cwkHlvEaV|z~ zZ!9_&I!AnpPCo(YYpFJ|$1Ay%A>tbL$Zc0r=gm*X|Chi1^?X&iLNZQl$8Eg*EZ@nVh!3W0zR_`Ke+NWewE`BDf+VG9{_g~@!s+<2vlAK z7PJz;5N|GAn_pPoSLVXyd}SzaeROh4ef9pcH%hhHb#HByYi+&xtRI$>reAORK7jYX z=}kt4g0b8(YdQ162`10v@C+YdyapDxd399p2c&KnC1=>}(EA$h4>4sbS3;=_Op10f zzB*uckw{{Yb6|4;&S5U;^9CclQ}-89`~znWz^V_Nf`E_M>`g&G@@^1lXA+B)zLf8U zw|#QKkI&K3uWQ9_nD!~9@}DY3#?r{P&A`|A6^3tg;i{WBgPscS*z18{7As(L<);{M zqO7d-3x4#S_#wlA`4Zs|Ru{(KQM!J>Iw}RJk6}vkxap*~Lu+DDY#I5ZFKz7CGSEG* zrNNlG>EMb%4^O+;m;etW0q`)n`6b66aCdP`qAz&bH)Dc$B32(6k8Mw{#qZZ;^fw6_ zV{&gkXdC{m4eBq{J9LddjHTJI?DGZW(QcE|UhVZj1g-wvaTE^u*DeXZ^BUFYpy)h% z_~cCrHs$LlaLc7}X_k4F_;G^-Y`-{O$6pV^0sMuZ{^$V_t!k-$>lgHenBXUTkY%Z# zJy?*3Z~Cii#vlAT$N36Z>^D~9b0Eb>e&fy|3V&lnTP?Q@PnxX(z(H&Sz#jjy`^U2dbd!`c3|2^QPp5)jK&9+1(hcfJrD;m$b zwNL!(@A~ulq#MaARs5v}!n@-KJsj?h%W#2rjZThUKV86Hc-BYtW5;q0f)kI-j3I2{ z|9Y^rjq$F9{acT}^`I-~0Q&JK{t{2x&e~1v&{O70bpG=-ogcJK+r(?1J)~c+@um$Q z!oP>=X^~|BJsi&cV`_bzT~k%en~b}i_p@f$-tiTAn1klp*o5zl*Sw)Q2BLp$L))}_ zTPf&5)6JF1TixMz{_Mk!dF>CM*zW0P=QqaDfUZsItS-lE^7V`Bhy=j5E(?}UoM&kiFS=-Gfzyy(M@2fZ6V7htE&$bnaf{nGiSKXa|-vAUIj z>#=WiC!e&wFi!g^e)|Yop>){PZgnj24x#-#_K-8(cF<4$d~W)gA5!p>lF_njp*3O@ zUcmMrAI45-j7Q^;mt!jZ%&R=*Tc0e?*y8=6a6k;Uqz@n`g1vw@WjMc;fDhr}Z~2o3 zJoF`De^0C0ZVWPrn;)pXohjEo`Rds6(tdmR&2KX7=qWSp(&tYOzUAflSFkkshM(&j zPV*4RH{9QX)kR_TkXLVB_&nva7{*B#wMnVuokhY)(whnYV41~l%Ph_*`^4kV{R8LS z{P7L_z<%ZDyr z;~RCLv9rKs-h&IQ?y}RzRK1wfzAk`#3RE>mr!eI&IBN1*E7Z4sB+XcGv1E({*TeWH zZ^znfqR8T(zGVD_pV*df7G)HT21;G5SAREm_>tf7Dnu7}#*(<kUT7j|bAURh^09-puTpmy3y3t}lBK z$0uHTs*SE$>KNZv2Q*_kwv^#Iv<3M2N)rbhZXW!lC~ZVGbD`^4z2U~fuhonV#@L@U zlqxoo@CzCTT-xhbZakC)eJ=H&>v(jdPpcG@@3@k;U>j85zD76e1ao!&NP5A(OWk-e zw^`RwmN#>E*IjPfh`l)CKk~MRTzT?7#Nn%J@YmMFRKMDuuI1b?R+qjqUWfjIUl&U| zRIgl8;NO`i%JdRkaAYw(*KSeDk0jdkbpO#^^`4K46nn z@>f8Pn>asdL@JJb<-?A@lC^yhIP)}Me-GX`V$WIu3h{B=B{?>TmHk*rpizFG;u2cG`hgM8)CK^sO_+Cw}T z%hWq2OWU@wR{^Yz)I*YI+!DYuPO*iJ(>|%xHqT3+8k_pQGRwD~s>L!8)?q+mRw?EG zC$L;qa<9Ov0c@!S?6)0T*yzC53;_@}(QWA^7l_stZ(f!T}%p>J$2s z$d!_$F!7}jv%xb@Yrcum21=`pMPYfs5gYxAzaE0~ zs{W4m{n}12YNMcD6mr7^C(b0L_$F z0lhc1KC*8rGh~w)c=SK?>bC@gsXDd|O|)xc$qRp0C*#ify75IFeABM=oHcMw37A9I zjNSExoO#2cFJ{%VexMgX1&JEI!iR1A;0D9F5Qg3WWPZUvLOno3$5)V|dxNq4H#iUF ze6p%sZ{YPqj=BR6zS0hSU$8y4E0yrk))Rkq6wu2J#{Pt^aLMY~^|1A>i_FW#?_ssZ z3RSW78(a9D3n}BrnIoxp&mtj5s;`?Cw%&1(F_5vnzfgsKbq^oo-SMn=E_ti|Ky*#% z0Bq=J+-iHf$)6eHj9ynommoN1#FX zyfHBP0a?+>EA4V`iT>45dfR3(%0{#h{7AR5Nu2}8Pw}IGQf*Cn@Q3A;nqPc;n7lwv zA8s8^%A}O9U|{k8Dt#aLE;ku$jU)%9_?h6ml1rPkaQbP0y12og5PtBzo%)6JfV#+e zrLewSpPm$?6M>1iDUv@lf9A$dbx}a4|@7e?8pBkMgTwd0kb~kU1^G~bS#%H&wzaBNc*w9^S0xw^SNBb z*|((e7dmqL58#&fE7;x^nopZ^DQ@w4+?TY$txm^W{5tKBt!2hBH%#clo?3?XHL+&7 zHpMJ`?^n+l0~6=Qs&nn^r65R;Ug}^3>*QG%)7SbE+^$8kB*nY3qEqZ$gVed92xwma?W6m5bup)>DA#{M%$8htOLe~waWfzETAi=n#sjb-&EwW6}hfm)xEyb z81Rk(V;J757pfl}uxh<{e1*nK{X?IA5G5M^l`4uQgPV(OuQ+r)W!JL6#WdoxhoGerRmAtUHm-gs7@X{&o+R)S}EDl)OZwue`lZ-9145Ytv&C9&$ zU%~d*S03xRkT0zk{xz%&KA^Yx`q46#;*v7?b|dg6BI({_{K>@s!eB8W{~`51=Rn0r zt$*@+qWy!)&!3$t*o7W^Vv! z@rjXsmWLvA)6k(F_^1R>&nvmIxws(brG04@1WM;8JMo7;gg^Dmg>TjO)!=O>`5+&@ z)AsarzwY+4{&4V+&KQ_}K!V@ccf8@ZJ|Nq%vVJekG@BSNU^h!|&H}sP?WP3mCPRJa zP%39FpdlV!9-WI{uuYS{^TK*;L)~_F_+43S)fFzmSCRZwpgATU9~P)pw3IW}BP;*I zjt|v4Wsxl@owrzdiZ9pj2E@Bjvo5s{4yPG&sdVv!Cbk@|iLd15iW z?{Lq)rO2gxaAL=U6#W)p?IF(lw-gF#Z~Qub18Ar(g1ke+46o>B4B}h+mK)<9ym$jE z?;%YUU)nY~pNx2e!8l8TheHofu6M0ecE>nl^U<>a>f#%RLQ7m-)7XFTdA>@tG(bB^ z=ioJUwW@y~Y^)q>M(E*n-^o6<{R-&wql=t`JbrB3JHIr6l>U^TzUJZ3^v@)GXupkw zxa_IfOH+~F|8*0h%0}PePy4y);shXpS*J6Ko9x?#^j5yu4ze?>6lyluxW8}XzVEf{Myfp826Ku>Hw~u@@mIE z4UcoL^GiMGCl|xqd;Va1u;@|e%pY`5vyM#wT|jZYg5yC!Kh4J8o65k;N|d6%f=Mhc z(Nlk;54IsGJ7q3yMoz*P zH`2i)OSy|!wQ$w$*k(cD$qRq<>H*>Jf0MrniySfwxMiNSwB~J#eg|<5l}ijjs=a69 z+W1Zkfa;l;>{b3O((_3L`uFg$@!C&Bj6vEAZt2=|AzO{S3OlB7l|vIjisxj3X-oRq zPZdskBAudc1s3}OWx2A}5UB08bNYd@ylbyXEN_THEm_TFW9Qhhj0Dv2XdN5<9b?@< z94E1HbcBvY?FPrwL;Z;FCzjeOPuo)yEhptIZ*2IHI(-sK$LF+7-Up_7{KKD=PaMPt zGl|Tcw&KtDwTGeznL9_eRmNqi0rXDkW=UGpKzTm#SJKJD##H8%y4NB53% z$8d4TR#D>%9yxF;M;X8Wj^8TWzAg{_zxu)96a1*9s!z6un2g@YfbU#_()uQO!W(JZ z;=?G~oPJn&_F}jieA-q9q-r1_6H9I{ri-V`cM!Kd}ZB?3^&i{S1(ZC0rlt;@c@Y3_Rq{i&Q;S_FqOaU zGnY5D_020V@p@&FmO&ci!CMD0cx?MMtOyXt3+VW;;uR394gBltD_lxnKG7TbU&B}Y z$OwqI9)H_k4MPO!;Y)L6{@!|qI6Kf###KEZLK@H8%yiDwGjT=2bGCT?xjhKmCeZuCRL z5pdd#Ug|)vR8z`8aw4aWPsGxAIyp=4r0Osft4+$(9sr*nbB<%pV zv0-8BcZR$8Yf*VFT|{21_}TWQ&7t*)*Zk7T_>FWm5s%UNF90$kEQ;OOkPl1-xQM*% z8_-k$ys=CYf@jg^H|Md(L5rfL#Or)=&yGy=?(2v|O_)%8slHmZJK|EK6+k;7iU|2vEU zM7IsbA-Vo*g9LBs=I|zMJF(OCVPc?M+i~n9S4LXtFNg{2%J4#_^&WCp7grMY@t67H z!6$TYpu$VMyeSE;{!E*Yt!hf*@E>~h2PZG6^6NL_H|yB?Q=t6nyU;qiD!%~Q+MuGr z1ITIP?-&c6pU6R%YxEWBU)SZ1xvFa$;WZ8lk*04l78nnw-;@b`)Y{I(lX>pi5I&Uc zCnP+%=ZSeA5dB>__1OQ68}wogQpP+bV@uXG0{l71MYr*^Z_Bf5Qd4yS7x$SuUTfpD zH+Yg`@n{HyL_hAK)_QDW7p|+f?9f+SKh@p(J#5byT0$~wC@}>WS^5^hSNBI_MLdAY zzxMB10`JVpyo>;fKy|;9k!>vb@6V1~WWvw5!EwiuamB*UpBcBV9(}I`F-FDSh9#>3($v9vi(Z;C*8=uv${b!T?3d?8W zrJmL~Sh87ga3r?Bpa+|ILE}&d&?5WsPu+}8Gsh=&IVS4o#!I~IU0Ma&uC|SNgI~^t z@K$GY@W@r_mD@DqVJ7phdHb}oROV@KFrei!*xH~jKCt;}8?4v%BkLDb=)@zh=w4rt zCyu?5fo1ws7(1#Xo*UEc_gwKuPA=t-Hg(xX*(PR80N7OzVAv})F_?k`W*aPSc-ZT^YT*= zzK(`6p_cTy?Hw@#*t;5gV=spP_MeJS-f$0 zd>TBYV>7mh?apZkd+4u@!e`SiUV#wT|1;i3!0X7WpHJ^HhyM6S;>;&xd#IJeK4a}8 zeb~?I)9UD7-OaSUWyEP;KN-Gz7&z8KM(B;xTvK1WZ3eNq{pbVK5SSzFkB&3+vScwN zul&RU2oBHq+W1d@=9?I8x85!b9`HsU{)CG;jNRq<%rDgB{UljG)29&7xAd0B-&xmI zALXv4yYF1z%2U1qG`xTEfzO^=V0~g;?0LdK{R+^+7!02}mgigg7S^wCC1CU49#|d! zBW^M>6#Rb{-~mFieE$xXetEC{7Y^5&rkkU8G=A?L+0qSIQ^X=l%8;O*YXNTyg z85zt6pOj1GAA2ab&FFa2-L#s7XV8<~NicNy^7e)x35ttH_~euy=)~GO(w4Lnd)vM& zHf!4__t}&=G7ic3nq{4O|w^&5azw)#y43UT0R3%q}yU!zecvZ24WsbBfV2Iz(p zdSt~7KFp36_|fkMlN=rTgT}nCpT&}d@wbJd3gJziF~Q$HFbS^+OO=kaW{^mrZ`3o6|nVgNM6}J<9e$V%x*stZm5QTgv-j2EJV%sP9^cKOB(!>PxJE zFVw^3{~DXdhXe#4nlJM3!?`x;bM-Lq9$HkYx9u0(Hl=jzfex(h9Bn+x9NqwS%}CvjRnR3Re#x z9(_aC-XzzOuxn3WlaJn-!*0v#LtkYe?^rJlP`t$fY|w7@m_DE*zO1(}5+laj&gTWy zC9Pd-SXVi?(kW;=>G}_$?b-(fuG5?yQm2p0Qa&=i=KIi!*+}gQMj`n5_1g_Z@SdYrvv+*2a^*_HSO4*9LOc zzskd#7kOc5wq-n_N`82NVwzX4z*v5No$6Pm*WRlyF!5Wyf1iNOe|z|kxXJjVIRmfw z|0yi*SD7>L9sonXTnb!kvjhh-1(Cr%6Du<->jH~n7E8)3nhxUJ9_?TbpPS|`kf`hB zbTNE>Y?*vFD{|S&8s5Ad?2{*v^AhlF@;xxQF!|KEO4=4`qjUfbelODlD3gk;ZCqY# zv3U5^uH+nsIkW;h0pFy5!2{^9UuTk2KKhfwIy%^p6%jn#PJ4d^Fv6=qg^1fO(Adxy z<3=0tf|ypWKC$p5j}OIH&)Qp`-DC!!;1hA>AB61&$D+(4$pVd@Hzvw$nQC1~eJ(Xy z9`Y#z`k=3^yU?OrE<{H-e2wd*p)^$o{{{GG{C4o9~y7g4gWLq z2$j_Kk)zv5^68s>GQL#k3PRHJY1dK!<&w57#Ge0R4DfX` zAQa8tbpvE*BO^oys_33QxQYnuIHOJeQL^@WLxaA(FCQ0esNMDO<2qJo1g1 zEv=6OsMx;Ie-M$`@$xwinvho}yvii4R^^EQBjZ77;$;l8-a_Z_7>2qVz;@FhXo_h$ zfYRaf)6XOje3A{|4{&98lFOFWeF?v@=+oJ}hzR=R9+B(A_Ce#q8i3FEP90F>@FMpl z`wrR03brFhT!_)c#eR+*`kok;Yg9k5F*Rv@oDM9WdC4AyE%Yxwm*M;Zpkqi6$9H0; zJpM#S54*2D_{wv~K5I$nqYHfLv|?!A0LUHV-D4Pc*b;>(1flZPX<^DY!I~08>-M?6 zb!=`dY||5);)s3vw$ewRW+^^)w$1h#x<=rb#v0LBvqPt~Owytt@RNuBy-6cGrU_m33YA|s10j1Ixy~!?} zn6bCg_A0BT)v++TK7e|)YV(LJ@3#`L`EL*3K615jTf8Kgn?7v6;bF?bVZ_x-AHl`S^}c z1z3m|SCJ0x9>m|t+6ha;qOH6YP@Wp}eszjPsy0_2tiaO1@iC?U%uc!aqw!fBF@){? z+mW4!ls`X01UgxPcVgz^(+=$imIr&cUB%UA?Jf>jJn?8ds29JfpSbj6NA$X&;%`P( zeHk(HtE;-}4+*;e2ufOg2Gp4ZoiVZgW2aB+`-h;rLEQF5=hQ9gQ{#_A*5HNi;yV73 zEax%+try%V0Xn{N*x0sIc63al_c(Z-ji8KM;G*vJhlHH*7FRl~cZ1n+zVN9}J;tbg zTz&CJ*~(Xc+yBN3-oofgY&gIO6iHn~aUaO0G}j z`|&$%L%#Tqr)_t+%g+rEH$rNI4t{*_AeI-p@PqkF&fjhIP`6_WUDek*y-G}pV-K3} zH|7&Be!D)f{f^ZI5B46$7~gFpHg2RYFW?%OSG@<(3wY*$V_`_g-`0{in4)9GQ(iqN zbaUk<{e0CZIOO(V{LVvk7%zMw4!p26bPuzkZ(TjM6W!yxJUBz_JH|I{Y(M&+g!J%p zGt{`Pj`$ZIZU{S$=r1HXu1EX;ZGP7Y61p}Gld1N3SIOEWj@y6uy*j{A#(xEok$2j- zu_H3aRByyij2Ks%Zw$bpk597qKddV!B`LDKNx=WckeqcNe_SVs5i*h86gChKZsy(i zEyx7ukUa2GhjikluCn_F;klWEkB36bUnbO0z92S&_}ZV-?n4OxUe_<@M-uPwj@9Jb z_KvyLO`JF0Wgc0nFK`n${g&G21BF^4emhUCPhW}%uV^kwZ#=MV{FAE@y)B$X6<{tp zW`aQX(IYI^>MzZ)WWBPciB)g3x4))O!zwp+u^+gREWYyvZrU{u4|B%C&dNxgvh&^X zg`Vo7Z1n?>xwhSFi&%2Sl|^U2QpN*V*7+eOm38fZz=zGD2ls(?JanENp2X*r1!%N> z;X}hf_z^knUY^xM{*5FXO4>cAlhrsH#Ey%k8zz-8PTeqL4k7Vsd zUD`{s@&dH*qbnA))woo?2aHb~Ho1zRY>wILrfw{fpnzW5xr($BfH#?Fe7T2>%1vy_ z0+TlU6|?yE!niVe?V=|7tIzA?{0LjT;WrXuVd%hs^93SfA9ESogcceoi}aR z1Dg8e7|`GNmYjZqDo^SZcvTH{dd0cB8HzC1rU_if1aaQOEdaf~K)(km5lM^^?V9l6 zZsy2RS67NXpjIFM+>80h4)sZ0|xa*SWwj!&K*dOXDDwf@6f8Tx8I zJ$Y;t>Z^QtMWg)nKXz!-@Pb?W+lJ=ViLa|4pbr7KDqFwcKeD4|ss(NED@Oe!xP8Nz zCI(qE7=L+{H8{s(G1c{?(Qn^8emV~GLasMp_y*rNGX9>J*W7`qJg~(NyT+k*`-@Y2 z{qdjP6aloYyjHbS8(flthwi6L{;w5c(D*^urTAye=fK%EEL8FFJ=J@I72cqBUmmi) zV6)I1etZDW99UqEfd|lV_Vd);JH82x$L^ONs!4kAZGdn4t9{cp*)GdwffOj)hUH2B zkrFpFDZVb?2z23RT+PZ#v%0VC6JJ*^j?_Qnq_K7+VNH{X5%nM_( zs7RY#Lz;MK*$0>HL;QN}sBb`eivyPie7H0aYq`Sr$@@aR`Zu8B<(NI^L*LdH_m%$J z!f$?)!Ic=bP6tn!PL>Wlcwhf_ctiNfKk^5eddgt6f!!o0SdxRCMVbkniNOM6Vq+!$ zA$b-xcsto6%fX3FE|VMOV%41irClx{dSKX%ahSxpsAOS8m_q~KMMr-vq@$3-H}!x) zM-qOHp5i*GU67cFfiu|x@G^1vMTp&`DmyWph4CzqvyiY@rE>Thvu7b69Y7b10P?Yg zy~b)b*0g2WLBp+{)J>Gj_)*`uNekeU-vJ%JHdw?7-Xe-aPJbs}ODzXaDs#BW;ueox zFd{TKFeMMU-Yoq zBZti$yYOy%_#}k24jeRNW~xTkDZgqNU~Zd#@t2o1F2Orb@H2e1xqV!n&Z+RRZt%zY zKmYubHyhxHtudvKQ>e=F1E^$_qWbwEc(M z_L~z$tPjYvPU_eKKAToO75ywP$QwUwd+d{M9H3%rY3~?D4|p}G6a>l&;V@s6titea zQpF?qD}YvApRh8oJ^-C>ec=nwcYxpgCWDDVY`09GS`M7Fh<_4#Xa|d8J;~T)GhLq$V+tS%4^a z1L>sgAV#)>zmtLXSEKqz2Y7jtFAi{G%mSb`>fZ?9(z?h{qa_z_J(;Bxx^OfWh3g9- zZ|u4Vp))UN+lC8T@XFG-ha}e`+u8QGxfufq((2&=_N?QB*{W8a!xb?m_M6K$z(&H; zFb{s&z*iejRJqAu0}ziNBiKdHg6%y9{{=v`Kc)!yEsVVM)Hn9vcG3NW(f4cgfy&HSNIOtiyHUJgaq#ACZx1*jMTM5~ zrv3XA8(#3XYtn9ln6=+C4&1zgU%NNmxVDUc(W8#~{kHk)XRda$(~sCdhdzw#`U9}0 zu<0_Me);QPGv<2p3cvy%zJC2XsQpUh_CI*qvWFe;Cl1HWDTKdr{q#d!rKpPp9ltza z<%Ry8cgPp+8iBmsLBYzzPAsUlS^g(2ly@LyY;joR(1`6mmF`#}!Gj%jh7O=ky;~oC z)+fGtwTD6s>6z8)f{%64ctn16vQ`iSdEl0B599Q8+u#-3zf%2xVlkMjP%E&Tq_!}|&LDSkH$Bu{Z^d&aDDTOC_$6?wzeE7r7Es1t*+9%SK zSNGcAeGBoB4y@0r4Io$f$S&_TI_YT^HD8}_F|~)xByqcsb}z*i08rc|u5}$;M&j0EHqzx#ORJ-UyU2>_d zlglHW{_Wa>eHnb0MtPwotHUw<67@8Ih+^>V7<}5!%kc|e$JVZUBwiTW)`4!p_go6L zwS|_cB(1IDK%i&F@x-M7owd39!-w)yyuKf&0{SU{#KuGXfS2#dN38JJwH%w1-y4oi zz~;X#e21HiBs$SD3)3eKpj2GTgMn#I+}0w$ z$%Sa}x6Q4CUz+^M;c=r&nRfUGn$Vfp1In#1c1g4uA}Hi|3dAdn>YSJy--h>v#i>u7 zlOs?6LO(j=pZD+saQJ0wnxx zP58=kgvi2J-fd^w$foBL9w7Yi&<38|8)tc&4yY>^+~3!uemN&YB>*mu9p_?EF zNc`=lBt0A0E9+X2yq{Wf;~XL>&`tDiF!HBgsP;))bfvEx$4bHpf`UV8$#%Hvv$7%XnZ1u84OK= zmQ!zye#2kaBgf^8v*{N+Z7j>rlwt0G-G4%U^zA2%tRMWuYSvyJI?g`Wd0n}>SpTlQ#&72_Kpi4$3cOs1@7~CKx;X76 zml?fHF#40kKmR1%U*HQKiT$b(%GEhG-HZ7YCH;#&&K5&k?iLVZ6 zoh;W!H=syxD_e##NlLMLI*#1$tL@s9Jna|AQ*UMXC?p*u@9KFo6U==Ji*wCjjaOM? zapz2JHW5p1Qt7wEE0|9hC)UO=v}N~o7+$7<(zo>RukH_6zZSOs7604Af5c6O+fwqS zmvSlrHjo=AO33^vbfy;dWo=hfA3ur9k~i99vWERhUDTUAxG})kpfVxt&69Y6> z0xHzkcB2wvZyM$);l@aTfk!Vu8(8RXf7EtA0&UJhLA%_zXLkx9Dm===MO{3ZLUJ?Ue*WaPZR}^}&bYK&(?99Ufa$=m+;G4gyIPVA~*JxR*S8a-CLbi;N-@6%Lx>L+63j{@k)+i`ox z&IRICo%GdievWJE<1Zqmcf4=ktZWZg%!{u!bnN&B4}R>tf*TdIR8?HyXH03kPM zd;`dNfFZ?SbbByPOwi=GMn2<_uTyb2e8GdstP!-g8(saBK6&FH#wK9fK}{U7=eWoVkz;d#I{X?Pe;td%H(71>e`?Ubr=4C= zGqP5CY1Vvdmi$_Y^7PTjB{4R7nC`(+uafUN_O_L>u}MF6tZXcNdvP6PzL1B`A)2qO z=^%XQ3?9IKF2|PxDKox1e^}$&5^U8s71d@yHH@vuEG&(J^oa#Ma^)l(+qNZCZP>oH z0bBU7dlqe|Nae`E+vh3Rp7;Y0S8nRP$qgOA7uytn;oZ4k@9Gcs7N}u`i#vW;nL0F4rC1&O zpbO%6-)UXIMiMSN7p#!u59xko(e$gYETMSRX*@Bg6QvyhH@VOpFY9Uh`_w@#tFSh& z{g-@a(Qgm`F*h0Wp2T%3{{kQ}CF$<1uk7mdr*Wr4`|A*SSqHV{b~=-G)BYFlbAv&W zuc_L=o~8aTvBE7urX8daO(m@+QY-N3*TbXMNa>wEVO}6t8+k^2jJ27_0dZ}k;)=Ye%dua zY5QCJ(5fPr)RjAZgpJE@LQC*U<`PbC{HZV&{2E#gWBz?m~KY1}zZ~Nq@07c#&VE69?&R1(vc1)lJ+0pi9YnK>pjL}CK=nX~f z)XyO0j*Mjb zTR(c3`{}2j(wF@AUPbj`KMh>-^(DlC`dx3=7ux3`HGK9VRA@mEf0ZwcPW1cE14abe&JG-6*sTC|0!db`xzQ-i-16 zdniZ1k);izTpaPBkUB0&>tS49*C%;NkNp7c4y(|JSx{Bc#VI>AX)BbPbDuT_2bQ&k z|MOwn9gBgg38Xd3Hmy&TPn_}w*S!`Qq>$TwYTp3xVUM(JE+JgZ$)sX z-6s{_n6nmPj&fq@jRgP)JZEvF&cZO80h4ZTSeVG2NVQEFe^R=(liq^} z;DjG&9M+F+Si1p$sgByZlj`vc++l8EZ7aL&9-v+O^M`Fq+@Bzyfzl) zk;5|jXiu);l3Ab~=m%EL_|VSe_zRP9qJe4C@x7|7B3HOF-~dQIEiuj_n>my zJidqJL&swuV*3+1HxPgH<9y(iNfSCJQ8d3FZyo~XTuN~)lG^WI7JfQV&To|kNhGGHyMc!@gLt{M*psh zd-I{S=+Va7!bvQIPK>d)U!Oz&{sNJoDxohlYy$XioT9{=!a(J@F``AQ_ojHFU$)m& z5AX|INR!~H&yMf2U(EU$Se*(F=yzfR>g+LNLya>&u-t^&GEAB zC5}kFZ9w*2EAN=>oN9k|FG^vQj{T|_*+<7XbL${jGfUXDpDKE&`|$Jd*HkPwpE&6E zds6{#UdZy5Z~)#Xcu=33L2p4WaUtZ?!FMav$owxHo+tV3hvmHyI81 zbp4d=0*QsKcX;&GsoDI6BcD8DMmjkdK6M~j1BX3RxERz7I3}7Y6FL*u3CzHoiM(a` z?D*B8LUCJnuriRL(XotFtV6@Y;bY*sVGP}Y>|l0yBN5y4WKX-Iyfh=Pt+l%ox`%^L zs7Ay}=>+4+0e_Ts{nz>|LQHPhZL|1kkGx$tR&G-+)$he?K+C?jon?rOuW~3G8nI@B zR9_h3P*s(35gMmop${N$Jd%&9u@8~%EDao+5p@p7@X~eHztNN&HNdvULF%3<%PB9&b- zvGIz!yleq>hsvD5Cb0gzVB56o+jYV5ra~|mD!H10_BEiaA|ne(y5p|4(BByTJ$?Mk zFZVm~j=SJ1ULDA|mL@sI828IdVl($pK>}ZYu)!RxvaVU@Q;p#ED@ye%92)MEY}U^n z_-4E(wM`qpBuW|i7^8#6(uzKT>m*W_|DA>3;KDNK|+QZcL z3HhIr5aLtz7jECRO#n9c0ZDHP!WX^jihqtnFd@A5oo7DiX&i*GB5wqY{f+s`)3x;L ze&uH6^oKmJj^q339{Kv$ex>E`!`&P|JO8Rkj!|Ebvkra%+iPAC+E$y*_XQREU0eGp zI!Wh4Zp@}0ZKe6v?6$XZtv7zvee?mtyK&y}rXVb4ysB^K52}=mocN^AynDarjz}BV zN$Ve3_vyKb45D#}MA}E9vT@pWu%`d`R%WQ}C7$uM&fPN=bF> zz^l--XKYr*)Bn-KdBK0Q8T#&L7qI`NzHeS5mI`k<;8$6b#CQC)-Ct#1+*|*ez7PDS zHyMCsI%&!dLd(OEZ0qLMm#2fofs)r7HhBhL9_n3|NF5j%kekBf!p}s@q}zYG$E1Ff z6G5I#l+keq+3J1D(YsIHg6$y1r_u2hlpW~gDS+qj%0JeEg+t#Cu$KoS8nm6%g+oO1 z2M&FB*o6G2g26Am6C79@`qsv%Lp|8|k{^(N$^&?Q+Njz`UOIRdAD&Lm(*X_}A%3VD zGiE~=tq0auVEy_U5%BP_IM7~xU5bBHNSW`#pIETSJp5G9q~44NeEi3M_dof9!*}}4 z4PX`?@N56~6N9RnO;Sw37@>;_Ca^Pjz;WpTrkfA_$bkoia4<&eJGQUhub`dqne%$` zwOiXy{|~+kyOp5Gizn?pg11v%?XYpWuOqCP}s+hNQnfkP+la9#%JUk_K*;bSbr zD>X2(*8*!y=9_=)dJjjE(F=czvhP|$1^XVnQt!c%v9*5Qn`3msL(Dc_uK7GP$l8o< z4_?^zRj}=hk8S@G1LpC^AK4FVAHfOx?mO7$CTCe&kMH&ey4%E(+b+fxvgkkSB1%d4 zi62SFe(?Q-ro0C~IrUxJ79j0SE_e?{LGmFM{Kj-la)VKN1aTo3vR=!NKO2*^zjUDd zy@2oDn?xKSR78Mob6Y8x4^xQ7BS?Bpo2fOYPK7$m1LzxjiYkGsdRd&8>Ir%K4&EN( zpZ1||WUR|o8ZQ+TIcm8S=bES8`VSr|`oQnlsMsejbESW{ADQ6E@ymqmP3mPFroGHn z`1X(tHTjP@RP(>SRu7;o<;mYVz5ur+1^p{&V5lQvn}~gqh@-Ex{iLuWkF4<@yna}i zu{M4I=x01lTdDJ!w{;b&LnYzGC;Z;H62pxVsWuV4?W?_=!_{6LFu?E45WdN|aCxd| zO~fJ1{i}r$)B1$>GS5o#EpjwcyBO{9%QFn6D%WCN%Rjj*sfuIC-k{F~PpV`t$hmG30}5`|JC{IY3S7gz2WFE#FK+3SHpPabgfY zbL%8UkLC4Y>o90PZx@G@@vDM^|J7nlX<+!(0X;t98eq9a;YgttTW{MZt2|PbWU;wF zTeyq!_!wv%ebj5ezeq*Q>K92p&jv4hMBfF)MKg)TZTp56Y%7pieY-*7H&0|4U)yH_ zx>9a?uI*I63Ghjux{%7XO`AKG`?ZVm#|!;hX#J+fsl5AivkB(5@r*&=RR&p}vHwCf z_EP_t`Nh9u;q?P3XH)UmPL6%0O9Mtj3lFS3fQ~(=o;Ij_<$?N!pW;N8vVKvgSbxTs zAt9$tVpf!LkQ>L{Y|tV0@CmBQD|#_9Y7rj!P1E<3C)ZBmv-9%$3mLwVea2OD@U84R zL7W&n@b~XCmM>#AbH(xLp&hN`Grq^~-lUQs)DO}*9H3JlI=+}|dvmdev6gEG9-w0{ zN>g=i?|M3Pg4F{HeNq@o^+g7s@U3m(lajX0GT@bz*N50JdvdZ)P?gq-{Ut`hw5Z;hc6~>EHeA+EY50yg7I!j%y1Cwk->? zjt#JmXLwFb%3q1ehh9Ciep`a{(vE~6O`Y9~k&BD+GhSX_#^b>HRh^`FY;S@IDch0q z9)79sr*qRT#~6jTH&#i+ z;2GcWcO4%6;|B$8VFVa{Wm2tN=Q#S8ov67@4eZqpZxvV`UT*_%)9BEPte-D zqr*CIOTCFGJRU1k07uNa$6pRgSKqyY|99#8z<0aJxb?h-VauIDEC|cfIdBBl8^Py+Z6`xPUu^T*VgiNd%iv$V>JFZTtA|l6ed;}O$zHtj z(f@c0QoILD5`c`tRK_l-*B?z}%e*Vi}YM=IpW5+@v_`LV9PXf_C>Bg|e zAT3Y%Ze87@cSxw6OF-JS3lDNV)UMOO-K0fW6wv;8;@ew>XsB5RbS007v z2F+g!Z`3ipG@W`QW^usA#*~+OOqXE~TDm}1kini0Al1Cn0>?@Sj^Vo4+ zTYY0g9@A@g>x{X!(|rzIwz+kg#<6-!d#^9r0gK+~AwM?*Qfg!ME1xTJ8(YfW6v=(< zEUeD!W9=;H11Y%fJzd{-9bMK(F58RdX|lT?1rJpFo}cp18u5KBK5 z%7MCL6k@fUcBPCj#DxmJ^u}t|i16%qB+&+S=d8fj7KtkcrAb%4sdXr&J z$B>(H?R#zxwhLMYPvRAN-%|x5Y_I1K6AaA<^ z@VFt3%<@BpM_j<1`b2Z_FW9=i>sJk_bNP#Jj09=NY@iB^abgW0vXGHb&+zi;&Cfa5 z`ZP1IZYtF!e`L`E9yvdz)X?<@&?ovF3wd`jXdfJU5}mDD6Hq^S#wK*e6=NiD+!+Sfj2NEUX4WbMW?Ad#_K)3v?iiVe0s29^hOA6=)@LyXFCb5r*BN8@GkEIfAQb!_pjHM$v;qA*RRv2d z`qY#?iKaJANA%$MeH1K7(i5 zzUdv0!o=hH+A(?j4nz{X6z;MN~NeV-WL`m=om$^_rstj|pb>kWFDBN*2HNmW;e21m*I==3yH zxe`j$QW$nGJ6?xubVF<6e{KBuyFdTbA2c9-m7BN)-W%FcUv0y;>v6~H%v;)(*V^cw zQ9nJ@uc8I;;@TfOM)wnpHN1Z4BPn(`OOO~Z@Yz?xkJW0v_O_%iN%e94Gi!`^L3?~x zTe7pKtslsbj)kuI%sW#1N$`^kcsqs*)!jOl2R>E)3wU)bjJ|KC?*qU2O-2))xcFNp z(P=Gz;_CYwP>B84R$)>tI{GwP8VQ z>%PV=32<)mHLo-eWtvAejA3) z8{V`*8A$6FszEFtm*9@cRB1bD;lySZZ&{P?hQ||B|3EWk;?ALng=C-7SDGsuWpOS> zV-q#HqpuWrizx0(!UJQ}cc8jQu(DwEZ`zzo+n-9w$%iwS>IpnJa%;SUx5gODz}WcE z7C_%%T&QWRw>}`3s>*xD3w{OAvkS61=?n7VM@~FGB(?mR(B;85Y5ikE2~}^xBHun$ z0@ptI^tOEcM`!$@9CH%}JaN>+92s<#KNg4&93#wz_9tSMyf<)prR+QoFU>{`<@No< zltdiJLn{vMt~nfF9CzW_7?Oap6H9FSuAu?^Ser$pOg-uACZyi@bT%vD#@ICR%SEcO zP(^K+^72!^{oAFy*lcNo<7rIZwxkjqW&85kz^jvSNG>J`T4h;Em}~t10Ondh<>F-H=+~E=f>yozWmLhwJ-ZiT=sp{jqJz` z|HVIgrAZlF@j~##iM7FXI(20s8P`ptKeY3;IB?Zsy=MsE`T{r};B~zSp7-Q{MH6Gb zu)ZHxb%;WRh#mcSZC2*U0qEq#7){(e#yf{RJ5Br-+Umf_)hP*5_yx85t8pC*t6#pr zrw?jT&*lr*T6-O<+)VZczt)m!;MC)Fa*|e$zN7Wgf3dZ3bp`Zq)544UO8af$yWeE+ z3mg2xx?l19VpfCO`dPRKZTCaXBJvPInJh`R@O}0-` zJZz1x)dcVBS=Hh3A7?=lmn6^nQS{Z5H(Ed&x8R8z$tiUf;p7OSC#j2W%BWBm3TlhK z!EgTvk*{hf)Qt?zq_u>E< z$8IsBYj}nxkmtmFEDxIM;)WuteQ{EeWX-!#m)yfapZ4_d%);!(!(f#=uN@1)b#WxW z3D`dKkg^6=et0-!@MMgba=2XIp`)|>@b&OSnT_67sz1en*S?7teldqq_W=VMc-yYd zY52Ae(b+%7!{=bsHFD$I!uoiglpdchUwxShFeFgmufOf1J>bbukB-hA@4n7h?#)FH zgZ2B<%i3^#Qg7BxeqbP*Br!)$dQ$!9SXi5D_Z~Jmd|khltFzJ;kVA%pE;;s@kB&nm z%m)yg>gokR??Dg{zvaBp$=VB^nD`F8iR#7SL%*^`8y4v6-Kz*+czxq1yhj-&6e~M?!1Q^fw$R|hqa@SXD zJ;0ThEBro?iJ#7uyfz*;!5j+lCfAl83h-=fDC2MEMf`%EmpKBtC_nx(4w=^-TYXB7 z;%)1J;LxMhz6Yl72Pid;#dSZq@v%L_@6~$2wkLt_N zfDh{j2i3jt-LDd^U0B{VRbAoJe#Ra7^1WdF!L82f9Y3x+AO2#8^^iVfp7QWV*|gj9 z%*0TC^6FR2q5)s4pfv3@KJupx!q9iWpbjkm^@hElwIcH@DD;%_UcUk8Q|H)wIAd|_ zPCj+UvJY-1p8C>Kc|zYGV@Wl9P;>TT&&v6$U+L_xAgVj5>){3USb)xaxYSy!MP=DX zI8P=oe&dovAbhOG*si~*I@)UFys&2yTN{PX^0ruzo%+}Gec-#?WN^A~w@~-JpqHDhpZw*gdD5zmW${{(DHpIu9-Qy$I(aUpdGVHN zzI+`s#tVj_skX`m(Wx3Q3!+Cp@lGu7L8AQny2*NRBw{bWbvB>cSMBha@;d&l?w5{E zvEz~q6v{^hpL>X6vn_r%*adXJNBm7T(aR?&GDg&cUwjmwHNbe?dFUL&Z|vmF*uaPL zgsxf&`trpm#B$j=ulDipr6Whf)VO+;d(*`M_M->Y+h%dds{+2(OQ(H(8caK?=GDu3 zvikQa_5H*^Zux5e+Dm2V*n{pIU0sK!wTll_eq&j=WT8tI}&~JbH+b_TSTW&B;d$Blei=cJ@yy39R z`VQZYd+e-U0G%su8}hDR+^J7(!!u4nLZ34H#v?eilG~5~cn;dc+<%0Z*x?IId+4pe z=tEgRA43O@ozthNpE;gHAD{$MsRQE!(E0z&2QPQs=?%sst*$CW1b(UTYsi{@&|e!v zV0E(Y`N_oaqQv<%^R>Q@k4LX=1qKhKSX5;5nrNuEx^KBsBMV7;#IyeK$ucoF9!a~t z=||rPwXkkaoOLfU#g%hdl;8ChRqIdF@@${?Z@KJ`0Oi8wuin_!H(K7gfWpcQmo}l- zr@f)-oZ0waKWtw7=O&o{gihR9LjcAYfAsw~en~R@r^e`R{GR>-(1$Kw;{(XqExZEA z5p!;?;u=OCpOUL`xSv1#F8=DzB`H44>;BTz!13+D3E-FaYx+L$U2ZZO$d)<8GKLv~ zgyE$%xPwc*m%>i5CD1V*I3_V!Q2ftyR7T?S^(Z?3v+mzrz@y>Hz7tY>Y%r8ko3AN6 z-|Gw+3WM{9AAkDYU;gr6v*5RLR~Pl-fa;~rqNi@{lt-=)UR)brMTmT zc<-V>eAPP}1S;w!7AYr%N1Xc0*D{c3Dc|pw?{}bSgX2J!uQFd@byIBFm&N3<56`jy zEXZAO8?OaSf#-=z>tp*XL>X~YN5&p`<2UITTin3nC!Vy`_~nA7a?dLjZ(>r|@eczu z-@!{y``{^zmekScA|E@|&Umg|Uxm}R_^?R$5g9Ivqho9KQ4;cJGe@_+j3Tn2J=|!6 zg9e1olKL_mQxg608T(L275<^R4-6_dB$%UdW?n9iIei&Kz!-lk;ZSliWkwe3J={T_ zuki%yS3m4;`UIKw4P`dgy}_u}g5K7dv1`dXfIY_(F_mv=+otyQj^)y~OpVxJW$HDc z9Wm-GRW5iZEo}MVlD}(-8pkdEc5T;F)`C5NVz0RcjGb|Un$E2rvRGp;jBhYa@-?Y`QN|KSjFEywU%f74dADrG~%y5_omSsWDY>y znB0StdY6|LpbI}p@d-Bg{dGLY{`~D?utS84;eAvG|f_L`=z&OND0G#fPFG9+DsHGColF&n3$|Ar+(&v?bK|1_iDr@YM zhX8dziocziDDKe#eaBV%ACAJdn|>oa0J`DndYP2A@t}t?VEa+s+9a(iw+R%wXrls@ zR**CxU6;bmvW@)s3O~N7eb(+#{i?9idMS)QWaUKr{3q%zj zPy^K;r#8g9h;-oq;YcjCYPi<^ue<{;arM-0+;@mBu;nDxO4xO{7qSLhq7 z%~y8Q5m2HwPKs|r86i%g3rZ(TK?*X-V5eO_%x2Yi-BjlAp#mNH-!}B=LKgrgGKW8TfZGK!g36I{l2V>zw+BhmDq}7k+Y7YBspYWIX5% zu?MRt7aB%6P&JpPPI8JVneKQ3=qsM=ahT->0sd_Viu(kz|I~}8DMuGN;H@QNP1?;0 znvTJrQWUCV^?FU27~T{-F@;Aypg9`(d@Mz@nu{%If9gtjQ}xr9zl~ozW=j_HT12o3UF11dDlA1 z92aN2S2=uRQj~Uu(zJ_?O#@bWJ#8wqULWDB9ChKSe`Qi-%*_1K-oF6auw#qZV`S~@ zC$P*9)>KVFpVuJd^~Py@$2Y%y{dT;TN?d7UKe=BU6UV1s&8P_OK8>&+>6gwe zrLOMO)AhzC73;f>R%h2^eH|I<%yGu&;z~aiW75BMnzcak=$xc58SaQnA0^-U+e3Nd zy8dsw6pt{uvNJC3L6>&6eFcpmF~UtN@A!5u-F|e;EN|Xob1}Zc&{EwPFBJ;P_n{1X zEAfC*zUtFH+zNCa_p6{Y_CRhMCNIw72k5slj~uFFWMhj#_2R?Oj_iTr@PP*u+`yyo zaJ;&aR)e*~ynz_$YTmk}8MF`p|(- zI(|#-kOCTq%fHDOo4RQ60+hu5B&s2MDM!J-o5{lBW~BWrGC3T>b!970cFS##hqkn- z-+|;0tvcc1(?4RN;bcipOye-R16w9xcW(@k-L`R9Wr`W4@x!-)<4*qN_sAU+UTqc(~JfN2+sMY(-jmB1XFZE|+C@CmL9`fTFq*SOk7UgX_82cP7ss}i7f%WOc zi31-Cc49<4@omRddCSxC8{exP7dDP>f`>j~Jp1;~v39?102AH*oU{#;!f!>)bT&iYCF zfBD-l_Er5Gn)&5h!La=8SO+4?5E3^%p(#Grkcka@IIxSvyAKvE2tptSixx@(+<= zFVutKf!|LUSevK@JfI&aPh2qHxybHfske=}z&reXfZDO4EEj3?b!9=VE+q9EHD=XUfEWMz ziI}kk)@BrS|Nc=q*2(tErTdy({igD~yn?>gUtlTb@bX%jm7^`wHe)k7$hVJCK)anM z`Z2nmaa3IM>q7n3fApw(fGQV?gC;&b*F?wY1di0$@G7ZvpgZZKpE6aIFD?9{s|8Fi zCmXnWh1e~f{;TXw-v_?yO@`$ZN^cIn)8W?5x%#FCJ|*hrOvDblT}XHm;L`^dhfIzi za)9vT+6+(xI}y8ZFo^-``?P+$1X5EcJ_Fc;z(4pHyo+VOhaQRWf#YuoxXA#4esVTD z7JL++|G$w+4^Lfmx;S=$gjTN#YoFwTx10NVI&FA`C?ZF}1;mfvz+x+Mypyy)lLERj zfPM@FM-5sR+#G6BN4EZ|?)W}$;rJLZUh_l&{E;P3qDGlGF6{&GFMVKt&mx+u4~2*g ziy;1CheZH}eTq7*(uT73!P+jq^|td{02ck;VEnnCXd#a+d@?pkjzeA%5Emaf^muTw zuhB+3XY<{*Y8E*Pe7LDlK74nqufCCS1i(MIm9y@( zwszCo`U|ZmXg{7ITeqseNm$k{**qZ=Y#PLeLu_P&zS2U`7+ho}}_}B~3KYTy8 z|D1_Akpo&@KDi@tzz8$C*JpfF-{>V3l2f0tO4<5IGA6kBq=vqo+vsCV0E{m_8QnPp zRJ~G>t9^iVqiv^F8|sp$yxLFFSNvjLBo2<(;YYTI4f58Jy>XREI&#EB{rDVyWVVeQ zO8BG*Ip<=a4-n9E(}mQVRgoF_KV47hbE+ORc6=tCHYK6q)k`~>d+SqGM|Sa%=>eDn zKI?PG7GuCRt1mK24`3Gi_F3&V4Lvg0vro@~2=wFE)Un~(zwy;WOyF1lQ~B;8VxtS# zF~Qe8C`(uWj)U4-d+u%N4{~rGjsnIk<$cHj^a`|HwOwc%Zyjh2UVLjze3Bl0>w|tJ z$2WAk&qffF+SsHjT3^4saX>yV#}4Vs_;Jq^cX{oP_~BQZ)9zhI$HG&<+>G&&Jv4Ik z;8zkp_X&2mjCom3yryvG4^(6W_(tC`<~*EoW4N@V0e;4JZEga|7&;HHl3LIFb!=6S zAi47aK6StolC7II^5QKhj!bpI^Nyhd(mL*FgQOv&qQ13W{gr>!#t&fM?zj=dwK8g_IJ#O9dpIm;r@GFK^7`1fe6l9( zKaGSUO?Y$)QzP~{j+eR#-y``7yk+2<^|5x!tK)j{Tf%R0lL1h^DX$bLJE0awK6t*m z;cqY(J9x_Ql!{CwVuRF6#Ts6WR`qVTT+W%uWDv#)GCFyH#lNHDz=-h$)*>gkBK} z7R@1wm6!H)A-S7UTeVDY7TNK$jIz>!~tT^1(&!m z?%L;$FF7<}8@b8!Fu_ZGtCM$qS-`jRbSAKyin8xwIXPVI`&CkXwA1+!dF&aFj7!YB zfmaK{6-nOtbam+~^C7u^)4~h8;2%&0e%ep5H#{%f7O#9UYma$LTOsw}C0U!kgJ8^c zEMA(`T&lBBe8(#~H_^Y_0m4UqKMBY^;t8t zqIQL#8iRr^=`Z-1qx9{=Lo7My`3I}UG< z_lY~7AhV|fwo_PHK+Dw^BsKehm-Bo~L(HBRTs$TmF8;2+;%kb}BvGW<7T$B@1 zG8XZFG0>CngY^pgq#b*tU$-9NEgF2P1hWxi)fsW1eFx z9IFc(TQqK{RX@;mXSD*uTD<6`FAsU=PWyp6Qkw#xTN2(f@LB&ND}1g0cJLp1laYg5 za(~&VL~$13pSrR$@W`D^3=Rj#{QX68{>a-wISD#SIxLW5Q9_0TX>SS~P}tGlO~BG& z*{;(!^rH(u9$qFUi;OgEN1_vcCVgnDQ$+#zSV%~f8Pd?nu!|k^Mmo5>W>Y{FOzX1? z|2&1^yT5yLVS;%CmcQQ@)xv?HjE-qj>~V93JPT8~l9N3N-z-B5FFI&ddPY;b`~z(0 zJat3c#?AhqogE)1Q4}){VjVhC=-wRytPL6p1q|@Il)rS6D+H z+#hKM{TpBd<)50B24?(3ZyO7ACvNn7<{i3 z`4yfvAwyD1O($;Pu+O4NY>BHId>OrLY&Y!~L=Jvz?dFIc4qcev*fcSx>$~=%gRk=N zH3JXL5pbglZPPfQ{kEY`aiO6Hm}q@~7r?d7pCmV`AoVdX=YZpx8p_|k+79mv;P>ZL zN$6;sa{(t8`1(Oi?7x7YF8rDQXTZ$|>=WPccz6gLz4$)5Y3uEu9b=U_aX4*kVaFJ4 zlNUWxZoP^4_^HC^=4OsVDDhMXyJLIpgVR#-O>2Ms!4GvtzZUUzY?iBQ7Jcj5!I~&` zVH8HUKJlqiWNDYR_3z7ip+C)+2arb^$SZpjI9UVmjn44%%Ub{N58qj1VlVcMaT0)h_mK5k zWZs?kZFkGyn-1gQU%+PDfe+1XH-rHC)OD2{nHT<$1%B5r+Tz!tC*~U?BoZ`0{I^01j13x5Bcvv4uJPnt4gNc(kp)=AW&qzb6KL2e?kG#^BMX z&ccVxB45Dmqoe$1u8mE^)U%NC?;rdoNnRIFj{fNra>sIQp+_wWF&CbgBv~)9JmVv4 zyAKLeB`)ys2DIZtsLpW`qVQ=?bIc*uBh~=s>fp!J>eA#UVzgs({5br;$W&^*F4F7o zY0p+(_!Z({X#MJI`t9LA<|d=HT*a5(OQE>pDeobHPV2zCiAm^<1&Jrr94sh@Rt2Ls zIg|BF+DvcOJSH_Af_@e(c^n)S6H>9ul8c5{{^$V*JtK&L>EM*53U;zLbpfCZz_Ic> zz-!>*0r^whIN(edqzgH+*y04byu`{SvcBn%8t$Oj}jUhl^cah*bv^VAeGTWz2fgE#^qhmIJ z@WJDO%qMR3mcL8+A&Uz2KItr9-X{l+7vgR@49U@0y>L^8Fp}`w*4r*(LD@sDa+1T# z7+~B#b_Q;}F&L+CT_6!)P|V!>D%atU2atTs#s{yy9u~G*2eJC2S0@m zJ=`Q=_iumir%bD>4N3C-IcJ==6oyu~ZB$YvtFJsXYl^mo{>B$>c&e{9xJl&48MKK& z-i_Ieu_O*k{YvD{7v#qqF8~_=aT`0i3E&A>eJHP5iS4XeC6!h`womE-W~D=5@pb zY!WlfZmdk9X^R{_OOzksfZmP{fWEE{`oFrwC%1hAtAEo199yGJ`j*svuH*Q?$f0(} zFE-$4ETwWeW%%}=UE(WWja1^W!(%4sALEyC9CNAZU}egr|ImlFepw!6dpE=%cNmmyKv(+EcROx{SP1Q7pg=(m8%cOzr#{K zmxa*!Q=l7{i9_xh5_%$rm}}FHfO$GQ+$0T3DKvX z#F($K@#Od#9-Xq5O;|q_(O0Ok;#GV4D~#;Kw&oZ!o6c^CqsV zzw1i+J3PqH4gg-qTM`zilOspWxWVufkl^=|E_EY6Jgf&GX{(=LIR4bKW@bLOt}NwA z*i=T}h@G6;Q7UxoGDavX9UbVw9s83u!7V%TB(&6)nBY5aD*N8d8rQtASIIyPSzLV! zixt${qHQygF<(*$jdnrnryNO-UJje@8Urj*hzD94kFRZ*5d^MJhqizVR8=J{vTleH?J1R4=^>Xb{LUzH{9r>mL zHulrSKKQXOuxa83BRBT$2{q9)g{s&~4GqLf{UC0{JG#*CC)G2*Rt|S~D0S6N-%wxO zXr#SiU`>=4g9=pF^&9kCPYMS&6n>hIA8F@)0tukO_Q$s?U-h=+pLb3a(3tCt3qX2Z z@luZE9C&qXc^F>pAekq`PQQ}u`%k9vvoQwX-Gts9>+k@0h0ptUHTzJ}B**oMcI|p3 zYWdIw+p@v~E{XBey@qvW=;p1gZ}9a&#Q3^_TOncFV(H)jy$bKHZ510`$Q-)N2Tl>b zRKl@{misPL>A(`O|0ZDb-wwXdO$Gr4NtstFn`aoMBbvW>^4K|EdG=UItWGKh)@8e^}JhjTF$^!w-!^MJCj2k}s5{Hch^O(Ul5*_a>th0IDg< znSkpM9DE1Xk0OKHg|M{7q>|0V+J}^mnt(NP7f1RnRs1g&0M||I*q?;Y_Cvs!kB`W% zH2NF=#twGm^hA6&8uHb>f6PVFF5F?S&6I6R#|Cxv!GN`q1Nf*Ita|hVY-w9O{J!z8 zKj-<=Px~agUquimlXListPXGhI$nRwyi#H~Hx|$f+4!EMbHwhZI zUcI3wD>k*1kzfo;4-#K`L({{upnPHZ|L`YdX5JvEE*L0;Cu6*N5wARd-{Rk`1bTB* z_CkGMSQ+5Mx&j?%dlLaZQ4r7AKwy6j44Q3$Z)B^mImOqOERk`Yrk&FUZ!*?r#xsFW znf~Oa5$~lxfU09RNh@!=Qr^CK*8(u~9b*rj6)7(df=HB&F=IdS)pK=gJQwseMuqM_ zv4j7E9@YYAW$GWXBUOLhk0+F@D+exqcCM5PROR?^^3h?tEP#==G0?d0kvVlZ3yPjv zV06O^-f@WxeVDv+WXDVUsd`7Qm?Y*{^&b6XWf=L6-_u^%a_QT4?3rTuv9e=I%`;XY z>)#)ztz*ctsbj)qTgW^1*+&_du9=bPS2h`wf3W?m%kaAIL=GC4?aKnR+H+h`*>+VT zpipbjA9!`Obn6SN8{gH+m>N0TMVrS5&SQJi?zv%jc0D1c$A@I#dt;fKjL@a1uI(j( z)6U3ky?qhBZ5uwpXEE_(-A%4kMKxVL=!36gZO1bz%2&Fqw0Q|a%Uo*>fSD{8^`JK# zGOh1$_a&&ax&%L=sG8;}^<6k+uB7n)e%Gwkv-y$wUx)8{lhKq{3Y#;GZvAVS!I=D+ zjJa6nkG*}`HIttk4F?*7A9}5WDzE^2RZ# zUzG|SKj1@3c}tdYePQK+wF6xVY>}eN4QSgII_=>w+#5S&hy!_I(gs$3WJoT5;3m}y zd}g&daS?g+g6m<#r=1~9Yvi^B4w<4A$47t72>CU#kZS#{{*6OzRaf=VUU(S$BN$jd z;PAo+LjGq~g(6Y0=SROI`YfQ{j-f3<~IkWSo#YkS$;dUK#? zz(ZyH#e3Hn)*A$d=j8>^O>98X&TU5>h4$5R}c1foU3Wp1$CLQ8UE1;4?j=s|FfV?*}#GFl^?*4 zw)&O^u{>8lPpkXOZSf(8sR~4rq@>kje`O)D#vl)lJ_e0{YlAXKimjt(+X_G9VGk!n z1fE*e+yN9!vCdFvLRQ||+`a*Y9g_Md0hU>(cC8xARau@jN51VjZ2}f&Ju(#&R>m=s zGO^jQ2gr&Y{2*6vaq#M2F@iQ^Ss#GmLq27&Ym+&)Pooz+B&U9L62KA4|3|eFWC;pO=MkL;LjDm>K}2U zJ>*|g=*D8=lQ-?$UpXV4a&&vcF*Y4ri7S5gfnRNs3a1c=tYeJzratyfIeD|m2fN5J zeuA#H4H}f?@@qNx`tq(Vw4o0Nc8xcFGODq!!4)q_JfNNEslBH56DEYTWWx| z9828`3Mq_k^^ZB|=G9UaZjBd~Je!7qi+*%1hV*fnT{e@JLMR2cQ8CB+@KaJJ7rM0O6xNcc%in zd9Ce9T}bcK(N7pVQIo3}by%n`P*zW?X=lp&X$*W!bnOsRq*pfi@&MWbZ4LDGZ~F)z zck_}@d{y`{Fn@ra7YF49>e~)#eHUj*nnYor?t&s=-zOeP+%)o?OWMI=eB!?1cAHDR{%TeM#AV7s4a&$+V9Pk88j72_4DHOZyu`?XCVt zq~izM)Rd%9KxT@9wk~G%i5VNf;@!vwSwAN}p)rp9zH{i(e3wUvSW6>MEqto6oGf~V ztd2b>qQ83E{z{i|*BbhR!-1>;Rgrk5;Q#615V82}A72PGcK$+I+M&%lH+se=UPW8x zdb5@n5C6^^^r3&p1t8b75exd0_8`|!X4=Z)E!7dArdl8RM;b=w;oe{brA^u~zWE6o zV>uM$_{6J+m_Pb=9q{uc7=V6r?4XO(xx9LS;=x%6mRzaG(GN+(Q`*hHLfdrb6wq-n z@{>O5>JoEuMCpSA=$#zT7K*bNKv)HWKCsRsL&7fU(F-?xd{yU-nQ@YOc`r1czlIq% z?7vBj+lA^HZMhg*Ug7^(15)VxOmdGeANV~i77sT%|0%EQaoT3T8rQZ>oq@)@`=Fnc z9^B+D3awA;^^dvGGX*rpA@t?-D~yR(`T9`JuVjyH_gzcX2akF;&x^U`-)KcoLF=v+ z?rE`u4*1c}S^^F_YaMHbQpYc^#-m>keSGFc5&112T+6~|rk@LOqiN~@^2-aXFN}Zu zpfBjLtsj?B8nM_y*SCV^}X}SYZ7Z zi+`e<-#UFr{%e58b}*M7U7M-LGPIX|2wV!-`^dS__LU{kwzm#!{@cNKy~*I3ac15C zPcHqIS*Y5Hqz*6>n=g}{0W}lZ2|aaa-h?Q_5=0`%)kRKc??U7PhTgH&AsJv`AlG*X ziIcU1We3d40gF5IHb4!4 zESqN0R~|y3_|Xx$vrvxg@*(IeI+h3O`cXa2D|94`U3pDb+0;jNHZS*4zrHiv3dYmY$lzXPa%9SW6HK^lKi7v zg<~3c-G&!MYxQol)MvBL{AJFz9c1M&o|Ayuwio~pPh)~F{VsF)_U0M7@~A-8VrkNo zRwq7IXIV{4OJQ+b7hjJHyNT=}yz9lb@dtT0h*0OIfd1$hm875Q(}$GsZ*b(^Fr__u zv1Y}$9l%(|nU-4ofSoh=+OJ~3RNwa?Qe4!JP3-Ss=5Fe|dAN`boxk7NgFUYqqj?v? zzM1so=K;s2_{I3Z28{DOne*5x;*72!+p=Uh;+IPD_ z*GKq_JrA$u@M4UnkAX^8CqUm4UkSR{zLB1bXl)M+->4Jds-HK#@URA`4IRA_a|vp1 zXpJN3=t<7|(aiy!Pl6FwWAKf2*R})dA3)x$baL0P^sP6^>@Oi1x8vK`T_1QUgMT50 zhdO%`heC9fv3NI$GoozY6oy7BuQ>)Px&NyNEd z8II=YLliy4hw;If!&YxHW_^vZ&V%|1zqZG1;W4`77g!&S|Ez`E-0i30Rv9@m_!OJL zZ@kKz3`joGxje={V3=OO)|(5ff7h?gSMS&Se;>ZXO-6(JS!RN<5V8bhQYQZ)h>wm- z{aq+c45SQF7IRX+BGm&GbT?d6?aakDW%c_;|L7dNU64z2h6aO?qL;gHN$$XAP``t> zkX(CP3oixit`F8lEZZr=?|W^Q`Y9U_kImqifW$%i2&~^LzXW(To=4yE!U9V4Oprm+ zAIdV>?3*cn(E*gN2LSs-JaIrr>C3l3nLqO9?{D0k%Lv67)88&o(MQ{`-9u`h==}Zf z{g3PCra@QMXDx#$UYeILFg%!^{41bm`v%zYgU`gv!&p*%NDhS%h7P`M`rppZ{1oxZa&W+hK9!jtLYh=u}ECOoiRBMwGExm zvX4wXhZa~h){{h+R(VUleB);@-2C*bnW;nv?WIpX{w4#v5RVO9XoVQ@g#P?PFk>Jo za0&(KZ6{*_>iRaTn}-l?)UnN>TzcO7!wuB?Riz8sJ>#hD(qExART2P;?>mkqjRdeX z`<^^@q4`Nf;uHq?=p%Rl?Q&?qcG@otAJDna!-f8WS#4cB8<{|O8jg+G*r9H%01mZhT^T$)_C*RCNBCA(0b=Ql z@y>(!noru_S=KQJT>p}%U4Gp)NuNfqtSMS6>VS5Vx))$`d`?nu^^7j!=uKFFILd1~ z;JxZs=eTRmuf#c*c;P3n(e2IdKggLMyG~Ray8h(f8^H>$w0_Mfb?lTVzT<58BtR!V zmA7xX(M)Q2Zq}p6_K;Z9kl{7@RH;UID39HNU~l|}CSOw7i(8$$&(XL0!xPM-{%A+P zx(Min?sd!n$h82z>!Lb|i9QaD{R7H1sblp7s8c&J80X2bfp4tSj7NC=`mZ_^zjmfx zZ3X&!Z!qw&ZJ8T?eW)Gk(1?k&$Xs7gRKKt0D`Qems+w@)9v-q9epYSc*|9|28-ejae?xK`Z7pE*B>A*kJsj2@r zI6JSK(Mhw|``^5i$oDH!`{@PpE?V+;^3*2!CgA}#rcN24Zy0cNf*GAL{n4y-%E+l7 z+j%+AlN`R#u#bM)fjy-V>}6^~QRP~=3tj2;dun+*QKU1FYR`>CTImWT)sKw>y1=z= zMJ=P#S^yneL)GZHSP)Hb?k zAMM=5eF3{3LV~m1I)P9Id-yp(+1BG9EgMG%S_{up>b0d02+B6Z$1^s4^43FD{kXoU zQQNIwSl!c3;`E1odUt)KhCSxQpT-^}#>m=+iFlP6enqQgY-|4;Agh-zytFZKr!6P8 z4^TG_*Vq7s!2w^)s-Hqw9xj14deafgsx^xYKAam!P+kk_3=LmgBhu%7mFC%qI$!s| z)fkQ^XwXjE(!;@$_Fx35b`D7xH}TjPj2jo%q~MU#r|9B9%uo7a#W`^1Vs&7@of^2;yF znWS2wF{=$Ji?Pp$4!qb8M}<@8t2Ew>jK9eHU;t|BnAwB@ z^4j>4pby9^;3xCG2PrWb_Y26Zym4j@WRGI(gR6WQKlDe(`8j1kI(nd0hB7*i-zXTI z`>k=S45R}=xL+hOk9yNhobD58=-@VHpHOYu4xNMJ;lq!NV}D)APb|RC;dNrgy4;_! zuDplU9Zx7$kA=#qFJ+K6vbOO9`X<&Q{m4sdcs9YixQ@q_Po|ybzXIgt-7-=m-?vE^ zaUMVrSA01S+EVU#r{6o??;aKVp#!Mcb*VRM>61DqAb0!`+V(B)71Uy{-AHb7d@$$f zr-YbKoA3d_Z4`c?;9j)N3tr~b{ri*K7e_~cI&I-^#q4W7^`H&-P?m_JyKWM zE;x6lj?QfZ`3ux{{XQh~TvmUIrFSgk+Bzk2aLP=3D&-ZPUQsegVECI@f9TJaKfijl z`ELuq{Y}RI*WQ^Z$Z;b{R^95BH1q%8x+AsvSbJt}2t;00MHNZyY*;1&fWt31jzDB) zkp%ZtCb$f2f}FYtO8+Kv&@&JWb`GkOYXUKe)&mBcrw5;#g5+i*^nqj@Fahn88_gLA zPY4FNbvGEd6Amz0_+7p~Wt1=3{1|9_kKg#|-+szWCaQ{}qX9MXrFrD+s|f)`>oa{C z>|Q5iu=*$*6LoyyaOF4bKcna*#?Rn9~3H`Yyvt|T~tTk{FAV37G=i)=> zaoCQYrFshPr|0Bx$Mi#yPBoLmNU*z$3059V%8^{<| zuepPxRPYs9eAC;Xgev|1kKg?O1Wyis84LFbKY?VZ7v96Ed+utVu_x$7|2B`!$Ah1A zq12}1cju{zTrHc!8wwcrv zhEIq6%@47bXm#KdeJq%#{pXlHSH+((lRldgZ*7iDd}7Xwe|qix3tzeMH8p(0UIBM) zu?{>gD(4=^eJ63O50>8&H0!~($3FG}?V?yOe7u0Yop{9O8QV?Pz#N_dZ4#)dv5_Vu6Uj796n75InGUNej#JT&aQCR0yZuzUC+v`s1gPyEdj zJB|f?R@~EX)(Z16bJFn_EN&pvB9^GT$F5VT&Vwy>06JOgJY4jrvCIMXEb=uc#LMB{ zd*ufEq?qvV#X7W2AvRnp=?&mx?zy&0A0$^_DHAh4U`z~l#fgneu7k=!w~QH(ImV$n z8V|1UX1(SNl9pgE&m>SP6@7YRS1(x+t!*@rhbPsx6|)XhvTEVzKk;Ze$!nf*l|cKx zkwN+j2lh%(<`^Z{et7+4%#u#--oMxt=! zExYk{f!TO2Q%o7q&OgEEPyRY-;TnA`6gFu;NT`iP5_6d_{vD(ehXxjTR7*~>{hAt` zENu5nePZBk%bZ;3a}zXQTwgaHm-C4O@J1)R5t{u`4e7Zr}B^>et(p(}^x0k-__4=JZ}T~&JqNOAqOObi;(z4KhaU4*p9NA*h0E5{wuP5#>bW88aR8a8 z+&EEN-brYfPXVbH$VkL;q}oPn+L92d@4fl`o11jlaV|Cn)};5z2g!0kWK7^a4$WAF z2Y#!XGF;G)RCw)au7sBxSH}c@=?WAVxY`$&Nz56&JU{r9aUOO-=8^UY@zY-$un)ev z-^f8g7weBtE;|R{%RDWUxCcYdChb>co+N8 z%QzB(E|ygyUgY!{NNqk$QNoWL-uUEOIxU~roj>f55O3x5#QCbz&y2Zcr(H%}$M^07 zd!l_|e2wGEB=2!Y4bKkPW}8>*uVALOh39ohI8Ke>=qm+#50xhZ+FC6m_LNs3+k zS1WI5_9s5@aFM^6%h(twl0L^|>XvVV64I{Omq4E{s9M_WndB^z=1rE{EIp z-KvGydIT}3&HWjQ_42Bn7_koGpSgG>#seMjCjR}FCE)&(e-$nFAZf8Z2)yir-kl>z zS{i|IioWrm?N&F5PxAQ>I5Qqu1I*#XOtH6k6u_T*BkKv($fPY<%J(Q=YkSd9G5Y#5xYqs`bhDC#5y7! zZKw3e$!~yf{E$H~Q}zv6FFwKR4LV7Irj4?LJ`+`&ejgaTfGNYPc5==z9zw~Hko86@ zKIADI#JdpRUgeW77GoYFviYFSo~y8@ZqRAQrc_HA3-osm)U$Z!GGKGb22*6R9vD?4 z#Z~Qkd&6?0lIkoXe@g&|dwJdoi}~1AX0$JolJeLpQ{R-X82~EB?)Vamh*tlCQ3rr^xYD ze>v@k-?2|zP)Ss+6Z=&zSi2Z3&6~1)I6yU|&|@QW$n!`vZ_d-Ux+og`g$E|baBI6w zMay#*oXk1l6@Fi#)P`|^$m%-yu%$FPhXZLA3nbB-DO>MLy=W`O%E+{TNU*^#o|MW>)_U|po; z<0RUAO<%2BIpfB>^9MEZrE3-u_AlDJj<7t&6RYs-7}sr&A_-pl#JvE1_5#KlJB@d` z;ERPQ!y7+bSmhOa^UzoM!X7vDv~}(?CzHB1?Bpakfya(H2M-SD4W!L^=Hn1eOZgZp z^=pln(&o#uF&AWZxy3i-fE>Qsm@Vw)H zFX?AocxYLo14Mn`^ta@aVGmHg)?Rg*di2#$IW93ji1&;QRNsI$Ui83+zq>V|%QYXTVMF`PYyFKhKCEJ5&Ii84 z5+yuP74SLX>-d~|e?CY^UvCjwWQZlBh4G9XHjDZkUYC}?7O}uc9b%>p*?ftCTSRZ$ zE-zyNiH8g2+(4B4Pu4QfOknY;;*gS) zY)5TAESV<@g~47255?RAGIjgMOMJd5nT9?$nculy-W*k?iQG-Pa1&g=zn%8@6NY|$ z8JdU|Tqcal7;$py(HLLtxyvj{=)QT4e)n%AXzL$Yfwlw3Nr{;Ik5ZM0)#4$^wE4_$ zu_b5w<_+C;NqWJ{LOFd}GID+8tryG!eCtp<{P-3O-_U`3Ic|~{G}C7`4d#z;Xl!0) ziU7WqcI(5qFrOP_sXEHyu|G;Jd;S^HWYy8@zE~G@Nuxxpl@Fqu-1?a3^7l5b^{=V& z_ymw)uG3Z@sP|u4I{Z)taV{rN50z^^A@9F>6e}@%mb1>$Z5`CzBWz8(+agUYrDxmc|g&+>!LU1*r41t zLAveB^gH}y;mO{aZ%MNk=cc-Rp0(3>+HYh>ezXNcHf7oknIuXfm>B=e@cUA=QEG$tWn2LylGFumOn&OjW*_|h`G-UAHLux zyinrVcBTJ~o67!~w!i&AKeW!<*s*JNIz#}C)LKE$)mT;@p<)3WamCVW=l zKl{s`cZ!Q8?4jjGgRt4>e&bqTHc@Dc8ePI}aoWpsfbmX!#R8LyCnd*y(%~Z@D${1c zDJvZ^-v{64A!Bk+WTj4yb?}%Qn-h~+4l?{)37#IF@E~Im9#DQ@JLJ45Pil`S^Zzmc zdes+iCt)9JDGpIEr|ON9+w}Gv+3h!(0*(>_EY`*;O~^t=Cga>VR98WXsv_!g$8D@z z)>_20$K8jf=2Hg!wy6H&hr6YV^NI8RDU{np@7k!WTcwx!il6HE!93>yi$6xC&Npkc z71dG5+Vm-)Zatgtk%|4L_SdpY0lq5n>6wszaIl!zl~4K7g#KlQ|; z2j0As54-E|J0@e_8n_<1tV5|ejAZ88eB@w! zd^5z~`~*leA2TjUD!J@;?%5Y{Q1>VD(nX!U=WlEZV0>ZUWQ@CJ=^J|lSoGL0Z9MV7v?D> zc=^P>ev$b0&HCZ7dbOcRH0Ze>HjZHd6z#6~iILA)o8A+|7~bKZl(|#+#KyAduwYP` zv?pc%o$;t%={aMxSQaLBR_wy7^C9TD$5k%s@5{fO(!{9s!iJSJs=JpH~d$|TC z3-+;n#UH1(O+hf-vEXGw+VftpHCwv<|X*SEd7xG+JXL z6ST0kO=o>bAF`_@(ol?fJ$o$kBiv0ekkZ4hr-f`QEtU^gP9m{ovpi ze+t`IDpIFE*oZIgi*=0L_!Fdp?HoorUdIbrZVKkM&%xqzPF)9c@%dXh+3LXy?LM?> z4E(UC)L8Y#Z5>LU7t-M|)cmQnJ$8k4k74tv{a_iLUgiBeFZ7L!QRe2zpe}RBxyK_1 zBvsEk&tB{31Fg+Kj;A? zzjbF^_#J#(tx&+trBtZhwg8tV9#-m-5}DYMVJ&6uAO3sZDzUzOaGkjVR_?1%{iAOs zUW$nuZ2P!R0*@bj6E|S*&=>a5RqnWZPfAnlBR?r))3NBB9(hYVg4%gIjV^1J#Ho%C z@q;!$*PE8P==+*%mUdudHJ7|^X&zfOFUeu!K;(7`puYOfItbZl8C{-#YuwnAC5eBe z;p1BgK2#v)eA{3-j{|dh#=|K(5iE`M0NA^|f2&Nw2baauF~}=Oo-3o*STuH|(O{n7 z=%xET_i$5Hrx3f5kB(wwl`YNi?DI@Ij)#B(Z3o7TdHR4s?z0)mW-!vYMFyJ3OFWc$ zC}aKd5K7!UC+$c5sZ|R*w{0c*+=r_6-xAXg(7ADl$G*>x)-!e5B(`jBIwC`!DoF9x zN9H)Ply%v@(EywHH^aAk$e18uy2_&>Z z%jC;01bA0{a%d`hax(cXl`C!WQ9hV2$iyC9)X80qF8|T^PyK3BH&ju{z3F1dlLY}~ z(`Ja@{Vkn>n(SLhDwDF9stY?lENMf_?^VwS+dbBxn-l!L+34k-U>BX{nre#n4fLj- zmeH@oO`4zH@NEiTTiX{cX0aQH!)u7vKH0~Pt@KqhS2lre)cXOb?d8p;^=Na>Ph9+I zxB8BRKgBeEwG3QXH6ykXOW;_E=03}3+VcBX8*|;5Zng^CPwUB?Ko@1^k~dlA81rfg zBhEp1;)CqiCD!Qh4QBdmU5M^o5P`NN_@+-=ij@F69J;(I7K<;Nd>_;r>%{UL7gAk` zcBQ=2J6#x0kA?NCKB@iN0Z-?8^aV#uX~T!~5s>@Ab=E~<1%33mocZsypfZSmnbYl0 z;h!vMZUg)Y^XPPe3wq`Tu&%+d8%S8~eb-kLPSmaZkfM};NH3vD5dkUENkkMxq@(nr zp$mlG2?#pva_nzfvdJYj&V-MwnwnDZtYe`Rf zPs2k#4gh#^oL!O$5iJw1Bk`LHM#ZMo!0A}C?Xhm4+-7zI1kn>Y%|_q_5(*?RGkX%u znl`C64=QI5E#4wVs_y!0XA3N&zWr+4J6FE2F)bxg6v?!WI*C?>Vieq(}aAVAuQ__A0JFu zT%)Q>;KI?PClBO%t!c{|UP1OpkMyV;bZW)u=XLs4EZ2HGbrJ z`eXzrnHCqVQZMv0}a9o&9^S#N43zo#bD0PbfL=CaUOMUfpT9XUq4Q zIbS2Wj#gg@J69m)T58m)9#UaTDfK}^}IpK?UWDHQMuatyGm3*-O;5?qIb>-4}etZ=SP%; zE-RPoD?AMnvJ0&Iu;&=n!|K6dm5wt7iky{V!eB^IRd6D&fBCasc!^@+i)8j z9XS{sgC5!Xj=;4&#+2QVWTeZ~E92ATBAhvDaD+v#HUirn;Rwjh4w?$hzEgg#FqEOb z0ltom&*$Uag!|*ZVMyI%a^L+$|3SQA$|&M^d_23WR((dng^TqIR^_!_iF*_sfcvy? z27FtuF7T3LQO%XTThAlhZ6>wZb1sS}Fq3uA$ig)nI}c2+lVD|cxgaI~t(=hHZTBME z^^2{L=5iT$Wgy7Fmf&b5qt<-N^fD|)cPSJ3xd8y*5^%8w;4C~--Bs*u)_osNrO(tm zo{gvZ^d3X{AB0sfHbpzOR#4_rLB%Fxu(9yO^N~iyjfZ7GVt?TVbB&{AdAhd3Rq`jV z#Gl>p(GlzY%}zS5>S+?4=J*yQU9PIn#5=yI*PHTB51!76BK=+mDYx3ztycFyakObI zhKoxS(U=k9FJMU7ODm+f$6Was%=k$hvO5%7mT)(`cHuO{gQI>E8F`Pj^3@pqFH78b1Oa_&{9e6zbR5=3(5I&3vC9N*Wz}X%U0a8x%@uO`>rZPD@~GQB zgowgN{uOlw-1;i~ZdPgE09^iY$={lDB43g7001kIZRpMrjK2JuQ@_o42X`-jbh}1G zK_)ZYWVe(P^zUyvBB?EE92V*T6%A)Jt!}cSEq?r_D(_l zByn*h@t6_BL821dsd@uJ`2+3zl5s}HYqz~GiO6)EL_lscw|!9ot7pGZ!0}L5jq`d$ zXWh~GQg>Ed7y_OjK0TtO+gFFWJ_d;Ag=|H}jvQ;;dBbAK!s+yi%VJ}aUC|jq(E1>Q z>NoCfPOI!4OS`RXTUX^jB*;p}PQy-1h#jPlN&RZxJ0#}$__$Cxi0BA5qPp6>_eS0Sk(1#)2}x)Qpp3|oz7MN@P?9ERWXv+ThJ0~ z-xN*O%l6_DE3Ke0*e7Mhb@y#Yx^#k;tC+m>QE0o;agbQDE}<#D#r37hiW+L$h?eKl zsPT41VHJ#b-F^9mxu2+F^(N!X&9&yjxmw4}>{7_dyN1pah76LPSo)uca8a@{2`?xF zXz}V`cQAQORc-JzQH8qtaBzr<^~{9pw7J*2!h5N@ef8DKTH{^L4|IV{wMybk_OZ%% zPU3Nqqm|Xh+a(Ia&?OGuarGd!DPcUDJX=b_m_mwiSWs*pK*62E?_$QNLgd;W*wyaqlA zxR|SOeO=JDS`lFs3!8){{U#kvYmvo!xB8!tB;TjnxC74orF}0@_o~Y>NXWcH;M8`j zM)tsF&lcdOV;v%-b5*+balOi;UkelM;rT$Kz1B<5{?V+6B*m&Gy5c0SjU~#;JE)Xq z?k1tJ4Tx3>~$WVtYj$sLTFnC#)UH$K}b(3Bou_=Le5aIc$nMIpBx#N)tpxqho=jB z6G=KN&B%ZuSNs=~p3JjO^?pIktPXct{`Kdk?EhMSbGtVY?Zy~@$qjH_=V?8-uTw_a<-!Xk!c zl`mW}S*Yuz@Y<-USk%&1Dr7w0QbbS1bsGLY?oN6R<&5s7!Wgw(A+3EOo(u<)xNdvpD}R=-^7^X=fs?6S^B>Q?IFI7LCeWEe}4&$gby#YLsN z?rH&FB)W(NmQdx*ADOCwm+%b*RJ}^$6L4jxKOc~HnaXTs@6WPX=<&tor2X=0_pr~_ zdW>mfnnyzrm!KcvoWxn)Kt}gx5Equ8qn{41q*EZ%s~V67ey}(-0 zfDJxRegb(HHzcj$)lSeCsSR=QR~0;ACF@dU*8XPNv4L-`hfmrqA*u^2zOa)G{I4BC zq#)*A2(EQ`CpNn8xUTP!Q^9=#5eZrshqzSqylf)+JRba_qsXf#U*3H;nvu zG{N7t`*{vu1}dz($e&Thk#hUT)@4i#llGvlucbPZWV~ho-^Vr^oM&gcVTOAFCo1e$ zTO5Ms{m0x+MFV&SF`TaDwNy;04#O%b8;z4zx^Jx$~zD zNta|yqgax#8q;<;*B{sM@1A1EN|?t~Lg)lw0RL`=m*vB5(=QsZpP}iOae1Zt->e(X z;*MN^k~#M8vFNZy*+@vZ8=JzFUHq56$RE!O(Dtiytu(!gSBjN%RSkY0hYDouITY@z z|D8T6zhhg~%UwqHwCP+gGEL)N-rCgwJ&{e>!5jPuRMAQL0G!k}U7hEgEw-CXE8}3( z_>?(eZozk34bIazLGG75Z?%4olqpDld!IIUvgx9NUC-wBdi7};+vU+7f;hk0Rd@R! zT!tPJDa;DV${sQaIdh-c85$^K2U$3ST>_ugiBp*7`nj_>ppH`Wy}e7J!N*kJo7ZFT zLR=f_A)4&s(+_DYMO#de8 zxO)|C&q|n1PSl|C2YC)>5SBU7O ze(e>>#lX%{|5>|!{K9Jf_}V7J%rLQ*%a1xG9Xe!o$nKg%v6Ai6!mO{uv3%-xId3~< z+9RaUUlNug!Q5i>&L0;|gBxj~MjY7#Johr~xh_P>Ma|SO(fhS1Z)H95HLOEZjIA^FKl z`1j}ZB{u-Med=P?Z{IkvMJ@*KdqP3JGu$djb*X@Nb65=<$i-{vPW+X8v(wnvI>?Cp zQd=6gP%I^DL`#G4tYmQLXr+= z;l4IS+|pJSBF%ED5-vIn=#V>=B^;q$c&7J(a zQ^DBst!F`<+PJ15PT)XsSfJ0}-4`ffoma{4|00f&+dB&YVhSS2wl4!nh>4!*qu~x2 zK}R4UXJK=cK$yBrE0JG@@Iz3RKK>!%JD;Fc#yo~G>&XkFb35D*GPYod7CPMakE(|I z^?4o2ONub`d8RsEO9!N}cDO=Jz_O@c_~RJ8$08>G+1k6NY;9pNR=AH-a*#ytWUUeB zB7O*zc0MP&$$3}Oc?UVj#|>R%-bzsf`V~43x!jE5<|C|UYGo8Ey^(H;jc)|hZjOT{ zXzb6N1TX+jHq?EvcRypFy>?h5p>G;>F%pa^Mb5ouKmA+*p*{ISySjF{0ljrzplz~E zyc!|;y{_oXIiC6O`k{__C346Z!dTp0hwNDW1gI}CgoWn9%(_*O@LU(fO-MO6?FX?| zo?+l9xev&2qq{uILm`Xc0KL)&zf;hB1pFA7^Qjn$;{_-rS-2OZT_NPXEMW;vr&^yVTxcg>G@JRNOq4D zCJB%tj=huj>cc>@WcMJJLas*pD`Fd~^bawN#Je@^M{ z#cG&LD6r_d7E)jsKr_$~FY#o1wtsCo3Qxru?m?zL5sT*gT~0EIo`Cr+gU5^cD>3kE z^zQM~SFg-jnqq+x3h$AvyqE!T;yT5>!=nFu=4i$3>4J)@x|RZaVzYzwPa4!g%Vt;4 zuQxaf0^TR(CtPE)xx&_p!i^vKV_3buS($)?7)p=b=l9H3;#$vzVLYpTN6&yku7!IY z{{_WKtS@fX-{U-|G6Z9Cv_i((Im%1lCn&CzKawuqVOyLEj~^%VvPH!YA21BUcOI6# zd6QNvY(Vz5)vNmu7f;wyboTrnL4`2;E7{xRjq60bGjSI3cU@Dd!s+(T3IYW-U=?$v znz}W+vH0I3BK^s{>7K0kL=R;Le)2*4GuwS&Kz4{S|6Qv)cc@f+(bAM_uVJ86z8U9R z!EIa554c(QHoFz~BPdkm!*}`$W%?tlW>n)fdaVQLSiM?#KeUz;jjp3;IG>V!OBei1 zej*n%mK8nNwy&@N8s}!J)Y~iuX7;-3C42kv{^V8A`mPT9>tDQZ{T1<&cmy>2jsZYr`nt4DSPopPAs>&i$>bp!P=YFT9UF zMf=rQ>Go5&bZa=e==Y1>ncsSBn(j=vxH7P!dHu6jX)W?D5O?w?nxwj-GrRTAC|XMj6i=Kf zxhFMB<)@Hd$@5jp8C?R1O~!X)HPZ2548tLR&&&#c4S_1pku(+kz-g;jqYn9Eox`hg zjIU;6_e%|x+PPW+N~|bG=P8dO<};1g06i5}Z8>pUHO!TpgDL7eZs6)$uABizwWqB0 zt8nG3z3(%tB>A1jFbJrkjvg1v`FR_#{*ub$r^Go-SQ*xQ~D6;t; z{853wzTBi>S~P&6-yFiQOVB46*kL(&Dq}6mV9MAze!U@HXXXp-ZhOQS;1x8;WMu0icxd0A>!~7z zd(Y>LtAq`*Q=0YOWs$&O48s%~JfZh%N5Ba!7=#u)(H_;e1KYHQ&7P+C(feNUOjDJ_ z$9P~pt$(}r@W~`aAH+?9!(SG8tYkHOEav7i5|5TsQ3ZI924@iX0>ARx zm;D0fDjvXl%MuCg-059oYfIF;7cU2J2gkqs4tSsu+@b={Ve z5&opJ%|tPz<_yS}W2bLDkg{A|K&ko8hL1Xh*FRPlstbWzy?i0Lo4z#=5((Y0-foW{ z(BOt39$?3|FWO@O{`EO5F|wz;kgvbDL8K1mb9oebSP1BR{=@wMj*J}5tG>DZtX{01 zowA+lrb;*zViM8|0pHCMkFcVDepF)8cSIM&JoWVPuVlMpsrDHmRu0j-2zTqwkH~g@ zZt5TF_P6Zm+UXxN{aKSX5iM3>NlVfSQS*Ld?=yoQeuawN`-R`7s+mTpVzn+1eEW8dJXr?&&={et@fBsZnNO z1pnTL{=OEAjMu+>Q=S)3ayJSn0UwUb&4-TZ;9mwRIFt0^s=w6rdA&IyBLyf3et-kp563g zVCM+8QmbVCu_!A()P2-p|J{$~bd+10J*awIz-FnKi!ET#Mc$z+@40!9pY6f(0Ul=W zv}5@5{;~Z={dcg8a~X@n?-0`SVG&FUEIiRY!78FAA+A?gSWWph{sz%A<_;JHJv@TL zU#>iaLR6`1NdT_D^Q42zLRR6kJrq_itf|Ka{8kk6tL^vr!j<-6x^ET(i=EA2zU8`% z{Rh+LgYioEEb#O3mQ~r=s*$Svd(1ubO(FtL7f~+-n_H&!F6Q0>=h6`BM)*USZFO4U z-N5+lEk{Wn8bWPc@Hc>1MH1HNN8reknyaz>N$iWMF4NXVV>^!}{!YR_#gRS$35?Nd zo-sP1R~Ecl1%Wa)V|xE|u)O)$TM5Y<3;^WSAG+g1*&B+alD}%72uqud-c1f!$wlG= z3}sgozjB%~;1v~XqN`z(Ghb{fN4`1#%&j;Acd0f7y{JXG=?nZA3_*29mth@L<0)u* z(rU6A;;y%%6Dn6ZfaUVJciRzoL98hRHlw?f*}FcWs@5~5kZVStUKY>TS@w~&62a-E z&&=h|EK2oJ%PpjLi`#$9c*)4;O{!E>;hpy%2V!*lRHm0-eCpG;wCF9KW^LwXzen7C zQu(@>T8*MO`xRd0{nHk@g*HW8Zc+OVAM~z^oTObFip}UHzJ8ga|-0& z*)h+)XQ6_vW&0q>10m-&*5p;5C-4=EkhQPk5)Q3Sigipw>1eoi2RY7|RQ_M*3nELx zDqTK%ZFbMZFUqNoz@X2TS8EDNy;SSb#D?unwWrj8Ty*y3_uyX1lT#L8zb9SVy$$#E z2eu(y()@NWRl>hY09d!qDHKDdEj4o{jlhqg*FL4_5heQrE>lNOMd=`Se6?x9948g- zzY0lV(t38;DbfoP;$IWOI=j#a`BJaeEJlrX%GTHU{%Dpu)4T?mt@C^K7E5TBr!rlR zgg5@{YmYt7(l_tBEl(AR9tBfmIjg@lB{E4VC9U_#vccQPB!~W>D1@0I_(C@W(~y*Q zc2O3BUh2omJGX^v&k<-cr@}Tr>OWZ(iH1&M6FU+)K9D!At`kUM_f8{W{dt=^9AC?y zc#<^bjr1SS6269~{arWTSM=zgwiLncNV=duJQO0HSP{=VLqv{U6aZE)>xokNE_#RY zvf^j)tP_clPZ&tI`RsI1aqQ6s7e08TtFO zYe&4cY~II*?(KrqX4>xMc{efumin89=Q6YGCFMqcOUP=EsN-Z}%n&Z{utoBX%ZwEj#JZw13% zGQ-p^P?n^F;{Uu59oiuQWrIQ4txdR0PdgZf^?Q|Aqfe?+vXdCMrOKhgt5O@}y7F-% zPg4rg2UnnE8bp|DTP<_y+E8VJw7(^ileSS2`Qq`@k*!1tiOt!C#liP%O> za}@P0Z@;z`oo?xpv|92|Qgn#$akLb1&*@{HfUZTGk91UoC{{T+LqtieY5SAK^q8q@ z%x^Ud7g5zxn$%P2rP|)Y@qn=rs>u`!N+CtdS&1yawffFzvaHpXLv{^`fw;+i!!$~;)*sCUZ`Z~ zmUyWVykfuwl8?pBdjPt!5ewToP ziA6zMNsP}UZ@P9+@nuajmH=zDMp-o(?Xt4tl5M8M0^c0g0WMx%z9D^-KY8<^5Rh*Th*=$7Z+n}N<3o(O@F;$q@80Id9x;nTF~m}me9 zi*35#-yjDTJWjyPpKYl>yd%G9efQWe;4y0uwol;~jM!yYbJ{bV=wrq$q2)C1uFD`G zuJciQspQe${)|VK2?Y+8vvnsaA5?$3yswH1uVoy&nR^r%!CeHn%%ZG4zXVWj3hA^>(e6MR5bHh!t9Dnw`I#oE7FL2&m8!qzr*Bn7JR2jfpm~f0|$;Nbo9wJ70=?r}+CVPKD zDY^ONsuEmu4o-d+KrO*wLUphl130+82a0E6J8X#MnzaG>iPbyhqJ@b4J-HHMM|G}) zwm1ACQvwB@riLsGe@6n_S64HbIuDfw-GetAW1-wVg|-XF`~kkYhlt7A9*IE5^15)G zixoNAaaL^SYZ%Hr==-G60Q|!oPa(t9OvzAZ-X!IOU1rfxYN6hcvc#Q7xiH`OWQXEsvibI^Z{BU(YMgopKeO5Q~>J?ewwhKr%u zhl|tW@4x1|ceG(S6c$-&i)1I+}50(~7iukAcGp;_LbRx{*AfKu^nOV$r{}|w} zr|V$q^1Q4escjJr_J9%ZmYF!moGS|OzqyDT_yd8*iIJ83M>=N7{= zLUAG0k?`U{Ck81~QQMw6bWQvGhhJE9Bey}M#gYf2birn?OnUQ9-iaZF z+b?xUR`JQ6B}wD^r?ejk4fq8;?Go<4ozwpi+7&;E+xTkU^k;_I6tg)b&wi}Ub^Hm5 zOOUy>4vzQQq(t!C=y!Qwy2H-9M*dV8tpP>e1686L@#K6B$=%wN!Nb7$yh)1K87>P* zz9Fi&mGNFu871HksZQp{!Yqh%smPI~XO&9c_flV`R|-78D7 zHtGCHcU80dMs$wGN32Mtvr?Pbe}fzKpnEd`lh5|Kr993fnophkXbx%s5rc!hUjT2b z?#9@6j{3|~sA1QTOSB!TIq&%h6|c`l{TagaT!hp4WWT=Zh070Vwz1GdX1JE8@|2~A zc_}9T`Z9xcLq?*^*WvFt=F5hC{3jQmh4?q1Tuq`HEw;$(6l9wd=eYmA^Q!eO4}8|M zAtauUgtpe5n150=LP~8EWaF)s(TR#jq4cdkUe0EgwWCKO*%6)aK*F{``7T)r_}Tu# zx%)tzD!&6ha!2l;tae?8{U>`1OVZ@`fgJhXCV3BRPP`}+%pKX~>VTz3DbR zJ@IvP5l5eY@fD@4jZN|LfQ|4I;M~%wGG%84<86sgo9^|JZi=tuQucOYd2)i8)XtW^ z2>C<(+MJa&cYiYnK5-xO=F^_|8Qb2{yzCwr+ug&j^R8Q{whgk4^T3e)lxDOqDrd@D z<%oGRKXAj7S7S;fWe~*07%M&N^11Az*>3#B9H-Sk;$fA_cG@>>Ol_JkC-zdsFcxHG zRm7&#je}*UFZg&DvTThmcO5n0MCC43PK58dnw}R!KA@ z6b+y*3#Jdbwr{9D#1&ez!f~G1$%YG#rb$_2s}&h0_{QcCTLhEjNmK5uzyH^6%}`}ar-S>SFRni;#L-k*@~>JGOSe$a^iOjrfI7 zGHt3RUF<{$TR|-((3T0p;*&QZgmI+I(S;&Ze0Hd9}r5W5Fx5K!L{;sOk^*BtKa20qd|5_Ra!FKzMl%&;}P3wNq!N}aZFOD z0M)xpI)CHGFEG_<`tTRv+=1g#wNH;`f1&v<`#}mJI_c>i7Z|yZ{pBmZdPL6e0ft&G z-)Ws5JQ=9D@Yy1#R6Z5Fi<*kN%0wfW*hd~Q!p$`glNHN7^IC4%|4ArFoA1#MWyNk* z9(E&$t#R=+Ei6_ZiT?iy6IVe@5=R>>#{ zz=Q}v@e$(U!->}6p9nLhC+ALIVi!4~vl225ir0T!kfQ4it-B``N35dzCyg6_G=+Tq zWLl}6;0w8t_tdr?i9Bk&3)_vLnK1kDk*P9m=xI{P0P3#ScDAwCo}F&n!pS4I z&9WGS>2DKN`&DTXtlJ+4dIRWJcV^U4Jh?5Kr}bo3Z>$s{4i1&gkeDC(G1~&p&O>(l zuB3LoI}L{T`KKFAyMRR;&*1AY6?3@xQfi6co^qQ@T zqE1}wX8Wd#o^5CP3MO&turDQ4Q7D4;h9aAOHdB>JhZs)t9GRXBoG)2>A_6sEmbd|S z18OvbNovW6x`#8($O9=qwC}Mi(&{l+_M+yVc>?}CQVOzZvmd>${tqc52rlfRFy+b) zj8dE$n%;E6q-`Gi@#%}}QE9@dq~Hky$_FcD;|H$pf-p^%LeJV!IL`Ag<92D_WB>VJ z?@O~V%V4PzuDoc-z+b1aPt9XY!!_wM#)n?iXwo^RCB_29AGt^WDr5s0c#@1GGGuE`dj6U_lF^jkb%&X7`FNQcI8U}=y{PlKYbxAK$4$IgF!lI0y@ zPVQ&d0+xH=DlyrY?da}4;6qtjj>%%0I?=<9z61Etzal|D=k32Jar(&IeJydu|VV)LZ{$p8`Iw%wgOTigC{oLFmTlQN-jl}oN7PA9T z`xlU)Uu6kCdmqI;m_k|KL0 zho&(DA{FDn)>InP*|jfZU1@Jy({oiXE~}kWNQ@_>C`GU03H}9V3G(>OwuxKc(80%- z9Z#DL_N)UnmnRnj#fSd`GPIr_cJ`nIPa@FQL0w7kgCObq!0m~xfcor|v&r{oA3@-b zlVD^xjK%5?gRGxj2vR-Bzu+)B+Uz9zEl7(0z3H?4Teoi0X*^dkgk0@)GN`vI<|$e4 z)$fj|ur3+BUc82-`B$2KRHlM zrFZSS>e6<&OymwF%$W5rfgXW7XBR|P?WwGs4mI6BPcX>Vxg64p^PTZoaI#*b6&p+ZheE}%J*651x|{eW89WSjg}y2)x}E(R4daD zNCM;%fmO;A)$yqVYqo+J@|EQedcOH36kaS>NF90~?{!lI&&`4%V$G67Lt<6r$mc`P zwRRGYS}x_+L5CF7Pg4-t6veH>D7u|$<@fUb%|@2J=6(#D<%A?|yVpxn74L1U&inWD zu`mJ@-O_SJZ5DD{MElSi%cz|@D*{M4{AQ$r)o)E3R_}+Vz|>GgtBw*sa3}ExOK>$2 zdLBICd%u;x7m7~hJFK|CaD&#cmJqPTE6kIX2EN?p-5vWgf~Gm~dDG#O*4Lmaf*~s1 z>xfTI@$8{AT+nL1nAokmb*}}_a?Q#mc6X!Q_hJo`9Y@SR%5x3D+)}P>&;x&XwB&J> zFk{ka;0KKz7Jzchl=$8~6m6c~P(L0;vKxt;*B{-fH|hEXv$3^*2ea`9O~%InvNtJ$NZKA-M=!put6 ziu!*9>OghL!(s_#+X;2}UBY literal 0 HcmV?d00001 diff --git a/img/little_prince.png b/img/little_prince.png new file mode 100644 index 0000000000000000000000000000000000000000..0c12a2b947a41405723e538d3f6ce02fc93a2248 GIT binary patch literal 168034 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 WIt#LJJmwhYbk4+ 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 BT2cT2 literal 0 HcmV?d00001 diff --git a/img/material.png b/img/material.png new file mode 100644 index 0000000000000000000000000000000000000000..211fc45fd0ff1abeabdad45c13e0d4d9f21248ef GIT binary patch literal 1193810 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

        De*9+OJk;JZ)sYoDkWVL&Z(3bb}F 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
      1. %4Xgyd#3e0vUVM!|r{U}_hc;qg~y1dJ}Q0(?+ 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∈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%0AshO#4e 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

        nu3HK13< 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 v zTXLJEMZ&~-V0$WC%HKaQg&aN0#eP<_D=9C2)AWr8_=yF@K1JD$#O3}Sb=rZf&mUtZT9T!5>P1=NBy zfv!N+?&6=Cj&&9+(-iaxUNuWG`i~?*e*gie6SDx%vIv}g&UBnS1)&lGceX93VApaB zFa?p?=4%R-AeZ}0&nZI?C)gF_d)|XU+Ghpgf>-aCNa?#FAXZyqnFU)C011ttRRSO= zmjEe8zk6NsiS&hcrJOd z+=6b+uk^3bCqa;Eh+9L|N_OlYYEEniiIl|9_0qCC?WnO*{%R+ztAJkO=jqpFO0#^W zttA1LNs?=OSufkh`<0bx+Gk1|Y4RqKE%lNBstK`f%HDEo!*Bg;SAX+9`-pj!epxg* z%G5sOy}sLq_U(WEfBNSvq$}w>sR@vpfyejn0an_vy0IxD2GH!pQHKecXLZbO4G+h@ zrX9#)_uv4sHo(HZn|9EB5RdWE2>>7c55Rc9eTJ)bw{*%ke@%xzr&Gw$kNY4Q8M>6;)lh(X z0I-yS_PHYeUYCW3&Rqqt&CJY1=R}}HW|Y+}U$sBx?{2Mg(=`Cz!_sQ{k1#5_J$)@4 zVaP>iWx#s{)LcV8YF!$Dal@+a(N!h1XEa6uiU)u>4}Q~($uWDS{E+pF7q8x&*K({}WD6Y5#3S0IbSF$?J4*jZ&<-o(A7FVc)@V!WLuR41Aq(uRwWFrRHg zfb|zT?Cj8%4S<8|T$OrhLRN>koTXpYcdx#U`B`MPyOZ<5`Du@_HkcZwVba-Syz9@P zPe&ILIXkWG_)Y8`p7MK}`*eU8h|_nGzrabqsR1T8eSgNrX6diz+2`u?`8Fidb22(d zno}|cE{|fIwzrR|O)-j;PV2e((mSFrT*bu57~|$NM#jcsZ}$Y!tclzteHg+@A67<2 zgzFqI_J<_QCox4j`XLPujYAr{Jl~7?`Dya&rB9ECA?g?9roegkf_#T#b90scF+mmF z85jH(AjpWO9L&M)0uShvE7>R}R06bO#-eG9S`cmfwO$awOBme62Vf?MHS!W5ntmj> z6q}fq^GFE=%IeB}?q++x1jo~-lSr7NJMWSc%23W(a93Y#2YCWOi;sgcQ`6GoIi2_? zxUZEU(lVCvxXW*znljx1<8o%h;9%M1w%(SfXhMp1q0~_l<UJ=PyN3jqlttO~KjS*{HemkF{3@ed@vo3liJ9TQEk9{;zoei5 zc*bgKY>)y3syJ6uql;D2DkgQNVgE=%VSSP)6;dU+sntKH&ws~repib%NLe+#)8tL9 zidrVy&3X*ybuQ2b)FH{O^;ZLebSS6&*7xu8^@Af9+UN_m1fc?B0lSXbf*Ap`q(Z=` zS&65d3i8xC2+Rff?ue%*fadeN&$%luX!DxkMcvWP0mC(Sk$nm1GGFf1L`NX2PlZv0 zJfT~SNZIi(=TO)U)S?K$O-x`Ye(>H*i!|=ctsEM5Ya=fSI3+HcXbF@ptHa8?1e$&q z6qoZ5igv@{>45aJ8U@d;FugJ)3rX_#vQu8nha?4pVj+rWIry8hv|cV^%0)tBnbY)# zbky7k#I2{lDKqOOAa>W>X~r@LgvTkrva~)$6I4u*tiv5yvMux*@&2~}3H==0-PeD^ zJT(oI2ujw>)8A}UeG4>=vu&&f5>=KA`k0e6kB(Rr|*qVZP`$LJSRS25q zN)iCmRTlOm)AF9T0Ir9W&2lP#pZ7UQtL9#XKzN;tynM6VYRZ(cc}qg>$c&nhZN6*r zWIISeEsvzcma;df*+@+bFZ1-XeaZ>K^d+SBN6T0O99+l0{x|<7*48&-W_B*#e_V|k zWuN5p>$h(+1f&PBxl3+{)RD1qCbdeu|L~D{wi0V=8__VvKZ~^X>lbG|08%H0C&puh z`#XmRncp}-ZDDaCcLvuWAeVqN0lb=kF5r-+pg*`sL3(X(fjOXxnKprZh3B>NR@Q!3 zHE<0`8Q_^g`l00GhV<;0EO~L=(*&ZzWLi%UZojd=T_BoM%9&?mAOqvyD;qz1V4h$^ zM{7-9>Hu%|fwSLJjw67%WWYlN)yUK;b!0<7=K3)}lG!%~b;Q1*e~_2JPz^!v{3QF? zF~I)<(&XWKHc(#9lITT_yzc3S@e)=q4zj+HtaEFz?j_ig2s_UyC z(}%)itVc&jq64_sr|9#~KVv<=jz9Uu&tr3Y2k^ED`PhLJ^kQOip0>S+?d=XA^DOQ^ ze3%Z$hPSN@)?>WYjt`_e2r)A3s`CBf^Uq^rdmA7)4`{3=X?_0e^V}`}u<`*=?-?8{ z{N3aD>5qQ|h#rC~pQf)*1EMw}NTm-x`{c8D@y!c}$7KL>+!RneiDPVT73QWw{d*17o#H+)a5wVSB$a~0QycIB)1FMfBfuG ze0aZ>enuZZzK#b=_u>J0eEscj00@=nk>>}lFD^f(J*)BI!;91|<{2rC8l)H?j;!1v z9UUElPyjxW`_|SD#PvapLrjdE)$1M8=P#+#N&4QLL4G`BuMK(G+&+pOh?9}7t|0!J zH|e{e--*EyPUw@Dy~~(^P;Kp$C_auR{WCo1@0|Nvm zNQQ*cjz(q^C^FS&FqcoL?}W z0q6yEYrn4pxpRZ%kyNp6_m5Ezo#NYB|KejJ*t8xaw8>_cU3pt)TmhPID~M z6}Xq@Xd|z4k7X=vIYzl@8^Jd1s0ms*>q6~`^Ya{OArDs=>quWH1VJLDMh0S~hJ*Y4 zo*+L#yM8n}=0h4NmoG`5{xqI&UWf$?5al<&yK$1HS`f7)SNxvZ6UIpP4;n7bwjdFf zLG6lWUe-fmb!QHjc}X{RwjJNaTAuG=ebZ!$K4BV#$Uyjzp9Ihq zHc>DA*Mg)r>wA3JD}GSq!X4@Kr(nYHv!)mVW(!*#(VBWcU;G`z{GEEkUv0-Rai;+;hP2#U);)EY@3)DdCa$c%t}gz?kK=k0^Wlg7UTP&C~QP zQ95e#TM}C2WSjZj_BS839JZT%!LoRE$sxayZ4$?M`mO!*&g4m;eAjnuJ4vwVNL1Ct zJM6L+1};I~^XWJW*HiF|k{+JO8F&q{jwUx-FDxu}z7k9_st7#(WF z5$z#x89@dT3lF!eDjVchr`@k8ul^XCNnNlYxO1+ll!x6754R{E3lZrvr6V84PMd|E z`%eHG=e*k?>~;3@)^L;Y!I;z$khWwdW|9|J^Z{zB0A&^jE^7i(WBl8XFD{)~0O`$o zT%D;gxyUfM^#RYJ0gRB4W>1<7Q8g9EwJs1>Nz^=;&vQYpNz0ShuaJWguX4AO^4gzumM4k0 zw_s@60|*90hq2~ifb&Za0K(q^T%3ol;_(wtvHl3oxy%FJjQsU+WgXdErt`mNWIXn? z%WvbeFF#F9RIS#E z&8@B2*jkMr{pd@c*^j;5ZAcVLA7rjlWn7Mq1OA(k7l_BybgXWY?$~II^7s19>ojY! zMN^Jvv~gGSwu_7$)jL0pH{7GyT(^4!0jS2*H01cS6H_x&vAVSuYpb1@o@mjw)tH~3 zPg5Pk)Xqis7AGm;g^kQw}eTcLc4jZ-HM%!t@!dMU!=BRXKx##u^pfNw`a`&rVTec3~BIC#nrd3>D!u^jpw*&wT82f`a=v};eWK4~=GN8gy_adFi1>uIe?b1hHdipp0*hpQjSoZnhRwE{8#~tR8L5N|!2AP3y z@6Z<{*ctes*@iSg5{``;R6)+ndCd`IzL#3kiOB_s(M#mjhU6_#k4hXLUBwb)>ii6V zM{dThKdDG2LP=W}O75sUdKtNbpW7m08NAS()UD5(vVXd(2-M zro%OINkYfJa(cQB)W@Vh!+kxjN%k09f^O=aq)kF- z8SE?MnRWD>4EllFSCpNb@>kCjDgGrn`{uK@pLyFJ`hytmHqGgh^th61W+>?s2kKy5 zPE*gikxmASP~xOj{4)5(Hut+^lXPr*%adkg$R@QQ+?(cR{B~!aX1Ucw73X&AE>Tr0 z_WiwnaOA>}n*uQxe3xIrm(h+KqBa8Ul3+~W?lrli(UCkeLU1hT`?OvMxRsq^iN_Nr zOFM)<32F_}cAP7M-9l9Ok(VUHt}N&iNDDj#z8RL*GI5`agTEV1NWd*<7fid;>}Rh_ zZtiUD1@vZa*))SN4}AcNhQ>Q|&hDokl7s?wt(T@v5(&Y!WtE3YTy*Xgko&B~_S^@- zu=N#e3r_vPdRb3FxrD;}B|~2Kxsr2{iNM(3B_jH{DDNhn+8un!f%gf{)tU&9y>dsw z?%KvWtO711UYdTHFOL+talfUtO$E&E@Jq-Vq$QA+MC<`1otPvZ)=iRN+pC$d%*w@g zpB1!w=83X!XsemO?t9=AwzfV zsvm?zK@xW-!$LR;p_F(Eel45n3h3Phceh$uOJH-NRcN&{uB(O8RA+do8K;7H7T{B! z9ipsx5E$TF2X=Q_uK3r-wQPIZ$?JoBw@!y$cMa*&$W#9b)6|ba8*5D+)Gl~BHM4h6 zW1U0Y8^ zHe!utRi}Wj(tDkxnOn$5Ga#@sb%MNKoJ9k2qO-RLo*B0IhBSR%O^VTMbb`KM(b3FE zZO9pyc57o+3t-0?nuNE{y>$K$7uV|IEr{=fhBKctQPA^orp zV4R+LK)o(wb9XoWDyAmK;^nIs)I}%oqj>S+Yvfx?M`O=*&>ZHIPo5W>f9g3oF-spk zgCtDk!FBF-yYslW{Skn_7x(Tz0eotnaFPeS8I`I_-JWh^`?nE0hhkWtLr{uXp`d7#fpvc@dOq-vbdmhF` zEG$UkPND(vJU-b^jh1F@o<*VdVt#2hP0F^m4r2ds2Xc24QxlW)p|K2&Y(%w_ZU^~! z&PYASNDBfrG*pX|QwUkD!kD0Z5HllSEzHd^7U-iBQ@NsyjX{j*Z#CwTj^TI#zqaf6 z)J(iZ?t)@94+1>z7vKrh1Z+tL0FQ!ufn?dWSDPTB@I|RoQ$U{roY6c9*b+qMPP4O^ zT3GJqqae{VQwxEdY>Q$?uU-6Zf_c;Q`GRab|3K3go=eb2T8w8daGPZnpq5Ay%4RY2LOLAcy)oi($r@xfnne&+UGL)>Oh%0I^ zoV%32grN8hXr?OhQbV=PT(_8gQ*roiy(DwRJWM&O)xA%7^(|AbYN0K=8->iZ3EW+$ z`D0ElHT^LXkweO^EC|bxsDLvg z=hz7DU<(=qjFJ)onm|r-9YLso*d1&Eu=ltO+^g2|K7pcO&QrKe)4j1YL1GpWWIEYP z5=cIl0BH$MxM))emMwse-R39Ivl|HR-IW%E3#3fXI{31iODqKB{z-ZS2$oS31oQWM z+3_}g8i%(H(lQ&2xV@8=AzvjX)=$8@&VnpaDrQ~Q z#XJnH>SR|4f@VVkN%(Kdp!i4>zW~$pyP#2$cBc_C4dtB#BGW5oO`0MpfAiL~MoFl> zv5oa*ai2$7Sa!|a(y^L*{oS2>^HQeP(R3ts=A|?R>3)}_ST+x@GqkMQ6u(=xIqL5{ z)?cD!+04%}n}$=f>HG2-^XBnvT{U2m2-{DsiX@|)zFkO?#6fc?+eZ0V_hNb_z%BBVX_HAid_N&*Mj*Jd4A97HWXU*wkdkw>L_X zJ`)Fk`)dHtK)o49fQ%-6yN~{SvVTaqg2jC~4!5?W4>?TD&c%}l_u|Ee577ni-5{@{ zlj8&iO*dP&$4KUQYnf>=(3i#WO$z`TBAU);w=P ztwR+;Lms4eeL=sVEoh3|{a2e)tGn~V7`=c%PzOy)JWW`0A5T8-<2NHw<(V4D+Qn2& zf~P*av?mENZQ9kHU`<|ZLr>%Gb@!R{8Ml<>;{Nj0< zUg>=Qab*oazQlc(84C2X&p*#ya{VMcx1xJ`5L4rm07<|qvT^r+`Tk;T0w7&1U%h@G z^9$3Yy%+!c-~LTZ0`jJ3CrFn**98y_Tmj^t#l&PQ4tdtY)lO)$5%L%UKz0vLqB+ux z=5QO}*aB2eraa~$#5!^xboTOu>zaNt^p!zC_vOV2Bx)~7$fL&(WAtpcx9a*^fSpZPMu=&#{S_*xLC>UoYdo*S(2XJhQ#Mn<1mM71Foj?b|oVrReS6Ve6amzNbt^H6MUZ{!9; zt0j23&Je~uGGpmsiXyTHuV6>Yi4B4v(C;1^n-DHsEH@@$;bq0He$cySQkXo zcOi(9t4ggJhr64QCf0rWv%VL@!vIdkkv?J02j}N&{2@%nPl85?0dnF4ZSD>)f}>B| z0e)^wFy?1Lq~T4wVsQSrwZAWBQ2fqyXYvH0jCaj|w7Yk85p1Tp4`oQL zNIvPaYCb?E{H56o?*d&{m^6<{#KPQ2`nenJYJQs!7f8!_OtU5lf}0T@*eHQ;j(2Qej@X zT+es&Fl~3yEn_hYvwof|zMkJLUy>KVb~?Gc3JZXfc-G|OXRUb{b#+BX^Du^8J#(^ zM6hDDxHVU@%#wmM*HYV)+Adz%7W4<-DRUur&h7f+n6CX;?UQGbs7bT!>1WoDa(Woy zoyJ5Hup%pEtTqhnmVpCAYOH~kMdmul5b1dcqP{h1VfwRAfpci@YV~23(U$}`P2B9u zxA`j1@ALJ8BNv8772pZ-1%HAQ!Ls)Fb`H%J{9Zt+hpegEM5c6p!J6RD9clq<0dFPB zj`zzy-SHM&dpKL!%`O1d^8_R`f+Md9DxGfBGT1!kBLEcC3OWUe5{5g_?Pt4z=?FLl zr|!zTSopGxk^l#pW$h&wnjN{5ZvBidBp`OO zupEMD>uVjApAOjOTlP1!&WpCd07q4#t`ULH!Cn+oPD*%6nJ|uatZ%DF~y*@b- zEbo(iD6fo|#j}!BWvjMCGdug5ZR5){Yy-=ztleQ&W1(M;(~yMAvMML#lXc_WQ{FYR z(>F*zlr$^j`cHrUv$XR+W#M1AcR!AIc9?_)Vv~0rcXixOElBQslLkOyc5*Vo#|9+A zXhZvF-P|GE0(89p_%X&?I_)0B{kfUg=Xs?sxYkix6PiKt-8ejC@vdd)OTI=8d5^Z3 zxXD9PApIZ&_(m(r5R#O!pK^2|C)QJWxNASe@A^Dc04Npuhpjl&0EC+k1V9apeggy5 zW(-$ZK#|84i-Dd^zt0yq`QEq8V4S8AjsgV)DYA?>|N1B%y zDaYMb{UZ7S!z^W~X$k;LMHy2b^VIyxL;Eg4A~&!duMctm5nxIUhjq|wNmDYNu`QdS zXe9({LoBoYE;_j1+_1Ph{da~QA&kR;C*q{Ut8k82+xB`uyS zJFUyh%e4JrJh;D{&eczzd=hJ`fKmFx%_;e{?CkrZzjf2k~>p!`EN^AsVDV zIWZCMUcZVS1nlteI8A7N``fPp`BQlqy-PXU@#N`)Xw+K}m9=>O{EPU*AO09Kl@3)(T^7W`^_td-SL_WW%oe^7TsWZf_+~{`K#E zOTLd%BV(s(jf^MYRx>l)ZpHNEblfmO%*{?gYHn-Q2Yb^r-3^INWJG-zKQax@5qPUxCv4Nw;e@Alp% z1d4e`nJmmhI!=P0=pz6s=F}c@fW9w&u0y2sq4Cu5;(wtjk9PNhW_Rh!$;i30?byrT z)lfL&IePUwa3@{R>5g?-#|vomUNvIQbb@BVu;xg1Yx|=Tv@*4RV8LD!tS+QJ_BFa&~zLA~;=alW5Rg~-J z5R*b041c=EHR{8?cZ5Wl7p((xW14QMDP{6fuF56}9yo-udyi!(JM(H0sQX=dx9j>K zB*?NAq9pQC-kMlx&gNMr9)hQ1y2OFUsh@Mpb+&6Q>b0lzyA9HDGesgM5fn?6yt94$ zOx*_3oD70Nz4J42&S+7{xM)sju55GqfSLoYOAfO9)GH%xk&b;yd1RUueN$HQKI?)#L5!UOXpHr_AL z)Q>{BO6Zh>ayDJTxz62cPb6`^FYs>LT7ReW|Lzk~z`X}2GL2?=z0Z0nlT*@iPe++a zQhe8eUim0P&5V3EUme($i{-W~5(xW>ZNlwI2tELWC7PyV-Whp{1uuPl_@4cP1Z`)v zAEsme*@q~*{XhWhVDh>$b@JD&&3+?^Q$waq>_Y}9FfGeqeQj&g%JleM*?jTme-5!Y z&%>^!0aE8DCuyFfL#ug>PE1CXGL9SPo$|IJ8-2)glJ6wrwsxF$I z%hBSQL(&~&Vy+Gi1NH!BfMjJGRE*%>ZZlNrsThA5Mfcy7qQ1}U;fdGHp7+MF%`YjkXyGM$r7aYpy#gl988e%y?o|KwLOH#Zg=0LQD#Q_}rNdtAihPoAV1&-mB^ay&=^Tp4J@=K5Re zhXf&05AHvSZ^_eevClt$o^86beGqToxuaSsW;meO&QT{OM%x*XU;qL#J3C9i>V=_z z1)`0Hp>E4gp&E|kqrLdi&;A5L)Q-{7@%Zk$-^a%KO5A(+1aja3T@i0yz6?(@H$<*x z3KOIC)DGHLre~KJ-2L(LjPW$*J66 zn46!W+?%Am33(d>fRDr!X&7lu0_Dsp8NcW;mkc&yYI;0&H#g{)^m*ohn}Irg_a>e^ zehk4oh^@o@)C@RYJV(QRFB$eQ$NG@qb|B5?t}afH%Smifrv#adcD0;_)t#6cgP_o- z$;0z$80ysjf;!K{Sx=xpNP4Ve%rBK%Uu>?tjrN!kb{MLR6~ik}kG0~Md#9%EK}l##;h6)*4`7xG7&6%40GirOPDw`J0}yM-t@!-tV>Z$r;hMf%tQ*Wp9qKnbHI)zg2q!RPRxLZhCH&_d84w&g_Hqje@K}Ja-9ZrV+y>bYnDZ|Wo|A}p z7a%=%@aaDpr6|)>b5eG--2wMLZpgGXf{wMA1S zur2kV!uhN_?nxGqqvNM&A0%AL>5~2^fs)jyQSiO^lUNSRBU!QjTrA`TpqxM)Sy+~I z@Fv{^*t{#31oo1b)IxQWaOCeP8-FX&pe(OMLq~I+y=^bG1o=DZ+-VBT+gBlaf^i+O zjXXxbpdQ|%1}MQl-?mj&MXtq%B~8$5d&-wS50ESUPV9%8#3i{xcBW%lEMGB) z(m8z6Qjne+awB3D^ETye8W)#qSti?6Vwl=0@+o~%4e@x9agsyUMo2~J4{Daazn8t^ z2SqLf^O6F0bZu)vt&673cn4tb%yZK0hDl$OA$<}ACka0JE&!5D2!2!BV3Rsv`A^WP zsf{K?n#s6h?@)F+5ljpE1nGikopUvZGAyUU5-=81B+Yh;|Ayss__>p9{%Lm)u<#yF zkajvqu+4oECVv+PnV0pltma+LsxV4a0ZZqAGe28yr!*agt)p5LBM3>P{M`biV=ecn z!7()LvCr^#2mZZJbEB1u%M7vWHHGmQ(5DHJWiTI~E&dz@>?%ul(!EC@@5_*{0%D!b zB@=1`?wsx=WNItQ^QDfqo2F(yquH36B6AQ}D=&e+6M_+?Bqjn*+fE{8I9{hWH7XJ^ zU)IGowY+L+)S{@(uwD3A2r6m#y~(@v;J<8RiKT6By(FMUfRc!rmhWm(>`%(SM42k> zW;rz}GavhaWwU)H7ix37$8?pD@8)fPFwZ6WfUk0>BF|7tNsn#$hy_x@lVM*;xBBEs z+`E4-!&zPc2n4kk0DgD5U%&qtgN=HIdpy;2fra<|#s;8cK8c4Bf{fj7M5#*v*dSo5 zMfx#34B$MCy###cv3UP}eAw{30wzhy@3|G*d;1wu@`%OW{wnCyL0VEUaB&vr+$R=x z2mg{jG=$J~rqs9Lg8PmIx}+Jnr9^|{yFwsRAvE}d*me{=tB;^ z_tW<^SJF>K@ZRq;$X0V8{V_BpatE`*{R7l%jI^&LHZ`N@sHI?@;9gJ4t^iikl!CsX zL%04IBuW}LDSyj;Nd7vuY98kK0D}1Lh5i*S%A^0rNRkp;(ZdLb;XQB z9m#_7Lh7!%NqElA96eV6^ih7Zheezm9i`dO1rtRbav%uyP`%mN>6o7ykGCIIViH2C z_M=9gqmWU}NG|9P2lS=UvB{X5@sKV0GV-067>(7{wRrI0L45n25oxNqmKxPbQg(6- zA?iPm=bwE^IeS@lDjn_i5F~@el6!`RM#-lYlhaf2w}1OLNkTl!K*!yI0p>Eu$Li{S z0`5)+u)-`oH#Zwo6VnOoJt%RMezLf{7(f2v%XA|5T!|Lt9s~ft0k}^=np3V2G#B%? z?^ZJM*rUe};*|Q=87~`*k-hyx(%jBdr$4-Z7yrw@`M<|+fAi~@onMAfj>P)L$0QQN zBcr+d?Tp-RBa`_Bfb~Hf?Vm)eJqGC-0fb-0%U9p#xhn4L+sA$8U;V59CI0Zc-_sB4 z)P0chzKUk6K^cbmT~f)opicMhKa6e4bkym^)Fgm_f9s6dq52RYc@09;ALA3_X-YOu zo@&YThw7f3MSFBICU+PC*JTx(BhgwF~iR#?irHH1uO4ZB3zCBU98@(8zkh z{Nw?Y2AUXRJQ{4k!~FWw)QGyCo~J+21a;8g!d;Q^_9#8K0uiLH%yAMj`=R7TpP#y9 zf%>S`7#M6qZjn3l*Y@saMx5&(H010@+GdRLc7QC-qh8_K&MM=azOVV=(!hl9lzM zOq$#k?Ml&@72>5sxx|uw35iY8#ph znTcj30$5LM7Ptx=1(p(nJA&XfLG`fck7sPGS-$IhEQoYC>d-8BbXVHv!~y~pckE3! z2@GlZ?sv(7niVwx0&9O001GGuqyk>29Raa%?AmpU(aNa)(G$%QZ|Mf z6tc*B1gZjh$&`RykaIVcxf^bE?o6m83r;yTu4xXXIhko&H}Q_slw`cb+wK4W|MW>j zK~zBbN+irfr*U`rt$Qg)k@G5GQE~BK=I7$4%$1EKL4fS@I?_vCBm*TREcK$`5-4S2 zx|T~ozQLj_D61|(2PB)Qi;7sJllE(P3QC(xH{scG`Oivs?y zG98JWb+m3iYd=uKW1hB=Y51FMb*Dj6yLCs_lz}h%j`cJx%Vqo9wwgkDk8NY$vTR(+ zy4ZJ>qq1)EZh!Tf^|owk9jv|AeR<6~D0AD{-B3*-+GE-q4>4I?#N^0GynOvO?gO%n zJaYhv@LYzG+4-0N0Bc&JEw#~@jJ{&re*vpng&qJvCu8&N0iq4py8>ve0B&0i?X@ps zbAK;1x4G;BVknP0{0WY^m#7D!vI zRGx@U{+gl~URM8!E@g6OMjs0OHq; zYC0qt(HB8*%hHgMa!f^&ryKIWLN1kRErC@(d29M{L;aX>DL-RcGbxypn+TaFY2=w5 zJ@VqcS}lGOmeCR7cyh#gz#21E=D~lNr}D5&lEF*rGNSg!GVr_(s$wkt2t2n!Qq=`) zYUWZI9HIlUXz|-M^3eQECp{+u%b?$g(U?w74im83dosEe_2vnA6!$*ZM0T?x_YCd9zS_ZyIy7lAEOA}yZ4wncLBiX8TNH#WE#Ny5rX64j0ddS z=kXco4A4fqJL@qrIub9weGxzV*^gppYb%!KrvRfDd7$3<=31<6Y(}$AU1*KbkugAH zllEckPR&FOIUei*V32{N(E|pLA=6Xiv$lS$uC3-FeoR;pF$sDfB(4wAGR1E@@zbAu z5&zr&=l>mxi#ks40(1p$=K$*mkZ;JfA%qV!&odg;MQU?&Qr}o#;~9tnz+1Arym%k* zd`JoD&w%f(_4PPB00>1UsQN_)PI@$soRI@08!PMeS9!G-$3G;00G zuNEEJFRllob41^QnR=3b8zNeT#9hHY-E?ArI&94ng7IlkgEN4B(4Q(vIJ)%Jc55of;m}Yc z&)7MppU%zB#oPC9kT2tr{*d8u)ykeSS5a1dX(Y{_VlQ|)rBAg-r!qR3(c%Uw4aO8w zr%&ze9ma5@M*9GsX?+P!hc-35?e3mVaRn!1#&(+Uq?wN((r3Ak=Th6^+<5tsI#?!V(j-J(>Z;Q( zX#lD%gCKd}w%$oJBm$Y9W>MtGZwb^Xv*ueF*(v2!Wv()i0%VV8`Y5+$a|eCk_WmS7 zDKmak)~SJTJy=P(lrXNPOqv0CjhQgzWnGkMY9Q1OkiK%hyj*3CTH+bTmt}GVqK>8Q z7)!OMe5Orxsy3wr_L2b4HSvrOH@IjkK1tRR&?|rBWm#C^{2}XY{ZqEtKEqiCiQV;$ z=2^ur#{4!t%tHuZuz~-m`8RHhiY|+=j`8_$W$}1$+Mao zSr4DnOiU9nOnWl2pe?#p{A)@x{f%qr?*Z*5w9UsT!)O75vuQKTr z84I4>*_@i4$&;uxBe4wb_`Q4W>9`FR(`Fp9c+aVQpiMNH5YVY5njC4xzPos&Gpy+V zXvZdml|L;5rrTbtiWTY~|?{~Q3Pd*(s{ zd9}Zjew*|K>jI5aK(Rg=hUvX>94K2_zbDA%`62Qj)L((IQ{l%!fxfaPeP&FaanS(0 z(2q0`6#Vx&&S+Qr#~ENyS$itE1g7FbLOs+{XgcMI;XR$bspI91s%85gvL&rP=8p;s zk)+4`T8LF=a$e;b{X;xcLJf^QO)ww{%5x~FqaaF6h0$#^hq4g*QFxNM zWs_tG$n6!@!kHjvIpk#9cs_)Yp$a*1$E=nnO6ljpOZ)SRCS)ug=a&QIb(*0^kr*I# zf(6U7I?e%xBLMEfI0N+GFsNsy=Sh1oL9(Q8VSX`Qy?#MGS%kR1*&In3?QW}8Fw)RX zeD>@~Y(omZ{_2mUTO5czU{Uitqe!i;z9V0ROfwyHcH`wYf24o75MT5AF+lu1W$8hH zm=osb0M0Fd?|A(Eum5-Q7*4=9F*+B2{Q7tC^Pl|;EZ~_7XYuy!Ytp=lXP-PnE=cJH zz;ba67<~%}MK-;Q`0M}jH&Lq($Gydws5Dy9+1W^6oS*;cF96;Uky#2 z&f2IzzL?mf&??Tf?vb&QYB z#<8JTuX^+&M>cc8bp=p;8ejbAXXL{?hU}|VeSl8#1n;qlS?Z&i&}6))4xZBOdpH)A9gZS@Wl8? zEK{D}{q8H~1NsbOVq$VKH~c2XAI9<7e)PKuko*J!a;bCoPMR(m9$Qa6=apyAp2a)b zpoQFbw$~wrkZs6Dv)WG`bmBfqVsL`|^6VATcTF_nl}_xPlY^L@y`O}m)7gos$yq+1 zB45_C;{)=pq}JARG?HjjN40utvLq%RN_prxAx6q#UU_i;5%cIf<_bW(y_Y`Yt3)nx zHuGQEq)3qOI2F_-@E3dnlIh<9Lf-|Nf>z0Z0Fab!p95e+G~DU#9}vW9GUM122zrm^ zN|FcqvkuLaCwJ}1D@lUo;5`XIg8tjG2y}Vgd=vEYOzx&re*G8(pMquyk~`R%=8!PY z2{ysee^r)BjmUQW>`JK7awnW}pzLdMsog_E6nkatvRPC&LlDro6@|+6@ zKIs*rQpi+^MrN2=NCdshvu9oJ2-~N%CMY(gVkOY?kVHYrg zF?}uzs~O8a3$)iaZWnX~=}W-9CXnT`(}V!hv;>oC96VbvODGUL{K&g;I+!}QcfNb0r$Q=ShZVR850oqK`&1o!w|0wAc@KSO}67<7=f z4cy~U6Xku%Q5guxZB4&x0%Zv`=~DhlSoqzN_-B96pP>bSG;Oa*sNC_FR7n6xCS_?T zVSOoVZ)IWm%}=v0cjv9=1_0G_KGe4OyxJa3;Vk=|hNeWU(gaFkQ=&~NZ;6;dSFKBl zB39Z?b1D0TBu0}lm!AiKVB6j4(TpWin)~In!KKBY|2!H~Q?dHteaz|vx_<~rX~pZ+ zjd-vyA1j+1F*(-G1>0yVntT`)%0<+j{{z5@rb2@NLl@}nJr)k~+1c2Psqu;Q!#FwW zq`$!f(q9!oowA6~P67va0A125)K>x8$23XOr0QBAM14+p7nlx`uV8lwkY=AVVp8Yu zFsfXa1oTs{b5O_WIg>eQbpQs+M~z&{o%-6J&nciF%>H1zyS(`PxWF6`>^&MHs)cCk z8$tO5m!5Bt@8s>+x6O^_q``xB;6}I72gUm>uOM5eY5R1e(V%Wlzz_=htlFAuK!dxt z8b9f5DuKz6vy|2J`gvaRRZbOVqSn#+vKLjz+#vbrqf$Wz5;3)yf{<%|_mD5O7)EMB zB>B6(C~840*M*Z6W!ACx`dWK=>ciO57ev1TL`)l8#!#ybuAof)%xiRdopL=r*)~!` z;W-*3&3c^Co)>_!hY#;@tv?-nCuae+H}%wZxTCF)#UN#U`}Tbj3`4DcSXqsUshJoi zjj3rCOWN-E=qOEz4D~uVI7)fDad^a{N*(5xmSTElmc^C%c%Yun-BrN+1kXxD?k_LJ z}gH{*4E{Fo=`ySZ6_4FB%ezYWhx+1=hGovHZo&;B(2 z@cTc;=va%opT&bG&$B%=UlSDn^k=__!^2%j_*{Hkd6zyTvy|!UZ(abLA?Fj*)cGjx z0g!+Fo8QnD{c&{Mi@p85c=hTHB;;rGf55;cBNFm=e5A&TaS2E^BGf7M@2}j%hj$<7 z6WTHl0-m?|+?VEKJqGQW5w`%;hUB#!I{Uk^&pn-E+WhR8al#yNGZ?4orP%y-DShVWV~ zZTL^qZ>yiVcaS{S*FVHatr9~c<9X6}=Mb6Gr?;5H+$?Ag>$?HLXwqNCCTQa`<_XD) zJF<)$I$51Mogz=VOp=V&aGfz!g~+zDFYoN^k|tyR>Ws3_#opc;_q6H9jG+t7YS;THV9_K<3{IKj48bhObkjuO zE*a50hWyl20Q}0~dCdNNPi=_ALh#BeC?+WcCuiNvqX0&J;d9X}>pjn>_ZSDoDZqzYTC=1G~W<`=>naoq*T)?hABgL6p6QHs~j{N)8 z47e@k8eHm?pjvH!z6#tY@UB*uNl#5IBnLTolDBym^akm@+PN){$P5`$j=@1sewXBq zF*m%X`~q?P6Toa-D}Y}ufey@?`XKjPQlKo9Z~A2*KYeM^aXHD9^0Qv7YnNMmzvj6D z=+!dVPHD1aD{zl_l;@|?q^Y#A{ZBG!OHpPfc0*j}`5?C>jUUP1Ghftj-Q3EOwUKgq z?uKJB`$G~2eN}wM{v^Ut161UlAA`8;@cn48)RiHM+6&4Jgr)&CMu3ZVV0#zONRclbxNCFf3`5mXkR z3CpE01rQ`UWd<6fRC^--$V_tXK(d@;1l&kF`7~f%WlGI2%Jao_WZ4*JhAYJldJ&T5^ zgwXX+JlkE3h~;ue+WJ{%@3kLTwsdB9pzz&m)>mR=nU%3J5agM*GO+!;PBQs?i|?KS zt_)4zx}{kUzu8X8)%JIyw{6zxH%Sb+E}2knzQl%pmRMO9`>O3OShl}NAT`(10pIk! zS1@c@Bu0`BQ<{cY=oey$&swd)yifmQ@ir3FQxceN}H(mkW?Bwp_R3*JU~M#5`4 zgIrUF*VP*LLhjQ~f`yyBOqbgs0_4rTpga046DJ=vNzzY2fUI-5CQ%NyVZa5mDqxS1 z%6*N&Mv{Z79U$8Y5D3YU0HxC_=?i9c7+2$<$(Zj$hOLw&WRIe(gT^Tb6hLasyCN`P z!d9zr32|UVlBWwalR4$TzHnDe(t4+KzxxairPC5q(#!tK5So!dlK7I+9-li!BVsXiElFTsx zz(yQ;>*$W#JMZc5WH3DDN|cC4*@$bVn^cg{3?dp$euD?oKa_FVH7Aq#^jX13Zg~deEj4QMCn6xk)d^EIAq=uUhCFN z5Z?&T$uR7(TBOUXQ`&JjiN?SHb0R?I{f9Nm${Ydl+1*%+*~NwEGKcIQpHMb!Al!h%%jVpQfTZ$9EtQ)#`9GM}`54YL&VfMQo}y z6qWi=OpMRurpfs^Ye40UGL-S2JKjj9m>Zq*+1+3xJ-O@5_ylBo_JS*W`XHo+K(JSc zN6}U|=eUBq3OKtKvfvK5GB^D^hrs8}Q-@yDw+PNW0Mi8R-tT>o8F!`g^lZ}dnF1VL zb$JZ%Tfm}-!nw}1S;uA1ywI+n2JjmHPh!A72~L7`$}6}o4!@!l)_XvBn(+Yq({Ca* z51x8$9^9M$2gOM`^GwYH>*c_$b2WbwoLcQOzN?L4-t#`vEGKH~SndwHY+Nwk+jbI{ z+5fVvJe&SD^rd2Ir)gOuuYaGf9~`-u2B2t?B+%Cc$lZOxv%BZw1&6OhBOR%^-(6&P zf(5)zbb>y?jl)fI9DOZxGIq%On;=Ib;BW38YgQ$2cIVoYyNjlw0B?n3o0+GkHiAOU zjoj%MP}cb_c-7}YQ0wlvz%qAqv$L2kK%0VFjysboL5w@_0&#(}WtU&75zwqkkS-WE zoy19`;{+o3HV-u;p20zq@r=d%J>XFwC~#HlAt|v=*3~*>cv0<7>PDurzRFv|Vc1$ph5%er zWd8b;n09%d^lsbK{4KBMTbd^sD%gCiukv$O+%{CU_W;12fuejRKRlN0V~T1b3IQn^ z5%av0k9n$g=_x97#)aA%=;eOY|>`X>X@g!>xH9I{!Ww8f@QO>d4 z3GJlJG?QuqTo6;Hsn$X#Y_%b_jkN!iwyW_jD7Ve8k(>Sm5(r_pfZ7Gz9@|IX)X$-M zD<9L!mt+KCco^QzxhHQ^H^6i8v0=1je#nY88=wwtNLL47=D7?vfEYCiI*^{hRz3Mz z@GfvPid2)|91S{x+c)Zf5qHh&OvH|3$4rtK29~?PMrE=t0%o-W8PXbLXDCno6OI8u z?)p07`>roCDwAO@HILG~rFLh+1>jXqgAj%6!DMoc93>n&Z%e)|AO^O-+6K+RE+HkU zS)r#O`r;rA*wk6}l0{N8p`l>_8erYsS%I72y?c6|k*CJTh5=b)=?gGDJDms7c@~GE zNQYaVd~9SD+Lh-8srQ!W0ixQdS5q_g;KAeghrj<_j82TiSKoXGsNc=7rzdBc9rVZc z);8%h=^OpA{NPFa{`bERqy8Ko?#1H#QoMZq9r=T5 z=+CsVxdwP1jyG>##G}X06EwS9U!mQ`#{f|D!I$5C6@U86U&f1KNe^XR}(p4IRm$u2l;fA28*ZmL{ko?#8Rxau)R+p)X77K4>mg5&L--E=7Lo^)ew zdXhe>mJE{YIT?IEIOs<8%4l*uhz-PuVjQ0`fA>xxU4Se4X#>E2aI};DHl5BfeVP7s zc?_8-4&4&*nh}>MV@5Lr{A)fpFu*uw914Jx`|Qj#vfPR(NT8vrP46B=b$ff0K5Gcn zYsd`ag7GVU)pV@hXvfj%A@$Y9zY?9JUX0NX&mki1V>2c7}1h_UOZo?V)-#_90f&5TtkSUm{lsKXZs- zq$ekvvA-{n*QwhXT?`>;7qDr*Q#P5BWRPr28>2OzFa4TW(9>6>W>Idlho?wqY z>8hDK=f0SO5_BiX7NiQkS^osdfNOW3i&HqOjbUn&WYhtakT}Z&$QE#$re<7fL2+vnXRI!;*?V6ETaR_2%GCij$o)>B_9eLFP$n#%h;Z=`^3{TND` zwnu8Cu9#13U#?p>!GDsiETg^-j0ftX%#?3A0MM|ynmb8C+>l}3&-^qovkjFk^MA!t z#BT`<{l+swir6qmLJ%vo z5tJ%syPE_>n|=YcAjy~KGYAgVZb&{HZW-B#pG|*)iCe(x@8;uUb#*?6}Kc$}Qb)3)n? zL_xE4GiLvT>FN06>o?JAG}5NtaGxF^=CtF^xN2EV2fStkssRA=06?$7eb>AnvnXp0 z;g0$^3;i*GSMw;_u|X@N zG`#on{4Ddh0TlP>m)fAKVjs9+Jn+0>V)eh!Ry^;gow|ToqeeL=Bo*a9O_n4pI?PvS zqZ=k}%jfQ@=W4`_+7rKPLtUZoRibG$9YD7uH_fBGU%AoWB}j-5vN*)ES5X%bQb)~E zv@K7v;rMemk$YVrm7!_$^>K~#j1Z+Sg}y3=qSgG#1GpWynX%qf1s?i=|I_ST;JS{g&6=YAjh*D8jX=yTYI0r5FPsO+S*o{0!>Vg0ODq; z7yYqPi|@YsI!%7`KdINrV_}iDsmJTr-^RD!eit49s0K|EF*m!A>92fTjZZ##7F)a9 z@fbpIaefk88%J^f!6F@_LjL>YuXd)M1n`i0jY5h%Ghk`yK{{P`PmW`LVJS8@0PD1c z4(U3Mzkcy1o!U3I_cIVeuXh}ueeu(H_vS4Cw?Ih0l+)imuJze1I%kN4Vh{TwPIsqD<)?a=s#DKbu$)e2el76Y@8emvLN_Zj7Xm_Ncrv&q zX-$Zc>wb%N&y)9EcZOSlIJa3U5N%1W^8_u$nAaz&24UN0tO))Ep#r_!8MmJU9E+o` zyTiQaceNV4=)3-v^Bi13`+2@-C+>FO6X5fi4^}YW-Jv#Z^AotHxlB5kLoB&&8T2J6 zJJenmoVwB#K%At8TuS*gt0^}0?p7yA%{1ms35q@p;&OB4#x@}9fMPPUgm z4+Q}_$8O%%k^E_&)Dl5>?lcjljz)O0Ud-gkP7rVVIwzO9GVfAPiIC*s>T;KI7svj5 zPEfBbtQYH+bC+c*{YH6`7vC*YxnBBO@p+-&P-o@mD^0$#EFuuenVJvFpc$7MZZ$A! zFnE!t?IW2>4UK(>{&MHfk@-=_qK*0fUgDx36uA(<3QPrx0%o-Z0$#hJ;97tw5cRvD zpm09;8~3U8aQ{K@DyZ|>LJR~fWfz_|8mu^b`C**SeaA2deQ{ zmepy|I$CCdy6Nw+Drg#{c1MD6r)?-;T2rGEPF9 z@;6gSg)hyt+{L#JreWQ@CP|T03APz3Jd#5u>uY@^5O-}saVWc_pb#qm6NpO=ly{Ts zJ~PJqG1si88WEqf6w2H|@Ao3tLO?tl!|6aU@AKwm`6Pdunc02?yid}> z+kew4_?u=-w!M8s&|XZV3Q4tXH0e@PW?q&>jg*ANyixf%5t?}_V+}n#!A3cf9)s=Ys z=wY0(Pz$02pB3c!-P&s0$h#3q=I_}0Iiy|F$*%GR&s~);@pK3GE13mOrLZm1$ll1&q@kLdDi=Tw4>SqNrBOy zG#8?Yv%HRy6Of8$VhCh4Vbae7NCm*Sh&n*UUE*_o7YIr!>_ZYG$&b6bY9X{Yr-kW5 znjiu6lN4BX_wR3_4${*3bzpFaGV}aJFTu(+*J_Zo3qVUo`=OfNpMcy^aSg!dUym|N zR0KTQZnzPUyKLltew)?}V^fE2+u4OogU>p3tOI@x*E!lEefp%%uw&!XX+B~!Ax+9W zUAzHM9T^z~ypG2p{lI8QvjA%zjt?tuV{CLL9z1vgD2J>zTG0gzoQ;u)nyoyhrJ>mXN%s?8lz3A-v+$Uf7PlVJoX``X^F;9KxP zKjA+8LGC?R%Ci0O55Eo1H!yUrJGXS1I6CnhkY+3_J%m&oC7GC*nvM@2UQ_19_{oo- zr8@ZQozbD5>v2>=eJK-QyT) z4X0+ovu5f@Oa?>s>tqR?L{W+l!I`bhlg&wm!*zIZ|3?`6cU-K~vSK!!JrslmSUSY269t=jao zQI%F`gTZXSo_)VQn4nutosrY_J9}xOr&*vx-*X~b!wUd)wJFSf$X}DAD}g1GetT>( z_91(8E&5~w^4Nx?G@E(}6`x@W8;5T@gU(0S%M(A78vF(JNLSw;M`R5vaasTt644D49Rpc%>g8PzXSofdv7&QgYNLW zgz{eI?=#+4$&i_aD?z#PE{^4zYz^iK-^$Eu%Dj-E%gZ(TJ9VUNmltc4N9~Eofyvu>8QElC zP~NnM1i+1{Bu$nh2_JG+^tlQ$|5BggUtxZ?rdgVlS*Gka-goz##K?O~E~Zk<=)@}q z2(S?1An@qG4A&qR%1bhnGMB)(MyOFNq(l;>tSnDCU{R7wKFIzbeY7Zdc-=*INmhIU zJZa)n^30?y?I;-x+O$-vs;Sp}CG}C#2xIgv8J8 z##?^NDk-oFOMI-mE zOuNWY5~3!-vbrA^! zH50xxIkW8q=V~AB%$h8VyZQomcl0MIi=co>;vh5&u81l{9Q(Jn&El#QVy0+ z(q>wcVB6b&YB_8_BaJD4>uMiSizcy9)6fq9G8F0J{6hTO|M2fJ+RH$#8mEA&xtXc7 zuh!wWYQ!MY`|$RCMuzeni-p;l=mSI!OBPN~WB$SYJb7DZPE7|+PqYP}Vo|BZ0qH$| z2++E?&cnW3)c1~7l9G#hjw0$(1L(F%SM#MV zGOe>{Um~9xy2x{o`*Xj9beS2W%A*2%0b-t|V27sePS%<^bty}Q2Gi->g+T4c zIp5vA+=nogsgyq!3<#b=*A&CsqVM|-h+?>-<}2U_|tq-Bd|&H%pi z=5gF5EqDJeNdFSzNE*mr(xSoK-oX)lkue4t((l3OLWWW8b}!QJV_2Y0dN00vl~IP) zsaJwd$~-YO8J|4=G!6mdM;)C(%Rz_7oo=2ZaYX%eEIz+Fi?xmI)YiOx{RSfQ0Wf=# zA#vv+1gFPW@%r7j=`YX$@Xtf;{jCbn*8HY5IzpG!MD2_*LqG0bM$;3|+f(t)SHFwl z=2(*JgZ)k%0+MGZ$8raKZf-HQHjm=d=MSknZA;&{JnyH@`!P4WL_N-t+dhP9BG(cR zP(1IR=h!ir!aUCpQRY`K-$H&S0o+aU*eBl>V7N=4sK(mrM@Zom!1$P9DS;fP-`oJC zw`j`>guv7J7h-!)g3thbbs;5?Jo>Dpf=uZnXOwd-M%$BsYR!?Dmxf!^85wP_r%B_* zIqQc6n*OBYwBy~VbDrQ|t&!)&31q~R%;{f@joIe*{Vi&@3iKrq5i1?7c5RApZp9 zuJY*wo-@rIp|L({IY;^Pv~1cK5TAgNa!5!7)ESzU^vZb$pae+?&+;MDNvCSk*MB0( zjXUq$knNgnk{C(?|Jk+JM{&K;68Hzd~^w&$>CAaa}TXB?*9lq(*_f1?*}F z@{EftyYpP}Pf(U6>@4XZ$GZqsrf=ERM7XMIilx)GWhjp8lnGhaYoC#a=3OJ)uQNA! zr3}DtkTOl3lx=D#Y_}8w@-|=6(|k)no*E{9m+j=B4Zc2kBt#v?s6^Y?htv@!K+_7K5jKX{uxy{axU0`tFQt zN+mH7n414xxy-lhn3of_B^i<#fwo!z$%WCf1odhy1ixw%oVFxWe%3ro6DaeP5GWJV zG*4xvOr}_nm}>qT*j7_xUZyLMOMCsy-@)sd7PUOJTKHTDgHG?tsSqoDDAY(OAM?r` z{;X5c-1yJ(*#^FRUJ|3pkn*&hm7{XjKf?QL6E!%>)I1~tzCWfcewKjvv~@NOfxdOq zFT(z#94xzSymjI3d69=iNMazdv8;ks)6kEE+hbbr$i2$ENj|oTZC4^Z6%B>5m&lr) z2Op}Hu*Gdh!|7_S<#qc^ThcQBUVIcusE9;vvU|o@mar@gkb?`ZZ{NG(dfN0HF%khN*Xta*i;e-cWuIUNa1>?V$}q+hZilZH;!MzK*A zRG**eZ?xwyZQ`WVYBV##*Ff4m_oqpVVF*je%3`{5aoJ7tDSa>CD|`pQ3_>IU?C0du z4|&;xFtz|`?%<9&hj8uF(fRSlCW7`Tp! z@rk(q;2|LSiaMXfz3K8cU-R#OvUgeJ$jz|+WPXQ%rRh$9G?2N`;j{!z@$F9FDV z@!{QT>e7gV-3}mnAVyjvkdeo<%RbG;Ix;Z>kvL4k=5|^KnHqRu68T=9cca(6iJ3V8 z%~kB|ZUU+X0Pk&{-+@S<(=OVILw*?_?eSsSZO%Sx8Rj*yv8o<&gMY%3m2cXa2cNb2j@t1D9t90QQ3O zvlwcb&Uu{hr&*QJs_L4QP0c_S&g1C#gt>s3nKX~+lY;|{QHZdc8jO-WW&4uftB?cF z`=BA>1R|kkvVVX-w}2QIO~>{1B}9im$t>+@Xko!>eW*^_r>PND%T-PvhmcSgLk#OI zZe6Rj3S^6CnLGRY!4(jqW~%~8Eh~41V+HWp#&=o+!D;Ra1N3rNn*m8*C-oFk|crq3-MB3&Tam#+lkerL2y)2IYA~;Hk$Mm z-V+O#5JuDg^Ucwz2(3`+eK{_bw_4NMwuV&^GRAVXE)ZV^VI=)yS?f? znn`IsXP^5=?sJhq1R)9j)B*@1m75@(`AV^-7zMKarZz%QDR36(X)~`Kz1NJ6BzX4a z4!rUur2Mh0F!5|j{sPZZ`r-aG#@b8eqf=n z`~6x+alp`2|~&F7TC4Ef&?3^i4D zG`ov^&HE%zmQ!MCKk|+wfZV6{#ed#!`OMqv_8IaQC|b5on1C2F)ZHD#?SsR(H!%_WyBqPagqHr%g5TbrH6GtnejuQ1-TwJ&;)|0doU@lV($p2+wmkB|YVJHVd5Z~}_sYTnM7C)DAGd zAPAcNNMuaP!}0Y0uun*E1^_-~o5O{dGSMEI)EKhX-R28Glcr*QkOv7%M(rYPNs#0~ z=kLMvt?7^UND~6mOaL`8-p+gM+e?cJ(dl&JFMjnGv9ht6K-0XU|B8M!&NC47UN;^+ z5{U1{{d>!4W;F?DYyx(F_q*T6ydnKffsTV06<50>No`|lte)pSO_fjl+U3PHk-4!7d) z=pa6S{#i8YBWXG`Gd%?eX~mnDU&Y$`4#cTRdoZ@o0h$n)gG0~Cctc$v699Wb@VgHy zl$JDEY&=6@d3i3jwzg?2=HRK(I66JxGlHO>?nBC^rbp8u+(RNaR@c)1qE6r5+&hRL zL0*ndAO&MXvAum52b-&TvbEuIb-Moalh5L}zyEbC%sq@h{PFK%2;efOsx|w}J|xeB1DUA-Vj1-fz&kcR#JDQvE6yQlhC-br4bC|Q zlsf-VXnI)^H4Eq@|ENTQ0qLYNmE8M;y1Dx zm#-vG6`jA85>m_vS!E3^fcuOz_%m&H{v`#ZrmU)ibAB|DBmyNr$($Oe;zN=0Fb}m3 zDc=IRy+T->g#aWh-cE7EMnj_7tE-zM#thlFyC3eHB z9Ku)5Fp&tUS@X}L+ON#&R)h0BzU+}dC~}ceqL>^6-GUdPr@+^y^k6nkR|?P#IU(Is z36}fPF`Ih?_zKn?bC-C*qr=wE0`|M`p#nd5w|(B7Ydf<*Pz{8;)H?tG%Oi|2e*wSR z1fR7`?p}M{?}BCtg&@-eB{3yTtY83uMY;5o(2?AoctO6;X?kNMA)TiEKF)L7e6~ZF zm-p(}EI9V+922d;*gORDJ}-Gtiz9(igWy>W`dnBeoyrBg0z=EJOqECTwvO)fJ3#KP zo3e5;Ez^};tx`Va>wTI>-I*xq>!J2VnOSesRI{K~NO|~-@-}VrvaCuc)8$VYSr5yp zNtNbF9*8Favkb*i+!MI3qGf(uvkzEK%O%*9uqjtbhR>LODOb?|S>80i;=1`tFqF5y zDHpXtwvBBpQ7z=KIP6Pw?Gr975;-1WklTmsd$v3MQ2FwM+KpRlP4e+ncnOgN>^e>X zdk^Mj(~ewIB*TK90{TzRFXFqGFIgM`F_Oi>N-R!KLuBatfYBQe#xZ1J-Wd1DWPp2K zzI(^wKazIenzHl(PCo+X?y*q1i@nD+_lxSya^T&VHp^!h>BOr!)i8iZ^C?gLK43Af z3=HPMXaWR*uWc;g9+nUwH#HHdJwR@r_+70x5=07o+;P;YUta**Npl!C0Iukx-Y<|) zgP|5dO^vctGob%a?zRFV>;V#DNlmSfF-%?pUhl0^{}bBEapqXokD;Y)wqu3wYDF|D zQk!5J*(WK3nvH?$i!`g!1WO>FV2ONfJ7)vy)khkV8r$}ga=BxhHtGY_=u!^vy`(}q z_Sy%kO!T&c^|o;h399Bvz~h3U!?}JFnl~BQs#a?!xJ3|vKmY@?mF6phgC25K>d>r@ zL0njT0TgN`3|)G5;o`|MM16FYJ?|dUeq(^PW*i)J()VV4V<$#DMVXFG(X(9z*uz6( z(Snd10~8nLmH?pL+!1EQ$q=wxySusLyA7C~n3{+tB%uYl-P_wqlcmkAwfK`i{W>nH_nfT=|e-*#^yT1k0&4&lDX=>vxvi=nv$m=xyavadTzPVG*seo+$ z>M#BRK>a)9g1i78^(J#XWg4BH1T-FJS;i-30EUMtvu6_Moo&GGVQQaVzx8Z|G5TH& zK)f3h6JwNhD$ljh?B@NuH#t_$8BcqAyYvAieH~pofIcebJ2G6$!`zOJwh=`oo<3gU zH$dmmV0`tv-_kB!$hToQ1xpaXGk1pj$*UC|2>t-$#7IaUCfKAMa<`u`>dD(f^yAlW zRsjBP93XGW&is6AZ*D_IKE(9&Tx{$zE+IcdHFx{_Q$AmQ`8;-Z_tRO~ITC0_zdK8R zhd%m;{n7q1InmBt_lNf%r>Rh{cS0X(0r)E!WlHm|wXH3{I_m^&HCSg|sI~x}RmS{U z_Cc|*g%){q)lPFw~=f&9xK%PP{2HV3EaY7!Bm&1cDec>$T=qtykjIF+F z35Rvn<4>n=vsc0HrLR$6>#A z9>603!JGwQPIyE)1?7S@fu+0pm0Q3m zqA2fzOe&CYib*GlfiLPu-ld+u z^BuKClnX$b zybWc~^OBW2;*fqAm#bNp>#HqNp$!!Tc?tSW-|{MZ>zIT=b20ljbrbk|-L}XxNh~{Z z*MZu)-)Tw;F_nNw{%jNK1cAu1-^$IpYJ!&pPE#!IE$w4}vCR70N!lo&X;FrZB9`eR z6Uv-~iS|%l-sAJdJZ#rWeQ&QH9J$b3N6;_$6Rg_}N11#i61KOKkb)IlIw2!H{t8eR z;0jm;mXZtst)@1Nr_=_xSo>LxhWEK+B7rC-G3CAjnv0o_c?gcp*`Xmg_jk+W?zCk! zWa*umjeuNmEZCJ42)f;Y+5}_?a82Kxde7%5TA6ZAg<2Out;ES)Z~?l&R2f({chxPs zM8_TV%#XYzAHLL#ND`En;9J6^b2UXy5Nw*J?d~p@GSZe{TeC3hV;PG~HF>(uJoJ+g z+)IMgcnH9i^fZfwS{$_lcAf;}{GNx;ArpNv1oR2KDW`4VyY*1>A_+2Y+wLPk&U{Oh zs2ui5-~{VN)Jo!WTdoAX{I0xGF63$XB$SqCf%`3=`RIIZo@yKH2ZBWNR8GEJ^emV6 zo38R!25M={+p^gnws$e(lGqgD!0p9Min=}kR9H`6_7l^YN6x0<%lp;-{HuTQKgGw5 zwG1uV0eq;Y_XOVx0A2tyHtE8B8uyp)Wz?uc0D@q9fKJuv9K|SLQB$b(t!)6c!$Y0wC=Q zlwGLlFV=Oj-A+G-GXSU(y+kJZQz*w%(7gxwdH9}VVi;g&=u@XkuS@ET7$+^LU-Y5!_JpG4q37#z5IbcWtugk~+ts6rStrE1li zDF+vcbnfO_>D9~|SG}l_uH>Ks2-F|Ndg(8rOdJ^fI1OQ$& zH0g`eRO`V#q~Ui>W$NU81_+y*p*=6V`Mjq{*R}r#6rBO+J*%VMsK@N=WY$fy5YI{Y z^0UtYyw|Y{sJZ|k>d!E%lP?6+Hkz85O{dm2V0~kz9Bsn90C|7>>{GzwQB-Tpmw@zLuGOn` zh*}eQoYA-F4iz08C6JJXi_?_JgZsl?lXpm6)Xeboqz8d8lA2MR=*!e?cmIg` zYgWV@J8bw*L7!1+AnM3vurUmQ8;&E0#XubpNZ%g-n4Lme#sK^VN)S|OVx<;OXK-h9 zcs%{UU12JJ1@Wmic;+asd#t%t%ELHwKD3N!Hbp;_1UNn}FZ-A`nJXFfS4OgHs@2gK zXpMTXE}WH(k89>p&sVwD+_2e9@-{i%jxNs{K~1gWF{Hh(0wJQDlao_}NH@8PpRId|#pWDe)1(XNSN1##=r$y(fK!ct&g6Ll zxWvf0hw{5)pOK3Am%b+YIB>rt!#Y|Y&#oY6%FR4`srJv6n`9t7YCG)H=GT|zNwn$U z9QSQ_2WdH{TFyJIfN~I^Yo@1<0#eGlGTV~BXEh0wvkro3aR;QQ_*~5JzL~PJo+)SU zlZf1rAAgfHq%%9|Dx)+Nf`Fy=z#1`rEL+jusF_fP5Eiu;sV!1N<9ETiTJaKzDxc?> zJAVf?6s|{_B`K4^TXUw2Ud44ui1(SN`K4(b*CmpgyorE3$vf-H??$4MC?qmMbec;Q zpB(Ee;VvY-LEpgh3E%Is$FFY8a-rq*qL{%ugU^A2v0g*L=tF2~52vc=zQs z%jq@CDzW3}d3?wVU>wIQW; z)~#rnY=bk)OMaS0Sr*G`TS+#oW0QN+4~6IMP9c}P70pW_9j0trBcFYi&Z%$TzXwzu z=An0!EN(+%o=vckj;(FLh@l#rfN#xgJQreib~f(azaMWuuEm47>3F-k9)|!ncja5| z{!t!x>Q5jZ3lrn9&2JXu%w0=B-3<-l@7n*5K_Co6xyxe7k4!$7F##Fr?(M~e1Q)m(>bIwsLE!1vFI`-#|8B_q_5=Qnr8*LItUL^e>ILyD1v+m zOa7$Ws<@zFO^=j^}Y64=K_9l13{Ve#RiV4{A@GwZ8;W>S@dv=^= zC>Omm78T28ucm*IrV<)}d^Bn2Q|h<8crWuAr=N5>-RLL3(aE{+yomAf$@s%pe~1Cn zo||PMQwsxGIy~HrnVGrp9F(=SRq_=S2}EuH*8}m*H!tF^{`p@5bhjb79f0)9SXy{c z&QW>wA{G__|L@mg4uU!{J;S0!-vaENpB|;ji#zg?i_>l=R#!ge&iR`+uhRVLi_d=& zQ?oMw&>Fw(MzcmgVPPA*B~8wDg8KLG-%)qwqvL~k^7L7(ZtWyV(6^woznPJx^cNYZ zkHp%_dK}QlPXLG#@^!|;3}nc26JEaj+Nn8)=;v2g{V_692Us7+h!KwH^YZ0;vJ;yKIBGou^OQH{Gto6AEDn|KuY%G@sm$tcXI_G4M>9^8l1qx z_|$;hK!6-4hX<0zT5N25hy&V}Zb~0xZtET~2FDoRW3jyh!GTapI4&SUKDWEK8Lgpq zG>66@c882n2nNJc5;iP3rHu6c+{vFF_v{kL!})ROiy-mPiF*WKy|A=I-mBRzz#ZOQ zVJgw4OkKv`We?yDiP1-4VyYcRm^y~&T2Bi*+~%E^4%H_o7m%R_V?|KSn1C4ETmYsj z!?fi|=)8Z)cpK=uOuwj_n=IYa)Dn4mxLP_*&MJJaFrieg^?7kqi+TT&ao6W=bRAiA zd3J#OPNF_22B1&*?g4ucLFWNY3JtUCL6Lnhm`hC>$?uwRZa@GJ98^}<%zJ~3wb8a< zZIJm-lQ6Pkz_f;0m(R)umvh&hjl6&|9lZg>%8OZoXWV^;aPyqRLNF&d&3p5Afok!= z@E$>75(?7OS@_N|*E1{1&b(R-K`&!Bcf8%b_8GB+S`_<_zF|6kyQ^KwAz3JCdSCIG z5XAdkqM)ya#K7x?6nPIa%CeMv1=Hp1jZ@@0pZN|Ns#UVWXJz04d}%V4{l?XhTmkTv ze#?&lNyDA{tPABTPTqV<(xb_dD}^M;lifdZ?JQ-b>;(RmLC=MdN^)g=xh@{XnC{mW0 zho)R=Q}kbu02FelTr98YrbgjnErEWPIZc{w$qv6I*y9(?%Or>CuR;FBT+IzI$F3VT zj6Vrvl2Ou4lPAk`r_q6k+-jyuyW4N<7sVtkW!kUiL{m0pXv8hoJk8ns{rh{_!apc- z;m*H44T8g27jl|H(C)M+f$&`r=QTmI{t`|E?lub~Z4!6r-CY)xx|1zv^1mbkybDad zCNLC;I-Po+#uXhPqX6+eeH8et2E%-csTKo?XM73p?zA87o(skWJpvHJ#g_1`*BOz? zG#q}WXW0eJ?z&4rEVt?3+2#vot)qb4yaaN0z6z%AP!?ocKBHq!x`Dn9{_? z`~=u{ZIeDnlRGns!?fb0DS_hRYsW5z#qWRX6B3>X!rPP+D^ zD;Dw_7CTQJUV&J62Ehr59~i23c?m#p8Iyp>)05Mfo?tR1PyIJEUubyn6zTNH`~Kom z?C$I!D;9Xhhf$Jdr=~LurOvCn1o2! zFL)>20f3_iUug%OIxW)HY(kBJp(OP?@FZ;k{xx8MB$-J2fl&Q1M42y0PrGTyw+_~V z979_UQZ61qUMxf`4kMJ?le{mPknKVG4;=%*2Pkufp9P$0s-$_AcIBE+^^l>UzkA_= zq);S5{7jx6cvm4W0a^kZ>TP@9iY_PFe#VkM7Vh-g=RKUSp+dM{6J)v&o4b2uj9ep6F%kWFoHp2l80br5)G4E6Ij+xWw_)0S zbQqvh9g0?Sn0rRztCufQW78g;Lgo;g&VEMTvd`#))ji&_+d%-1dA^pXfA8-fC3x3G z#s0Uka}vj$^^EdVrB7c2#69I*aB>Q9sHqKftU}gC$!nW(3%u3n=y2a4Ay3Emg!d|d z$;eR>&RTa7-5fuNk+x+VA}6&u`gUo;=GgS`OC~|8dJRF4U%nUM54p%+9G99A`CUyVK=oGRV8Q%7wH59%C$JRDK!60v5*2^vpWyK7dXKa` zAdf4gle_GeC3oy0CEE7`E(@`dAQYgUz%p0Gq6x?jVLkxf46Dj-1APs|*G@8#K`lr> zH4xNOA|O%lyov&%-5_u?Mc^x0(HXncKb?)Khd84@eJK1~cF`p`8No^8Vavfi1G)RJ z*%D>pIk%CMKqOF>G*MRSn8b@G^<%O4YEjA#KP_WqEbC}rBb`zP>hG_lZ4&8=p^Wt3 zAT6~RKBKmv5FmHUcHU;UzO}EbLg219tC?Qn^ z!QLh4PvXHn{w^Sv1o+Zv+nw}cQsv}OBL4U}eF+lqsQD@`u!9dn-d8ri2wj4x$i`2?(%*?L%J zUxHjstZr}3XVmzZr-a3F`@9Wooi(Wvs9PQ#$*r%zugkn(gf7qh@LBT_K>C|zQ;GrsuQPcw3pyYilaq0Ra3ma)9)4`XBT zVdZ0LF?6(U+5Zm?(vJGwn>Vq+Z=P?UjsEuGev+15KxLhUv^AnC8bU^$3|nixJ#Dzk zZ&xRf41l{<#Fg7RstM7=p#tzVl&p@{njKnsrSEs8B1jG+xRAE6x=|a1IJi(j6nIW@ zc*gHTdT{f*PgMcRN=!h(iqGWdxep|OtTLWG3!NlGr*j>j?d=UW9%vU<2_6E-GpTCc zWN2ES9U;vw=~xcir&XylNka-KOC?PQAnI$O zxylGOfE~a__HP!L8YOd2GK)(_dB`4VYKBp(0AQT-`B4pt*E3uwZF|jPI55!2h&S#C z_w`@I;@muo0V1F=JcO=~w2b0qsMjh3t=(>>lYB$-5(daIKzV6#o@e{w@zY0PxZf&- z=;)*y6H~MC?RQ^CyVX$4)Yn}%#(!%ldH_CsdmcV~6ue@@NU+}v{f{_AgIf`0gZ z^?m&4%P%P}Wu#w^wr65Xzk#g{fMF%}clKh6e)#b5!#JVrfA?SiJ^?O50knJG%541q z{=>gdZQaV+ddx4*##nnK-hJ4GaQrS7m!HKLgkW)L8Cd{?kn76(j~V@FV{?~!9mVR# z1`8qc%?V_nJ(iK5&d!-LXrH-->1@kG`t8+a574}YJgxwnV{rpPnVO!2_#CHvfA`0~ zr*)V!o0GYCk5Ru~uS>e!=p1a&mj+@6&}pCPFn0F%o72RMsbX||I@VS;V{Foc><&^p z*E=~%?L)Ozk8Q@GB*sJjw%0dfYHl{ou+9z5Iy=XBJBhDfz02MDW~Bv~9tOl}SAR*F z*BP^rp^E{CMYjY390H*kbuj`gQ#LRxkqc(wXS?Cq{oo-WUH>HF6i{#7#} zL;McAQNg${0D@XG(`_QtGsfuj)O>W$+`%r|NKFKfPXy|efqZUye5POaU7Z!eP1@(D zy*wkwv2=QVO#K9_j2-~I=8}#pX8SyapTWi_)4oa#U#&LESOR#l7&jqBH+N+8K=t5O$jw2Rb<_P zz-e}A@D0sNYqdUPBam~pWM1T%{)|8*z;_yAO#*BdK=0fnm>c3Je{_xzm{Wu#7S3DF zc&_E1zU?&$19L&ndzuRgYONz<*d+4aqJ?lSasE-$Q2wZ(^Uo!Oa6sVitnDh~))?hY zpz5J?g_PJgD2r+N+4U{^LT-^c+3UM!he2M*!}jJXe~we;1&QMK_!4#f zpvZ;9z?VD!n%MZ&5Ss!T0g5~2+br0Ee*uIqcb+92eicA#F67R+zh_uj-W~S71dxWY z)lT2YNC|XFTPI9GzWEF21=0d%0i`6xUGKY-wM|n3;+QgRfv0{4!ZG=(Ak%^ic6BB* z;*nszl>fhLU7ThF=y#x$O9}inD>6URw%+d6XFbTX5S*Oi@|i`!pXrg0&yTT~+yQ>m zP+KB^w!GeNC$#<^QdjmxEWiIRb+N4aYiu}ii+FfhZu7LcjQQndx%kR^c(XN~m z6#tZ~=0l!vE?76MyL3#|=ah+BAHl5qPK7|3LeUz?<@IY(J7shziIqgsXYTreJ`HMP zBoQ8@XZk*CjD58a{y9BaM`bBd$jDHX#ox@=aw}ik-!`+oZFf!Y{H#VOO@T;9`QIC? z<`iOD-vJaPBK9lgBN1MF^f;E67o!81)XBCB=r}z-jP^)7X6F{70`QhpEX_>Eu|%2$ ze~5)|e|I0CRFCCHkK)anw@fzuF$(Bk+u4crk1H|7{TJOc7Wm1m6Ely?P8>ln9^HQs zU%hw{&!0Z^hv>05H(SGLPuv=A#*|LGox?mxP7Q$O86y+pvAesM+5pdK(7ea!EOw;R z?rEN)tz&kxF%$>KEDroWLLH1wlL}wzt7f3-j--H|?>D4l*j(F8a_%J9AWgLwo&fA& zSw83M1aKk{ai2+=R~Z1r3G4w;hG#t?Z5MtO1uPK>cnqH_K=v9-9M>580D>FXwXJzh zKUbUKa$+0V=T871_6z|&J%Tz?EZRx=>EqyY+Uj_?)*$3W6CT6s+DRlMI*hwWo&%(Y zQX^4Fsr|<2Q0|}#;O+SmAMMGFSmh4rDd5+gVM(GVUk_+5Ri!Thtbrh5xYuslvR5HA zI=>#p^xRT-`mvFzmX{yV7UWwU2HaNYXO)Z^)w_@|j3l6&ot=(vzkMA~pV{`8@#(Wq zG8F65;)9r)Xl38(Kx_@yI@%nC2yDc{{Jq!%=-N+y`6oY5K<3Hg7gzmpux}W}{xmD{ zfHhAH@9gi#Cy$@RzyDAFA?__dq>kNK0#v(jdidbv>?~wro-~jr@)vwRfJD6ixSAS| z3c&p8;yC-0A#D2wJVALh4)=}$^TTN(_P2lgpJHkL39>nlXAtc-?^Y7%s|hm9>?z>$ zymuK77++)KW5{y=0)8AG0=Tra06094#l^We>;Q(FwRrvZ1B81nCMTxjV0Saa!+PkQ z=YTwW@*q|=SL4eceF=fs1Uw!g&$&D|!@9O7+8NcWirmLXM;H?oNYHSsYLYcQ6N9xO z%J(hu9ZxOC{d-G{(YJY;`O3$4$Pa)F;N3k`Q*s69--#K>h|!Rop+<%v{{Z*l;h{J@ z+NUl6N=Sj`R1**m&5u0q#KSOqJ?8I|OJvcA4cbnv;P(DO3`3lZShd9%)?}*Ho`jI} zAfu3!?X9S)SvWb4i{pdr%a`=YVTkH6;CZAy75j%*)Oj$qGnx%~qV)iMb$_qJxHQyj z>E~%eb|Ntjh{hh{8eq?2adX4CsMP3RRr&+t<*Ex2YsLt&=`wx>2a3Ok^R{G8v%ng^ z8IIO@+Och9wth{T7?WM1a)<|?DG^fm`hLCpiz`6I7abw7A&Hj#$ zkJ5)s->H++TL69s7M<%PJ+2_gMe`bM_hwK&W_sfnO{$$zi{AqFI8{`piPI7KVLnhvnOq6~s=qhl54YJo5k;kxOVb^?C@ zwLn(FP^&&7FX!1iQzBO_>P>l!VpX&Oq(ga2gd+)P(F*XttiRyD?EXux)DGz9;U=5Q zl%dP@9XZTA^%Y4osmeqW9Z7|U>^Uduqaj(!K0*Di0Q0t)c_d+z_#|ndPg|GV=_ftf zM$+c*nsB*V+-YpoB6+x7lDF&=rQeEP%C$m_l(%iI?5~VS#q+j*Sp^F*EhbAo&5D(2 zDHGNJ$d-ATr|BnIvW(0}>2HI)G_4YO>dTXB8F?n@k+dKaO{pwTF)jQ4UOzZ;Ay9P3 z+Z|(VDFuX1a86L3oQ=e24tMB_8Buwrn4;tXc1#R{RDTh4-)Rh-%yL)T=V?^|y^h^? zAl{w$q7k{yvklyd)>p#cb=r3K+&oOr5Ujr32PlBLlyilN(sBtj1!?zY{@ z^zv{u@-`XCkS1BF`QW-h+h^RV=W>3RAXrAHEWxhC$A%Nknx16BX9QC2%nQ&p`SHYS zH5@#WW;~ky247^Run|ockdpD|yga zT@8xQ2|$&Fg&&8Aa4}J1!JpA+%z;_RTQ=-Vcdh;%>0b0xR^DI!^Slir)gFQ$Dpy9>)kI@Bu z43CYnU>?VZ_0{kkfW57)IOrV5kACu_+?CekV;G?N4uUZ`Iu?h3p7DAkj99a_u@(#C zH{!ooW;HWmlB_VJh9E+CMFm-4oo&3L=!a}$7si>OjQLxgt7=NNE! z-8%&Y02=H^kQ3Y2Hflg3JTOmfSB1}-In@9Ll5;g-wynMwf)L52QJ0v()6v=Rs)B_x zIc7I5*-h(~qDcp(I^pE3LOL^+D8zYA)K0Q_ZMu`U1R3o`8H7 zRL6y;c~|y#fKQ*=k_7+Mi*gV1tYLfg%`z(24FE{<2_rz&Yr{;+1{`2<<@*3KJZC;} z*Zlladc!{^iUi@L=T2&!d+M~a<{9pEx&UbIG)P%2*YJ>Jt(d6XP)2S4y8t3VQWJ3L z>CJ+>1YwRD$LyIl$$c^29?kx6xV>J87-bTOfB3i_j~+jzjf@U-6feJh2_T)$-BzV~ z#XR)KuK~VOqw(^^cd@y%$8QblHwxI@N-{7)x<>7ponMabNhjW~Y{iqu599D~KX-1s zr$$r(3~HhUVCz6GXQrkBnu~GF{b~sgj(hQ&-~N`ghT@D)@#5vnxDUbD*)_~%U;LN9 z{Z0Jni_d6#AP{x?_Pe+7qc5Mw#`+rR_aGhZG>6*UT#vQ&?Rfg+6Ts^(B)rA=IYF)s zh(j;6L7n}bsMW_4jO%~Uf&^?sx*sgxPoE}3((VJ`o$NL@KF0L)G623BKlO&KN{JD7X>N~)>PQ52_k1}|M#u$X6MSb@>yK&4IwZjNOrKt_>UHR~u=Z68( zr}6poXW1_V_MSJgvwM(){MCzB(Hd>jM;Sju&6rce#B3ta4gkdN9^i@j;~E0hg)|sa z`oqVySXuo*AF0QK$DhRR)(T)^FioZ`!^e-WV{Qh*!5C(hiuSNt!G8KT^WpXiWo}0I z7}82tJ3TvyvlBIjWw-o{Ij2IM&d94d1nI5-GMUGX`cxh0<@|bfra4$MHkm_4AwA8O z8U+Ba7za{(40)@kGpPd`-~?zf1h2c$*KR7fwmClnhBV#sej{=jiLF`{XjK?T`je0@ z`AN7DYgF~0fK<9F7&6x_0kwr?hZdR9{^#cgA8138)D|E~NKh7o8DXg1$}#TvGC+c1 zgVnluPR#)CphMOoH507k5CvzQGtI}^BQZ8gA3N&A!rVQcMHUhq=BhlC26>({#`T3d z;(ix{iSZHoImGOkvRYm)3bcy}QzLwod9``G@QT?*)ho%GH_x zLit^7fF?Zx#@yBBpP({VO$mtGFgXX(zL1E)!DXHU73A}RWHrH>Lb)mAj=XvD;u%Sf z4!!z!BzWacS6jhxxzDn2pP#c#I^4ShzLvkMY{bN}7WcyYciS`VW`33~lat%3mAdnFZua_#8_ zsm)ukD&Y`xd%qK?A#nYiehFM}GjaMZ$h_Mr_qh!1$#sd3zj+RX-yJ4`dI^l6)UtZj zGOB?YXxW|t ziZ+pjFP)LyeYZTyTFr?d+~<{t`zI5EZ^~rUElHVEr`ihZqxQgO{H*VXfV^lS`ZFSw zz|?v<3@xAJMcMm=Y3nQDGq#l)0$={$@|EaPg>d<~EcK;dWP9Dpz&h)+@B5wnl$Yhq zYou@8Bx*h@$o3@&R?cd>l%WSUdcS$3*%_ZTzw&+w-d$hGzyYMgTjpn2-2d@k{EN6? zp_^`xWmK2t#fQ;oH>3aXARa$`8V3i4@^eS{Fh(aPV}$#rJcSo9c-lLUpMUy!43du# zr3^Rv^7Wf|&7T?!4;*VxPG=t+0K^;vmihp`?)>)y5+!+(-k}BrVt+s7dUkpSc%02X zc}%ZA*xShvjPC4DwkKk3VAOUCjiO zF3;Mxz`$|CcTE;9m<)9Mu5s@H;5!KiZK)}i{f_1(1@fX_8=lskP9tim;qZ{YA?Jn5 zbC&_+30a_>3u)+OWTQrXDDAifClVRU?xveNnqK!_#|J9}0CR+L(2oH8hUL}7%Jc+o z0|05k+fBa!@GJqc+Y0@Vv7uUnesLTN(=(wnyWquz>fZ8vj6*P6o@oGh)k)P;+cirW z1qgYd;*@?0^-;=l8V?^njCP|Emk8V97PjN@lZVlvU)#sky69}~A$02-o3XXM9l!X+pTro~zWVwb z7T6kuVl5_G?RfouJ=^dnKm9r5tC!^J>KuRv*xlRPj@j9nc>4z6KQjr)6`Lo;KQYb*fS#6OK;GAv&gkb+Ya*v>fFldI^XX7! zAUq*mZJ$xIoZuuY3?$_1^>hB{Ys!_{cw)Ui77Zo`Pd?W?u38_4gr1N$YjCZS=k2&c zwOXTTnpV+1y>iVQYe;UuF5_lruag>*?Oh#rA8mv&rz|~FQNsRz__9K9;pdO&;b2>h!KLf9_bFLYc zGnkuhk_gxFvZ+=~a!k9I&yo;j*0C3$sbeyIK@%ah5#`JSL8t)PvLj0YuWJ=$%rr?` z&2X{zmmqkJ`Is^YP_qu)Q}Q%B=S4AxfLb#g|CQg&qmT#Xz$%^TslmC`^pKW>;o`Dr z5>gvN8$xU%^hZOO75VE2yN+?(BSbQjycOGO)z6F@y5{0bS*loFxx4@mellVa1bQ~`l z9yL&|xZ(u~flk^+a?*!Sb0oa$4UQDG*+0u^#QdY>Ia`c=d zP0N(4M3VK#C{f&-ZI$h)>`$3TB^9&*@=om;|4Q3_f3F`LxzN-^0C?)e!$c#%_2o|V z-Ojr^#)3xy6<-rP2@-u5=t@EaquR#Xcu5@iO~T@EwW-{R7mN$4gh*rscxC|dE*LK0 zl(hLFotF9H&bsM3G^UvpB?*Ff$&kQQ|A7N0T8WQD zPt#GJw!P8G1J8 zBjHKFRb=h;Y!jaGq++!Swu8}K>~orJXkszR81KkZOv;jIp&7lNZ60;hBPf*xjp)~Dv<`}Z+5I~&^v z?y4Gnv;O~S#(ZVc&MK{y=pfeJboH4zkQL!X!+j#7_N_` zwxrWJrCtN6k<+~7#p`!zHgeHDkL8E=;~#$eb^Oc!`G1O6Z{EbmkE=;Y)x@aP7=u7d zRs@{s2uwcus3?o$<8J(~|LR{tb~eKkllS*`0PKqiL{?T;kYhEz_*?=tiM(3z>g5Z@ z%2FI1?Ndg5VX8T%_8DsnOUr;pKr&0VOn`3m>%&&Jn({4Sl+_mRJZW_)@wzWwSe+Nqg+VsdIG&LLd`4Z!)<21MkL zG>=m&d3JIX^UDut2iCCGIBR_+R*{8$SRkvvil=>#PPDn_g0k)cfLqa^{F>wK??JQ} zHx$p9-%h-U-P&b1s zTwR^U(eWFH5S zFjpPW*R6na#Q^d!ys@W&>qm8b1}Nj*aZ+I}NYhA$WEWDBk=X$B&g5>#G4LUCK=HF~ zKI71>4>pktz?O07A&&jX66+_G@?m#dj6%=6^ZcUj;Pk>m--EWDQpt}HK0qdo}SJL1r$v8=nn!D3#IwUfr z!@TC}4x~$BGEe)0c}OaF7o4UuwqyYyS?z+DVyp@glXN0HBOCnOjwUSZZXWE%R zHZWm8(1a61ZYcE0k9;V%>8fq;v(M$(7W9cyC*)4QuvKjL)Ouvv*1`5I5u!ACQnREi z3K6mGTwz%+=?|78iP1oL|3~k0p*{N+z(x?P!>@o>ASuWd5ZaUugJPPb5rBZVKchT( zzl6kVk_^*WBt1=MG)oeo=3~6vJ-6EmI=P%06M?+LS7IQTbZ83N(@vj-%#JpVjF2tYjjm2>vIaR!-JIisZW{W8PueBnX;;d7s~XUT1XQm5bUM>!mr7 z#A1tyT+N3*6xPpr3bK{I?P7g=mBR^@j+3?oP+tqr*D&9r3DBg-Jn!0(k691P=)rp4 zr;M$iB*L^Tt0rD*oy^1bysMi;z-ww#gn(**JT%HQBp=%BO8!jG?`bARs`{097#okI zmc@D%zlcU8LvtukzCAlWjSt&fF%A(p>YZhu z()U35Ty(qX%kh3~GY?5yy8j@ZW)A>90@8Zb-9^9?Wsw|>wMXOK#%h}T7{}jeO`4e0 zj8P9bIRk8tkdN(Z+9OP2Hg%t&Tk=Jjsb?KNi z{RBV+iJ2H11Ly-V0k-F)x3RUIw)j@mol>Jaou3}07G!2}Ci|W{x!1<`2UwC3eQP4N zcRLBB9^ShbUw!*6g!B=Bbp%4N8z&He=bwHS@87(Rm+#(Yw4#-@6$s{3I)?AIGLb^-NuNDqLEp})VsPn`^LN*{*2 zjE|1T^CwT^umAc#W|XGp@K9W{VD9d3A(Nr>E2+{(n*3>k_F)yE1t|N6-~Kx00QR1{ z@$|ui7_37aMw+ojUw-}i6##USdGRXEskQ*S%~~beW8+COUcdYnf-uck7|K(&H@5Zx zc4zVE;p14}Tmghr$NlY?9G^Gy9w#Q5w464i%g5`cUeFCZ>Wp8xLKZ!%)r{=s(i zSZFN&!oqAE?H^{o2S+E!*7G_%bj&#O670U%J3Nd}o;^WM?-|p|-UwTb*xFu)oD9bh z~qeKzLaIFIRF{Xn(-X-O9D9%0rQNn+?D3K z0J(r&ch%KySQ=+80k1&2>{Lq%GPi!ss*0w-vb#rGQGBY@L``aaLzr>uep5rIWr#$kRizFdshn}(GzXbfs zn$?lA`+NfPYt2jBJnP1t{u!S6BiXV1CHP62GucMUL$Z`Ivh5)q*4wh>j=toDXOV|( z>gUvccy5I4tIy1pW=*#a)s{yY@@$DtB^sd~mQ^`IqBTQH(r|s4`6!!|6J(|!3IEh~ zNII1fYkQIm&sfpFhJ5w8P-bdT=nGf$6A9mdCS}MsL+EP8#dtA&`=a%-KlnKv>yf4P z%0m>t#}_^Ghea*~;)-0YgaDp7ivo`T8rz2Mp%h&F%oQkIt2_d01R3&FXL z+QoOl^oo|m9sMWOYOJw{N|4OoJT15RYbNG3)0L$7?rv1pp8R~|&ZMfGh+br%T>Q=U zv>aoA-BkdrWX1OK9)DM}V?S{U%Qit45-!u1NZPN8R;mz*bOPsj>#8Z3GE^I(Y|Y2^ zO%0i;bC0jo7IA&x>C^ZWKv&B}_#`e*dU4F6b_yBLxlk?t{^3y!QJ&pHKq8B(?RXF1 z^~Znshg9q9P&@`eP~!6dzO}vmIAP&C2FMJJ4ChY#HDxiP)7I7wVCjBruB^tlUAp#X=(bl zJL`tm)VxYUVuTta;^d)D{PSdUokE?U8qMMe+3B7_09$bhDZECWZ20(?Z)<%uUVdE7i9*MJ&jt{ft<&%Rhkx?V62Q;R@f_D4K6n=IKfX>v zvBUG4#|<^Banx07P>+B5PyaIBym|wG9Evpv@V({xaSGraWbti4YA<`&^t*oK37MiU zXWh$q{`}Jf@9)X4-O@(+oN_**7qAXoTvCpAd7elAU?ah|cKaSEch=pH2TKp)@BaS3 z#n=o}hCxPr_&0OeZrPWIyv0yjH12SBw?^`|U!@}8U)e0Rv>ERH?>8z8Sn z=jh-t{Z57&T!w-K9|@24jq|0n5_vb}SV z=5zPvm#Kd*eLp;O@WF%mSVzvy;juJzsxb+*_1&O1`Mv5{4}h|L`oz@CQd~fOC8Ayv z?2nC(LR^a`;-~}ZVZ1bk$HVhL#>SiB$?xYEMpdduw+nEg%opT4O#7XvNxeFcQ%IJ? zP&;=Iq^vUkDMvxnIc2R>JTJg>nEzeNX&iU<$=q(7nD9 zDEcVG!>CsDnKUDE1E&DP;@Ipaqh>X%3V=%I7SMpR;O%vZg>qRS4^=4qo>~Tp1>-`1 zY#zDll5=Vum~9{sMkT6NA5#8xC+J%3(@dl6 z!m~C>IsoDNu!`K57UA!vp=Jq{+O> z6mNLgbfN~dr&Bj|)ZyK<6Wo*54Qbznn6*9BP~;gMq-xz#vyx8bZXijnkWXq_j5M`e zuG!Y!Z@nZ0Sx4vmI}@cscqE)Rvl4v{{!R zT;J#G2S+Xz8N3b&{{)nRb9ZP3yG|UD!G8(txo*C8AvFY^%b>YX3FGQrW%pmrg@nQH0#`en zzw6lSnH`qFU2u1t?@W)}iMN}Yt~=-sZOw`VS86KMv&)Q;+A=6L$0reJ`|cySu5-4J!*LbkWLRd#gL|T5wKeipD%x!sTBul zKPx+5mRH#d$gR6FF@M3eQc;VecEWa1zIk2-_bEYvd?9j$w0Yh8eOGS2BzT%K*(WTs z^_SS(2l%QDk@$FBd0Mj-h)s*~Di8D3gw3{;V3@aM*R*Tz_Bq>3lQoH&PTZz(=NIAu zd%25EQId@Cd6)Yi|K&f68t-${v&;byA%Ol6AbYGi6g3v}YXG|oM3K+Y6oK)`Yi(3_f>gG_vgbqK>yv%wVr6{;pmr9+BctgE+D~~_c;?xcU&e>`?_y%OnRfn@lhdJ-^CiULf_KB( zdNQ_WL>xmjjQ4KYHuv^o3_>%MgaQIF)JQ*!A!M&fgnkT~iC7LJJmn!@rX$#A5jKXp zy}{6yeaN%{z_+t%s^_@`HgJXZQ%m6CZio=zjNn8)^{@ zbL;OCw96ZT$xXBXHP>qC$WF~i3}~k-L2&1ayh&4SjW*ndu2ex^)eM8h&z(_c3+qz_ z;Ap3wW?B58Hb>2hJGSmr*C=OywUxk4z&SB98BKsA7%GNGCt_l>I2h~Ol4~brxBZsy zE#(gKC(l01!`G^fCV+bpu(=Tv?NQ{)TyV)eL3>Tm55D{6J+eKDxf$Ac?L$n^elK5r z7b5`owT&J6Xf+<(TLu)r2b{M6Rb5EtUOapLEWZBcbv$|WfNN@z0OjQ2;e6+SU>B!m zYc&4)fBU!59GifEPRIYBy#H)&EX&q3!9@j-1SmnRN!RY7RYvB`t4nls_jH?$_1Bp{ z*=9Y{Q#I9fb;`)l;hOH$S_4!dInT3>^OnsYNK3N|4+cTtoPG9QTfOgI>c{Uj|AFju zS2MEG;mJOPVI$>SDi4!t>;QC^mKM|B zz=Uo61NwTL#`M%UVqlIk_G+U&kerEFS$ZAsfA}$D?-)RS8biYaap&%X_`^5fBIAhR zv5}ZU4(5Sq0TDV64F|iswHdtwRY3MGV5uvnCg=FvAO-+>>V0^49z9(E2>MP3`q}B3 zs5dTS0r@X6pH^44=-XyYjE^uzo6+6LSZeQz+4&jB$?q5^Ef9ub#zSj#BM-s#_Qp!w zz5j94Au&c)Dp9t%OC+6w=kdvj`1bqn7$c6Ow%CNENw6fg=E2Y};Idhw+A8Jv^yYV#hkp*rvac}KWDu~4xL>9Rp#UA*%hScIR8$6snle8a^6AR z9ZOt`oUWVa%nWJ*No-@z-OwkR9h#rVz0czTovSrt^Kife27PHdN=g`@&sy(ZA(%FD zout2$eracemvkIKNHUlS^9Vx~s-QsCVRVQWPHU{7kDZy=PKJRTj_A^vKK zG{%XU}bCj>2vkPYsBE9|Yr_c@jSqkUs@saN@h8x}*4#gzz`uFTp3EkAcHo z0&K|xEdk_81PiBUU+%Nu8vv*PGM#w^r+j7^NmvrNLWGn-k^%h$^s^8Ffe`?{Y2%MP z1j0pBB|dvshpQ&wRY1&hO%#{+=1IFgWP*CGV|R^r;8u{_(J{s6norGSebSdA$q0bi znlpx(=*U<9f^9z6$-jtLCE>EZ1)zsiB~mM1`m1OzR)p16ZuFx-TwvZh$d80bqN+AX z6D?2dC8EgOb|&cdUS;WZuJD!%;bN?dEDQ50KDRBYMX(&@C^3=zsYxp4qz=*chp!^h z9`^wFHLEIoEA*uS+-IK`Al%4V}m+z%4 z3zH`6QV`Vio1u<*{gniVIwR{s(^7;E_WmOIA>$~0GBh(&`}l9%EXosWPZb1!0(QZ< z;7?E?VYt;k2)zAFVCg{e|F_^%a|eOO3`9kHdrz8;G9*aM({h22f@hQTIf7Eng7oXS z1*vAD=51;;Gqg*eUaKq3X%p`aI>Efg5lBf3tNh!=e)X-R8 z+h(1-*ft7i6TtJiz8Ypr7La@IK8w80>JqPXR_DHqy2NLz$1aRAQ&bWY;Qhabh%7$jkJHT$;a$s^!>h~FaGQ`*BuRp{)a?LHBhN^ZwAJm?$FICZWVAHRwGrHJ-v zPYZoWhpIKW_5><>o-xN*apd_vfr}ax+AXa$3YCtbW)PO}8me~)f~a3frDq8FP@f)i zPc*_1oOkZu$s8mVKvT8965W(FIzGcQTwr)5CkXaE zDX#SP#rXJSoFLc3qmwuS%=Ha)$ETnFoVH!j=W1LSx701Q7=ZUmr7ev7)Zf>`{n~?f z#^lsgeE;ot@%YKZH1!#%4aOK`p$CwzHO8FJY%h7z zeH>L21Xe1sr2hf3oWDEGc)E_SzWF8|K6)=+zkUr-+K$26K<0J$>JPsI>@zmE4jG?& zfcfKi_G~fD@S4bbW6OLVH8xcJ0i4;|(YHeM`ndP^F~4v>o<93N=I0k;1435r8ba=j zt+NB#kIa$x0;H>PcuIQ>je8h_!zMe6c=h6KmNh*+oet37{qPNQdw{lkifW{&{dc|q z-3j=2Ojao=s*NV_Z()qr`i=etn7#p!ALu+?2DtChR}zv|uqGwj#tuTv%nUBR>anbVrZjWX`K0rw|-)(tru$@#Lo ze^AuAejoMYqP`Tw!ZPA%Sc~}79f`rtW%N53c2b1#Z ziunWZ9~l}yO$+eL4*JdwF@1q{4_$bq2Ka zzuGkbX;QPOCfR+cBf62BiSHx{U5ud))&%$4jt*fK7c=jjzZDNoAPBlw7?sO)w85Ck zpbd~14@@+ha{an$Ht1jdFW8rQx~MBV5YN0+>%{l`!QAfxoUwL8vpw{b zpIcsnaR9TcR6$IvkIu~Qo|FwJ_8P;iW|nW(l?3DfSWRd6kpI+jJeoKzEhql*8)Tf(0xX+OFJGM zgMxie_$^lwBZ(5!yJvVXB?&Xil##gf*PBdDPSG!{>yRx8Ur`6f2gKkul&j=KTMW&Y ztp7D~kW{2kNQMel0v-H71d*4fR2lY`?=(5fu^{@P4ZgP?K11`X%(-DdNJbnd)YrOq zv`-b+Av3i^h4!ZKvrr=;8MAIFm(+$xf|ONZ5@(%#Nzne7uRl3*ApjLfI9vt+G7^9c z56WkrDhqH0=ysvtRe&hr5cmmp1@Hn?9e4dq4Tpfmmw3do1?k>jfZJj?3$p#~$yi2h zVv*IaW1Mn4N%90-LZjwD@R=lpdj!2M_Wo^Mlfdv>CuWI=_da6b^)z0>VYpLIhSW^> zJpUG`JN+GQw$nBWqI;NZR^8`0O+CpGoN6Dg_F;!I)WB%|WLauHhFBGyVqUKt1k!?i z{T0-@2-I!267(6xdtS~v@8dJI5RxB%tChKx5lzWDbn}^}Pb&aJpY8X8Z^_85OsuyH zm1bv_mCojN0H5icYa1=^cF9wNQ4mYPK4X9{)r@$r=2pdX3WB1BNzkuG!{_bsj3T>s z;kWXdK39&GYoGYcGM!}KDrY~L0@SMobNomo1)nV6Iex5*zx}`e zZwWjO_V?oc-MbI~PmNk)c5)Kneh%ooga8btqvsUgzg=05v!lc8XC9L|D~zo^H8~Mg zeIa;;S-5rV^n~=xXgL5mvusOv-JCZzHWG+yN^y4D0HE~8*8Wa3_IC3$PB62vs%^Oo zjpLg#_Yb4iHvkYDNuYYhhT8(b9fq7}!sBWG#ON>!7UPdiQnMt@7&IyB?uPg%D>lwb ze?Nj$I>>>I+HBD)o9lo9Bg9<9K!0BxLxL>l@E9-xkfcihTbC@1osa~^Mzx!pHC37Pir70W@h&W!?-=(|uhy7GQD8Ms12A zB{gaB)Yp-v-%lsRN;3!RGlo1o6*lZ-S+ddwh~XI%6XS6T&=G*NP-iorTSXmW4e{Hn z%o;i>Qf+{~=3S#>qcJuzmU$BTjP^7z8ui1S=;`%z@jT8TI=ef&aTfr7adwg!s!th& z7w1>$I4eNaseO2OJfvVMqI0ap&&6I0VS*<-ahH7n0wK8@EeUjV!+acBN6&pe@SgE7!u zj?SLmG=-{G%Bc|%xM|8`*wQ<9=VNE{Fpkg8AaC7}?}Id%N(~sqx8?dGHn;cV(fxaw zH{+1;{qd(iXY+5R{628f89=@_8fWzw8R$(-(MRunNI$Xha<9>qh5_RyXdDa#|nTG@)>(TQk678LmU+B&4|5JCx=VO+NZtPP)QIMrpwgkxuuF=iOn z{oPH*NdcdJ6W1Tum7R*U?dd7N6pG#0Kn(hY- z1jyPsc8*3)Y>NCriy7(MGa zeW6^FHJQ^i%6<62fEuim4d%0v%RI5}$=p8$Xm!t0BT$${=?pC~Q4>JfNPkPZJqIbMCx(%*l_>)Sss~4Hwv2o@O&@N<8Tn z^cSGidUdnLKw{a4E-#l8JSU)4ivn>g>S4c$4rq7+@}eGjqR!t5#;rT$c{-nAQQbxP zyD%dvo>dSTzE9I0H4C&m>(AZ_=oWx`ttat?roiX%pTy#FE$dBZvcC*cj@l1N2=eAV zAMjp*N;V_`=Az(!`Y2IQk{*b)=1O^=n(|G?<{iFM(^X?`zu+G624lu+-T`~>^SAA4 zUT$U`3R0vA)LuR|i5hh;%)a!$(656&r5-6?yPbf|J^p1o|JawRRAG-|%5CQ%KCeO+UXo8j8cqRbohm*NCdKrZOF zqYJ>xV#DV?R{&_~mOUwm;UZ7<1@2z&brJ|c`n(G(*J^6C{0`72^XH!zd#Z08jLalZ z_a#9R_V^5+ml^}=a4eYMZ%^JO13v#&(;<1X?v@~k^%>S*v!h|^sELp-@6kj|&4~9} zHy_*0=A|5joc+{C4NK8#wHoaqnJTn7OqF-_kwgg8{m%BK#)g~h2dA?M?5vNnux=Kp zCdtLm&;7|v;K*>k3o0nP|zxTOg zfBBaQ#7NoX#{Nzb2y?9A`n(^e(<1o1vD@l=YxN#Ak zy#p~bGYL3gK?4YRa_I&t8Po1t=}wGKMV)8uL0k;gdcelHFf$+5Cx`LTr=MoBzm3D= z=;V1P`v);~=RSM73tz+-8>bHFO|H?2{DRH650IyWx82}qMpW6~g5VN_xTm+q{m7GX zZz4G((b&gDnJ#|qaRQmD0IY|`W)cj0;%*l1YL`j5deR5OJQJ+|HPBpC%G#z10NbL! z(gTP%k6{3D3*e;P!YSLn6i{4V>k~tr*c|$+HTs^h&p1&Nq&7x#r(Ot?ejFzL>Y|RP z2PU8DNSpV*ou?1Lu_3~|=nr{G@HEVnP;9-2N!}s)5oIpr4bNcD|3y5wt z-YhTW7<>Kt6(r)6{_2bx{r2PYr}TY^G8r#**5^JWbCu}Bj?@HW9Imf{)L>o?({&GB*2?%2hqynetFq~oHWa- zF@7N?j3H(PYr0PHTQM;?lMdX&BYntqBmH*Dh9ow+QD=qUo6*fYJc88Tu$CIqRo|(B zejQaI=8);r3qT63IXeTGwgQwP1|^7-{c6I%k+BKp^&xY&3}HFso_aduH*eaakG0Kl zX!NI(lk?PG^!5xeMz^CM`8NREE)M!BRgjG)YI^J$GWMqBGD)`Dr|>f^3}AF3qrjXb{?rGS#m3OpQ`A z{h$Pjr?jWa`gXx$Az@*tQjXdP)=5Z4JLLS5an;>D5OqkF2RdphCBsIv>R`5R6uE( z-QfZgPIfOeka%OjZLw7o5Xdf_XeO+H|m`-}4R8*u-3M`Sc*s8x4oH4Mm4 z5+wKs-1-s;36N78k=hywM{$@*#S`$}o{+mCSl1%=gnoFADZ#dg1o(CzHE#2bCECPnf@FQgMZbUa9y*xOCRcY;g%`* z7Qh$zG3*x|%9TmB!?N<7W6}dH#%jA^n0+Rs#XeQGv{5kM@lNAZ5IpXu90^+H$l(6w zrJ4{iqhzEQZ?}FTMf;E$dx+!v;_@x`Ndy)4@zKwh(4x{hi5v;=e z&B$LSX;foXXmpyFOVmR@9``)`0dLK+mfx@Tnj$W(|)xz0)E@%7m@^NfM#EUz%5o#fpq@kI@_ui z!S6KTk_`APH6PZ^ybl6<ceHl`Aa6r{$GumjwFu>G| z**g%9G8^#x{kw6vxt%AXhDWRe=r;g$y@0w-{yqV4)c5yd5FoIxqc4It1gHts_5h}RvBL`f0Iy*Kw z7Y6|MM*S#erzY9_yJK&EKiX(R2OI3r#8j+2f1aeE3qYLy6a)Rp=qkh8YPw}eTTQ6i zyFA6KB)RDT=-(Wl(8nxp3^3a;&_5JrQSPgHQhLI=2c@L%%<8S?BxBVBTEr4+Hp~;D zxk0(o8Cw7(O~tCcm9&>W^Ms$7sx~5lmm9ry*!;FkO|wj-XGq@q{!#RMf_-MZ`%=u# z&gZFcrOGC%qk306{n8PAwIP58a}(KAAq)C~Xa+G<(PlcGa6AAsB3=MEU{CWB$90FBdlzKpDs+C=?_vjls@amK%+BeZUFt|X1m$<{ zF2plHvClQv!`0bI%s;#j_+?{3{$?>YPl1GBcY8A)J$c9&I8K{=eL)0OD~r#m-#D_r z$Vfxo)Isx`!NF00PbYF~jr$KCr9aKs=tz9?%^x5;<#_nuLHzXeCji-bUaP}sXQzOd z`8z(ETCX>Y%drlq)E~lRapuujTz&;e?TpScbA0!JanC#g>>V5(QHLhr7I4Fc-2>U0 zhe%8S$`@ZR#?a7EUTa{0uYU7e>VFk;cjogn*?b^XfT&?szyJPQ%7H90PPCy1Sp&d( zAy$X!$lXUjudlB1oZ*XG_z7l7!CNTf@ zw&H*OU;gL#{kPx6{M-y1Zi%_r9}9ODm=}O#p1)0-zWns#c>88GmRFZ3vl@rT^&AJs zkWQVT9WQDow6E@EtgfwW#@K|wTaw3GbZ`vl_B6ADHr-?drh4NlPwNHBW5a#XQ|U`0 zeR{GVr^tM6W+7Hr-bQz)QDCkZ4<`xUB>=TRO1~D)EAuf#+a-N91}P9M8I`OJIhT{* zUqOr|>e~D_7@M=Rvkdw3XfF#cuVWel)>UHdWb6pI^m*v+fMigv2{?6lR$Hf*fE^P+ z!sC#=gs?$-#|L}U1a5d}l67RC@!d`R&X`-(7=%!1rg?gK6+?zWro4UH)_SEj?GnIm zXk(t;rn71@j_RIzmmm%v_O$2RcHQV;Z8cN-&2?)=nCq?RxJ}P-jk=<4=JDz2CG~BK z5@W{9_iYe?A=b}!K2x(;WzA8WtKXO8(KX5t#jQMxAs)Sb5D4YUx^9BX2J6{C{~(*| zO3O^7350-Xm{8rC?EjSpeAL^jv@~=xuK+Gy;WxLE%qe`3w^7 z)o(zphf(GP#$E$hSH}4{a_Y|;Fw;XK10yJTe*%8W_VcVunmb8$3UJSd`97bQgoOU_q+Q_dYD$?!ChZ#4 zeOEs9RW{0~0MZ5cw=TE-Ah$r9f>{$L7$X97)?Nt=onYqbbntE;>t}rh?mok3S)O23fZ-5qaIt1anhN>7q(~DW-sY*jpBZxY) z&BdWB99LL3%NF$OTVi{CdHQc1)PN{6%aHW+@m^3q2H3JZ0lxC}dETiR5KBbX(Pt~; zLMv1d1+Vp`+?2W37@5hk{abRS36syZ?P?vAmBi3zX2dS8kt}SmlUa^h2MK_h7Tckm zY`yKYl|En6W4*jjQzq+c-$)?5##cU{`;Fpddwp4^W5u@V)3J+uG@sg_9ug4SV;`9B z!aFSMR-O_^H9T22zWI;;{@(%2_hM#dE;axJ=hWYm-+%e_uQNhU2@ozQTiM)*-oXJD z1i<~!VAgADWF*Z%+&GQw0l+@3tql{NRpNk6E#tCN>C>abn7jWVZusn?(TL40O)Ewz=OQj30b|qCv3pdH7mF|B z0p%{OQ%8WkVNlyjopE#tVL)bP6gJvajo-T)Tj3T|8yg4wRJo2h2LK)hu!7Q4({_G# z86%Jq^JjE+n$P1n+h>?mLiioK)b)E1p119J*o0fO2g zQyE&dHk@Sp=;Sc^k(oXz`ew||+-09DOf&i+1y=$Uh|lowXjFNg*N;z6#NqBXZES~> zQ~-K|03H^5236y@L46q8V=nw)}M$V42UO*tSdHZ51u8m3s;L}9L#At3ygM9q=Efla>NMWG zejS~F#-D%rS(@~no?gV-(kp=FF<@T}4jUJB-DfO)@aSH)c@B`i&3Ic|S&6gDMgq{^ z{^4s#;Xq7JjAnZ^?ds|tfFx8Ppd<1958qLjGv?8HMn4wO_c74jAA`e#@#@tp+6f4rm`N>*mgg zo15!#adw)7+^AB+-220i&tqn4I@VTKVrY0Q$L-e6evFO}({~r?OTwr`o~%0~1F;I} zn1PJ1t?$r}oiRCDi~T(vwCiyIdDOISa(FmizkLHBE%SQ~LRm@QtW!wk=-6ER`20tR z;%-br`mZ5weT*feWz|L?atFJNV^+jwTdc0Vj`toufH)pSTbVVVhFme;ub40T`s^I+ zXZYE^qmj%VGQQPtX=-!;8CDzE)&>c?RHNI< zwF2!k=4?-D>NEjtV=USqhGEuMM!&K2r$f*p6*^}zd85L zPn*#Lkuma^$RPCZflT(W9%u`pHY$CtSQm_P)jt5BrYy}GH4l^g^g~#T?zT_=6o9z^ zfocl`#yVlADNJezBoWA&wO+j8dp}E1$$j~e|0E);&7OdJGHqzl;wA9)dPxSL(FbK; z33v;jF6t;w$OWk-zI9&}e6m&mxIJZ0CtpZGMrQK8W$-T@u3h8=tVw!~qTDf0`I>$S zoIN@PXCx377pcj1pK@pQ{xf8t-wD!7VkLp1c&_mTKkLnPwpH`5BoJ4}d3~A|d4Kve zn5)M&T_j*mBxONdZ~Y1rE44+8KS+YaB2B`SeQF!@c`!R+q#;A)a&fsr+182YB}w4P*&fM)^03dmQ?epSfVkNY)U(hQAV+0J-P0`2 zf0D!`a`cIs6y@n2*fvOAHfbv|mxQn<`s^fOZTMM3_ym(kG-|MMPr{x20#<>Q09JsiCc@tm3jw4j z|4C4|R`VPEEYtw_nPB;@CpVPgXD+3JNFzGk;d4*ceNI6dijc3q7o>WU&20%<1+SJT zs8{2nABEp(TIK1#P<+VEjdG1_rK76PQ!^o9xb^+el*vD!vN%QpY8TJUgJ2B4Emkd-X;m&`(u`RIcvF)r$W5>28u0V$d;&CSin z)c91KoYi9=P*VXwm?``8U@tZgj$(RdDk^}b?e(pgnww=)>I9G(`t&+pF1}_FXpfos z`Pc?{T>!|9{G_Q*2Lz+-q8Vpwq-r-Ry}hxzvXKs*`&)Z#;A}9o#d!K|wnjKIF`3EL zb~m=82G|pAZ2>?&|LhC)G{3l}{t0S&^w&8)JBj=E@1^7Y^6FO9hWoRx%;r3QcP_PBn(wK(()M37 zI~}%98&|Qp^g6~S$Kv$-D%K$iw)f(sk;(C%zjy^vIg5e8UP#M8Y;JE-?`M#fzQPm) zx%APmL$q^db`la-j|$H)TGZ;=S}ZR^Y6touH+N!X=_RCNIEmQW<`yz;kL9(Us3X@c zNT_71!LtO8`k2g5FXV==Q@V-hbn-P3*$AZT$LB9&YI-hy`tgVO=<`owe|rz0J{*S) zqg-vU8Qwr%_93WOfWxkgq@@|l^3oQ-vNJyZ=yS&RE`U=rx~us3!}sEMzxy@qFqxyRifPw>1i}iqrcK02auS-;pxn`(N>0V0N_j%Sg#)-n-j+QRgTjZ z)|htWqB&K)ah|4CI@cOv_0Gafk|CX#C6p)iy*N2)M5VizvXIBQ?Ez>*cpPgcZ8L|A zrgco^%qwyOsM3E(KOKokW_AyQG_X$s-rJZTE&OrA8fWw?wZR!cqK$EXRU8oL#D8x1 zTiS6+pX=u#z%ma|28dw3UeS&|#_tv6?C5wm?`4SR{5M#G^>Q6hL!mEBU*8C_1TR1+ zyOF7RX7-Ox`OMRN>IjJv{25lfl`%9rJd(s+IZsYaW*(tPQ>#h_YB)ZQUk|l2 zF~IoL4};xX5Sf6sLHmr{q%*Vt6Tl8Y z)m$ny4G@XcW&olK#Gyt)vnF>xPtHBv_q_*`Tt?sejI4vd`K-02r>KX01<=+`ztFr` zCw(D`EZVJRr8dMV-z9+N`4^XqT-QI+g3Y0KVWkYQ+TEmY+lk0+GZiOI6nA#c>;3biuoh5xJ z_`4ult&p8sTwX5mo_}1c6T33Yd)^aeLjQllT`5hbZ&<{Nffe= zc%Jey8kmHx&`yZ!)O>k>t2Rj_Cz0RbyFcFRPmWv&EZq(aO)5ZCc_xSyU>0ZHl7V6% znjtz**!ipYrf|F!5bNWRLzeGHnebk(X2Z~|{`NV3=Cy)r!R!(D2#f{wQ-E2c1qnXY zY*?;wLZ~^QB3acIA=+uk**@D;YB^t@83>ic6rZ%mna)ZwZE9+YZgaJmI%a{y5G3 zu1X!$I!Fiv))FAem4IE+a0~P$WenLQan{qN%RcfYG1GiY(>GK;t_r5EB zud+$_AZ2e`)TlTmmAU<_&%)GS|8=x+ZzmsI^S8Fky`@rgRJ!BU^QU1VEX@)+0ogv! z)9x-vh`tN!YbzO&)C6OmhJEzOCsC{RruJiJdnf+-Z~ro0yn0i#mCbV-!1K}PKa1_9 zx6wk~)*t~!?>S+EItHW}LUnRv6foL|^{pa|re-SItj|r2CXhPoGe$5kLI&G6o?Z&Y%6%Hqf`_a`bSmCyosSQvu{usK@@! zPMjl)>G2VS*acvMf@M0EQqzhT{}`mAiUkYkfUUwjO`{S^UF4{yn6jFGhyPZaBq0qE84&G<_$79;+z!padLPVYY>lpNJxJ0^0QLcZaCCHrKHZCn;l6nC!3R0E47WNzHwWqJ zM+O6o3mvpsVQ(a~T`@B;oqiSuP?(vSNRui3N{lqL{Q6}kcHE=yM}`2-5ZdXXe#Y`S zbL}c7k^TMq9|86^7}w`9J~AF-wF%~{{awvmF+DxDXD~Gf$HxbmsaoP-xY<{WYf*#9 zX$qqAuqJ4S$9s_P-MF_vdjW+y2TNLaUoCNFf-TTqPcsSV8r@};Q^|<@sy=XEns{?~+`dEi3 zX?Y|8(vkd>cJJ?*>HIJ@0jXbn`cY~;Mj*eM_z3cP_}vO1XOaLgSbNVds9PKB04rH* z6JoN<7=52}GTvbMNj54~)`cq`cy$WUK0!8vkQUZ~(-X$?2|#%?%!^{Vnq#%K zv7fL8Nz`3`J?*~&sO;_3Gh)>l=S*pK1lLmm{q=U+K4LiDf5F20>&U^9%HF_Y^I40 zdwY3^HF%pf8USXfUDn?UL`v|ivwSOH|NKpB^OC)!I%R&`{zeb=lLt}DHLLlF9t94{tA?d;Mlt~HicSE*w^#Bw*sPha0)uE(|E z;oRda+emz6HtdUYfxKjCpa7NbMD(wK+pNuoMb%l{ek{PLCO}0bBlAfVptdlj$&+mE zFTlGy+U?0XTG>+g0v_?k>RZcafb0&4syfAdFPpAoIHP5Ot} z9(J0nha}Cc*b*LnQ|J?uGhXj=5A%xOh3r8VSudToB}}#lc>w4$%eYTQM&=#yeUe7n zlh33rMaWpSJJj8F&^Lt^#*!p^*7r0?Lt(z8#zItLADC1SBB8$p^(Z1#*=K4rBugIJ zQYT2G&foT7|N0fp2M#oApRCW-}+Su&eaHLvSfLJML!pqnl;?6 z_I|;t{tIdHlXcSPpfHD0JK$%6UP*@m~29&v!9YYv8@b zVpN>iTb_Oj`f>R3+2$beFJ++oZb^p(MlFVYBT-R;Ca1G(uaq?DSnU%e7T&97!?N^| zvA(uf4THbcoG4>6np?h_qt#0zMitSze5tWf#(w8>t)Jx;nwg?}$B$0wYIqE->zF9Q zB{N0^FQVx0z9x`f8Ki&Tr4pF8F*G05}fVZS5*Y zQ=s_#RZIhlTea^mmjK;;X@cYlo~Lrx)NN&Pkqz$x@KkJsQxl`{{ny_`ZL}7vkdMjH z@i=5teDCptFtnthJ%9M=2R2}UIt$h2=4L#;b2rui$J(81&pueK0(LiI+6YzvfIG9( zNp2=4XXB)Clx^t)RM5P1)HNyB5kRwQ61S0&7@wSuBS=FXVA$l^D*$_mYt7PJ0r(g$ zwc`p|9v?*oVq@stgWWwg)zRpqUK;?n3Sd{~X64kz!gtA}m5j~bS%{6*<(Qk9jWgsm z09e+%ZVUfR_XyW88baQ6;?|0oPEYgk{+F9fni=t??`%*$-v1KeY{ShM_^ zrF>#?5;)!)WO&Me|e>jLYZ-92=^$aSX_V1ejc{8*pw| z+hd4BE2OR2JdKgTkt7_f{4q5)7H6j>Nj#6K>B;mj0rsT17kDS_zD>4whxwCEoRy2jY2E^YJEexRap&q|t~+4?c{+fog25YpS#!kKcbU zp1pX;jHCx*C&rXg3z}MruA6{kF z?5p!*#(F!XaU%Zk?Kc^1>fm5E9zM7mzy8gy0lt;^!&hIiv1w;dI|0&~i=1Da=BfAk z@wOyQtSdC>&NHuh&i`O+clxmj7DeS`wt)Gb(-`TUe{GfB2)$7|J~pHL(EJ~ zLEa7F+0Jv;0P~XdHs*I1B%_=8Xf&-c?qg43&Z!AAs+iHgmR>#2Kn(kkFG=>!?rM&q z@$oU_RHwfnV$92Sz)3og)A!ws_l>pn%oyHPZexuQ@M+rUvrgmA!o4Ijr{{GD#u@9l z2|k;U+=4&}hBnsrVh@tq**z4!Jpe_da>hELwxL>Xk4}hCnQ`yn?qIwcCF_Q9-P7Am z-}7ANSZ$z4hNkw)#G#sMHm@2Gi_vH+w?b3^Rm>@)S*c+#B(9-w2YPxTpu16JeyRcM zqEqVU=H38gx(4%^hY8;6dUbO}8v$uG^~4 z=LT52&LBcn$j&hYv$GTMTk1+*G)KY>W$BBdKgY!-AdhF7Sn&)JXp|~5x?f*k^1KrL zaG2U&v$T(}hUvFs{vr>aY0kDhhECXOFTgLF3i%IUE-*CuPkshi z^%TEwOm=@(tKcXt_O;ANEs(r6tGeM}&Cejn6(}1eNDwQqxBVW~NeHWy4;kY(H}IW@ ztU8x-j{uZswRcQeEy@_OojG9$gTNGwL^j2Q$X?rL0q%h?v zK)9##5*D>Ep1=!y=@Z^daMU!U=7i@+jBa;hL9oETAQiTS&v~X=0!f52YG#r@Ghl1p zWyWmFpdSJLx5@vM*DWE+tm8?p3R5NJAZTw-Ul9kFc_GI5-0>oT)3(7n@g46|n?xIn zHfbtlV2HxGT3M;RNJ987!J&R5nM@B^7DUi;e6A%*E+tFFbF5!mdoAxPOvlvj__-0F zlzSnE!t4yWab1D(xGD*V$M0&63N4LZ8e)3#&Kir;$$N z@4&Yw?}B7C64q@K5XDCcn5~mQ*ZX~z*GQ}^NZ_w_KtS$yp2pjLH$BVr8Il3bxI9fX zv$kZ%wkbo2T8*~(*{vB`k}0mY9JL$P-{~MRDhSg}k~jOsI!jV4$9h_8Yi7Nzr=*a# z1xa~#kJlDtr064aUq}*sp5##3`Cfve_JGT??$%ecGJoq^Vr~y*t(=Y8RiW%c1M-ek za-W33Hr@JYII$fMmhay_!+RVjWAv#cQrYOMqvmFMW+uarxHTXHO;C>@R@8 ztJkm6+~D~96d6P`07`p+n6a_(bgmr)jGVH0c6N8A8PKDL_v6&lIKc28Kt_V|^|#+= z62J!aF)`c0!9kiXnK@iLVTU(j?NCq zGoK&O2F(;UHn!v5ok!IFB39PdVji$+WF$?(n)K7;+HHuHGjeI$Y@MKy37S~O8FIl#P<4TOioY4Abqy6yAOeA%`tI`tjC6j8C%x? z9Du@QBLU&+%1UZ0U{|rexf^|+q#rag_lS{;Ops^aSl10e_a!986K}%+KYsiP`_*au z?yKKGvhJt0#Z&+9zyBd7882&)$_v2IBqYr+oSv9kZ_T{S@_Y`^YP~6?iP6>dMRYI@ zFZliB!2_N>7<03;aR><%WND`KU;pu+Go0=aWuNTr#KXrQ#NN(EEJGZ}YQyveK(IEz zP6be8((LXX#_Jb9LUhy|bfx3B5vd+Od>;^H6sL(eIfg)WnWI4`+sl}r8P9fKn6se0 z6L7tsz)kIt!~!OgrY48fNhk10NbZ}ZwK(DLF39Ta^i&eO?d^liP0$+J?_U7mAuj;Z zO3z3%A=5JecFkAnjpNjs=uEn`TlkZVj7>r^UZ=@UrCa-a)&}Y^I5YrJhmcRt#lp-3 z#%?uUF1}$6F>^k10g`gcoHxXIetZr={32fd_-*{zFTO}E ziCU`8cIFu}^8~z)cACNW_;54YnXkvpH%$_qM>-F8lxvLR#aLLl8*i6iMDzS2eOEl? zFPFFvAZr-f#u;;ZXN$Vs#O}sMYP}@VlDT`#=iY8WFywV;Y&xDke-`5t6ImC>-`dtX zZLcxzTOmn@%*$r<*M`zOuiW9OYzIV+br#~#+Ri%T+`l}Jt!?Yt!FtmNKtF^8lrqv= zZD=7QZP}0d4@tVzGMqy~&Dh<5xEYN~KcRN!fl;A60e5V&f~0SP2Lv9t7?I2MXJ}}Q zdoGjwWVl@jh`tsiWYnLcKDZ zerJ2=xb8pr9eq@#{~M`QQxoF;WW>J{=Cz!&#JND8wjcVtFw zw$Zv9k`^$``vUxXy}l!S?+LtZNK+t9t*kF(12P~QDa?V?061m~&4xhT=Opo=p9@nX ziKEyEIbIzk_Db`iyuNtO6~s$9Di>v;?6(eKy{Q^DnH;J z$AM+jw~i@@se@SJm$FXzYA)xosYKAR~ zf>)%Qr|@bS1cU+w0hPc~(Chtz-NNBopd1O%J)M?lsP*u)+>;u?yVF|`Yd3iEt?z|o zM!;KWB)mp`u77}66`B=4%iJ4$FG0CIsW%j=SIH}NMmCaCnlEv!FHN0pO{EI>UN}Qb zW^Rd)&-5f+XX7o}sXQFUf@a@qBBd?115zOCcgjYsji6sL;Hv=K`8LMVJgj)G#A2Ir zB@jt80PUI~XPbjoXf_5F*`IT+a_rp3! zCTy2&R6C&$i3_lGF-y7mGj5&vo#dH#j~gvd4T|!&U+gpMC#kUy?O(@=+7X|pIh)_9 z1@d{`Z{Mp4@pI+ld&}^>FG-kA>yDWZ{_<}C8v0F~rp>LDU$}oSH}hQp>@WaQTXQ$S z6M)h2!AbOK)&ppH^Xhr@vT2VDjmF~JHyL$A*~|fuR@b-l-A(Jyif~ zU%Xy=6A$JW;r1wfb>9*_OTNjw60e*g71(b?O>hB%m- zlC8ttSkNS@aT>FC781lPuWiLgPad*hndqt<{c0{CDLXscad%-M_IZvbI7j(3OwFVH{m~8h( zsCJh!y3|X+^84>Sii4vDBpUz)kXc=Q8-oM=07Fj^nWsEU=k?9)-8?1VhiG&Ipr)p$ z0eFqnHfg@098MeO@$&Vv_~fHcVvo9)*ogE|(3GhPNog{UdwK@qtFQl%WA5VOBDS|S zGpwwquV!i2|HeN0`+xXv3FLly@q+o)5>vBx07vJU|72x#nKAw#iBv~-XZ-SKU$TB( zM^{;g;C<@X1$oCMJ!V zbsd9{^drWChw2hz^*zSg1q9AygGPdDhd}RaZv&q9qmO<(XA$4n zTtk*~v~`a$4v=B38?KEp{#GF}b=oIUhYSFii){IANqo9lTQvLBx&GWfWvobMU7OX? zjSUaR-rg4DZxHbSbdj}rZ@M6sn%12(4k2-;*>)qc-2m)cOOy>DH{19gYmP)uUkNjj zHz9=jMW|VvpMOXnFCzc03|=9Dzr0|*W*tytWJIfKr85s@25QrcfqlkpIS+136e#K8 zQK>z0YdSq^GL|7wXO_`fn1K!TrTL^;@|&z{=6b0&_Pr^|lIEJC0@sRCcQpq4AwS4S zQgg#t-#e8=5s*`3u6LXlT9w-fSd!48qHO@-QfYyE)D&o9<;lLtR+YC?1Sy+Ak#1AnI<1D{C{1egMPL8zzYcAmgkt%Di^ukl*_1PZX- zksw^)tnI${=|7Ms^Ze-GYWF9&<((!`-fNv$NAjhH#PTyr68HMl9e|MS63pi57=YT= zYA!Sj2oTuo$Kf+FM+V5pdRg}h_wk5)h9*w}{X%n4L}b$N$TnF=A+vu=d?XyU(Hs!g z(U;^yt%`M5c4-R4-}-9!SwR2_b0tZJWj3grpKY_S-=6mSy#z}lMHTZpNs1bdTW4v( zz8Zolh?0Heb-pBmYBa2qhe+Nd(XdQEvwoU?si85Up`=f;DTz~_)>|_)Nrfaqz~u8R z$M%))Q&;BC%0i=GYBk^-U*c@P15VXFr5mOU0)Uzel zw|3&gCyxMD+tCGhs8DC4hICZAGPgx5KgVoH0yi^HgKp9!;bea|Isk;8(03qIPnlN% zg0{m%WKW+y2ZSHSu&2muT>5!*&}TOQyq(=`>M|K~3wNTos~Ug*>wk%bJNE#!-O<<6 z4RKjbtw#;=U>=Lw@K8pXI%_o2w*6Ee1i<}1;L%W(X9q{o2dJsD$qo$Hq6$!1Tv-MX zQ3f(tT>=!cQJcMa4}x`Pb|zLfxR*t2YHA`(W_L{cw7K2`G`X;964VR$YwxT?3GkpV zi6?jOJ$S%+TZ%h#_wv;IsP2XoF*|)HH+p>u1ZzFL{gAX0Ahem_@09iVF3uI+4CZ7~b^YS4Bg zg6Rm}r2n1aJ$;igJvo}m+%C=lV7xy@_B}nlc?xQDDK{-`{{>rPkU>NJ9v&Yue%s>J z)29ION3pWD%-_tzo=%8QmA*I!v}~t*t394Xp2qUqRRHKf{P^RyF*#zE-N^5sKv)hB zb|DsfwA;|W7kNT2SUj$uWG(_h+$epkZ%$iRALE!o&+{dV`uhAI|M~v}gl}gu$BRqW zBIIkHi#^7nNy-G8nXvJOwQ=ttwKZz*JP98HxUQ}&#j96~w0|;c13eI?z4*n?|0-U- z`Z0O{>3fHs@b<>)=G*x6lP}_j@4tzj{$B8WM@)@RC(xXmnWxQ%F$lT1;BVhEOk;c$ z5_a0mh*2ki;7*9h*WY~?MhUw-Z!+&L0f~&+h5L{o$SbSDC4KkkgZJYXAAK72Iv~3` zNc+}f@%ihRyZZnDzLMG~9f`mD;dgO-a9rdZ;ekE+Ffd@vrhNd}J8zsp%yhOl>QWOB zyu`Xtg0v2Y5!XtcgN5lE{~UKFl~YC+jMMH)jj=NoZ{MsyNKRv7bPiIp4hdUhoEMI? zhLAM}gn1;^w$>8xpI)4SL0HdN56&PrCFa_|@JKAZeZ{=#i=9n~8ud4MUJYU?xTV#x zxp@#neLeL53?%UYvbM_{dB}RfT-QITqnke0SL8UlDgYbSbR(wi9_}GS05|=w*%9a~ zW~Lrdzw;Ow9!uwXv*;fmpYq*_VpvP45jvX-(gRw3zi%IWH6Y|<`GLkoZ>IV(Ya&XQchwW8eF!+h2%0^Z z%5o@|^*LEkLO$N|eL)C{ata6WA~b3dB}oTzc2Mf&{^)ZA3}FG}mg= z%t+0ES_W1_Z=~*O?eZjDGLoeUs0)&mJ{i;_H95#GH5T4TTT@Ov(?0gZUk!w0B=7Tn zzRSEE)Wy0cY4ch&8(fq9!IKL@(Vm3GGSo)sG@Y{M`+{UizSIaPBkGDAm32X4cJuFy z%Eim;3KJ=xb45KNj7`H6OMuk8XdWerv+aG1GssSoD4uDb@(kOiNt~J?e-|1Y>udiM z{pR~y%}GHP--Y~@Sh(*ocC24vBIiJ*Px-A6N0J}KC?U*RUuGZuF<-XiPl{aVUyvv9 z3@||`>q&xJPw54PY7RWP7aR(l1-Zouv?uU|IhCOFRx9A}@$}x)a{;p;J~b6ZcjQU6 zo3db5z$%F_|AFk$(`_{x0$4jp(;P`eZsL5V$&DnTh)h*DKx@t;$n}I>!0$=AfZS&p z{is+z3c@21(A-K5iPuPE)V|z0I}6COOr9=D@wtL`wJ^5FEYr5#yc){L=jyO*E(-~Y zfLR#`u+>a7n8b4(hU&Ez#d9Psma9A^KAy5GX9jB-_!J|!@eK~f*8SkL4K6`71vw7?X|x4o$d4GGu1#?59?^(OD^xy_BU*_ zk}%7(ha@TzEgkA4a6VfylM9S>qpZP{gW9p84aM?O$mp;C>aXJk;I#s1h;n;;@xh02 z00=(<{QdjC`kN$IE`;*{ro+vR7zfbR00KsCTHn};;faYD2e5zl!_ycBpl`3QMTcfc zw9%OORW`~B3y8Mcz57KdeF!G_~-Q{PL&~om^*(_E|{D-p*z`zI!jefA%a* zBwoIK!)D$cZ6`-@#`x8YU|_Hha?}J!%*V5rFJb~9;pwmuo!Y3QNz1yBy{D!ED8ai4 z<9hq55Q<8)U$GI>rkk^i=uu+;KyrDLtQ_(jli^7y3~ z0k9tdyfZr>Z6^TXo49vpfj!Za>QffsYe3>8#AGnDnePLRriURq9XIjf`76c&n+O|N zjkb-9j%NfbO{k~_W3~kl>4tVqd7ZJbyaZqx99mjTB+ zVSWgK${hgh%>CYB6t~%3pPa7RGoV}=;KYuXiFRG7JdKyk3U8~fLkqwNgj3j z7g$eDi~~~JkpFCSLY|Hrhw<{|s~8y4xxUPJ?~AS7t(3vi+r^ljdl(yQo6$Si9aoH# zR{B9di?h0+i7WA&-~JY`R*SEG^Q)Mc0fg3@8Gdzius_YGp1*ztIRa=o_sdlPJ7b)2 z*2nleJT{qI2LQPn;_xi)+`A8P*kzmmpqW31=Vp%Xj9up0<2#QaPvux%-K4Lop)+-} zc@ljlXJky*s-4lwwR?v%pbM(pz5e(rGIG1k=<>cb*1k~sGEb<;na)cJz>-4$Kc?%07e5B390slOSg z`+I8;0R0clF1-sO9FAIVcWPBU92*@lN)7At`6ct!2vw4R1Ag~rlEIDjji^AhyLo<^ zNY;0d-w1Q8SV!#hR_3$oOD}Si*tF74ztc2qWqk$E-OG5YLh|;I6$F8`Rbs0X_CD*4 zp=z@X$}cgNd#XLmhe&^|Hui_yMsk9EX6Lux+gQQFX+5yCnt!$@NVko2I?J?xMK;bgI(3nBnsYJl&h(bU>Oh&ATNNZ?JNLw5f;`{eu1&iQIjRW7YV2hf#_-S z)HYmzQO4HwjV4AuTOh8v5&+qk0NNT_4(-Ui81&&~`jJQ|Xk(h=6xxA8d!lSRDSIDT znIKQIAb>E}NB{~g#yQ{X<3T+oU(_cxAe5NTqMX94OSu)Ag96a|w>6SjSSPWD@?ot= zZOlIJ-}#pC%mT;*#`V3Ro=N7Yr_Yfj6sA>LV5nhG<`P^@wsdBf3>Icj6qMgf@_eV3 zq6k&Xh-uesR?>0CeTR9k*K4{a*-^8RB#LX*@OZ!Vwq0qS^-k{IRP>Le3^}zK!EP`A zF7jkRGTY5gUbH>yonxsOLqU5}8}mneS&Kg@axnrZR4f9)3*HHq1>pitfwV-y(|R=+ zf?z?aHvR&0!N1mm0!@GW{jJtQ(7eIMZh3A>0$?+6OE@%R($~RZC12cOk@qtJvWt@C z2u{t7kmkvy&#jl&NN9cn2u-w?@-v?=DO7g0#CmH+ zCE2umwGEO#>nz#u9?6&A`y*NT#ozvII-5F9+5jhK=bln`#M4(Vncr zudio2cMgq+QjNW>%{Txc8$qc;f7%95wYBe_0}N>@a>j=K7T~{dXFh)T>1k?4G*?+# zF@)`P+Bgpa+|3TXySp9RfJ38BH5%t>?l8c{s<}X!=NUQXlnt&1STJWmJAhq>akCyD z9ygFRU~Og7x^9hce*B(=*N9L@kRkz0SK5|$Ap;{s4FX&>Z@(k_2I(Pf)X6n1w+&T2q_S3osasDuieiLiz0JiM=P6sa#%*kH7dleRI@2Xl7>?alzO6=5`XxbJ{vO2;eJsW`F7{^ODco znL{V1XVC$$U3$9~mnP`KSWA!RO;xYZa>EV?LYme`00mdv9o^^ zj~_maH?N-qY$u|@T~P=m}k4{w^x%`<^d zYdm>!FTVTk`#8^x>8*^7F968rfYv2I^myj@_~eUE|kdK*ln|Dm6*=-J|#4i@nVq z`i6D0vn|Kov*(bmf#EbST!qN@3T`2^dk4EQ&sbOMq;JRyj&(uh7y5qruIuH)F++>fd0sd%&U7BJ1c8SF{3Jhe7DUe8Z4o{*7#T>@uA z^yco$+E=Dc=>!cK9vvP7L^}_eW&9lO?E%C)V`zAkx){dS?0&hUz5}0XE()Im z+b0PDq$ki7e-#A6&m|24)vSmAl9*VIeiD?KC*>WCF+lwOyYA(lJuR> zaorpfH9m$6**7VB$&RE*Z3lhEHU90(ez?_8B!RF_$n(~L-)9#-BFs%mM3N?n!3Nj3 zzuHDgh^A5n2{HFcaV=v-!a;cwjcdq+x>7RYL%t30nb)o)8v9KZ9~CU?_R$dmUp<>6ZI@x^K^CqV?6)RLk{lhIi#!-Ux6noueiLd@raRhG29|3SCa>{3szgUCOLKnc z!xFK^CSX~T4`uALQ`5oU%EWslSIS;ZiRMVQMWSH6oJKm>d!J6w0({$-z?$ndW%6FH zk*rysf7=dEkd<){^_L7u#PZyPG9(nfj;WNbluSwlZHs-Nd6e2GeQuWCjREU#KWjQ> zT{W$e@TrZkO}1IBk=hf5$#+Strof@n{rj8J1lC!Mm74-R8ubb>KSO=y57 z1x6-1J7lrqQ#0RocIkN83IH08SKogZfBxscj2ADSr)hxNitoPuI6nz8z(aJrub8`@qm5j3U@csAWfK9&w2-jIs zJ8@5CO~Tgz!azO0N4?End&*Pa*!c4?>zbdGH}4SG9uDe&YdP>?a2q9 z#q{JbWb!cjARSZmqgoS9RU8*ONY^0-_Q53+xDPpX11i4x_8Wj2VCmula#M~qWc=Bu zA7_ZnatY$KxfVbF{Fe|tBX{*hwOonimBj>wI@lVUe`$4%4bF3^wip1+TmpX9>DRjt zAEfjAEFjZt%$}-if+korkbsH9+5r*w9zJ3WUPm2(Iy*Lz8J;T@o(;L^0o;4?da%2d zQHHuo%qf7-*u(P`~Mc7ee_vso+f5yGI^eWnUx}5zj_{n ze6Evw55Th@pwEDb(XkPTSR<3-wYOJdW^yQg{QmnK3ol+iXPhjA*^zaTn3)?*lcw{g zj>>1qXphe+AIvlg@%;Voe#_d*T8#X=AW~pOHtKh0C?9zeUV zjg55x?P>Hgj!g1)2Dvj)q0!eQp?B}hK@QnFD&<&w^EQTu2jbhGeq@X`QWG-{8M!bb z6>aNaEc65RHQ6hbs}O=R_tMt3a{8OpkfmU^ucsfvbP;u)=RUNv4@qD?7^>JgaauoT zeslpsE~9bGI?=2{j36{U71p<@*r9F*%v19_cra3CP3T4*u2q_DU9k9{G%lmJ${xiS zzeaZby{=^*DP2Gy0P|gK$g!6d)$p?H=ZtCPx2Hb{9KX4v>1$wQDM*XvIjsV0PxrYRaL!hm z;MjZBvIvF?AY1q;6r{s@AREkkfp8wzrhkT@{3!2D0H4|ov*v4Z<^9M%Pv#|Q#c6zI z&Q8-M361sSZX;OHlLcsHkA^T5gs1@BR5735Vy=v)W}p%T+Gz;a1nTqwV>ii<S*V$`^!tujN^9Mq835 zKbsJIy}Le@hPUZ&+^CiC_Bf2->E55o1s632X#!NCGtJwuyR((H>Ym)6u=(p$ zYsOF$-c{MuPa5?Y2Fy3u0Gqs5?k3+V11vOO+T7lW;i2KwbWn7>UR{az@86AAuU|)n zdhN5RfBxZzF#vG*md{l6w(ct-@Ja2p#6feh(OU;gEvW8u!7=mNCv9W`RC2H4iglnwdeg9qu5nu*$~04mxvGBpvG z^uxl`TrAw3Pq3gbhtao&`v>wAediEh2mrWj9H-0&AQL9DJEO09*zo6Pr_+92v#G)1 zVVcb6fT(L0@mDXN#r^vaArFkV=2_fBrr-YfL)3cc3uM#}%Wml~8WoE&WvwFH>6r)d z?CDQz=w{UR#810x6V44rZ@DG@?w|h!un4Gq`eWQMZcH55*H_5|eh&cp&z`?#Og7V& zd}D1jP9bs=r*cluQ9?$+bcqX)70{AG0Z4aUsW2z?##W@#02JQVHSh7@I< zKnM-fs;zjryAnqb2J?+*64ln;l6LXKgG2HAufIxr_o1o|$=&RW*YVlszlhbfrP$oq zjXh6ZLFt0u4;Yt%WRoXS)igzM&R^dEa2YT5;SfZoHe8&dudZ&!&wu_)%g4DVWIZeMfF#`-Gr><9qf6H9Mj(8mYX8@93 z256f}-^|s3UiJb*xf-SI>=bZcKL~>`bg;8~?9$IX+5+@iXMGB;AUl%A%M*YG>&VPB z#F4pmatL9Wn9jozNyc@nYji8mF~f0_HOl%xz96CCWx%!m1J|(yk(`{oOWPqilGyw6 z@pkz&Yh^oqs6WGL3_-2}(su^1FEWGECdis$aW7fx;dALLp>M@0VJ|Q`XwC zBoUgxs-ZqVug8SGQ#`-3volOgsQI7!R3Fzim@AqzX3il&JnuUsVpp`gQ^)sWzcUcS z1%#&wMmdL2Ykn%pIHlbK{SZJ%&EViD{ZyxZ`UrRu?&`z-O{Ik-OD;8 z*w+3(K{c2`px!==tRxZ=wGqA(6e|G!&TzG-lq~^J;9yL0MU=d(G+)C<u?XN4({xUrl7+&1_sPW}1jTI~u0kb0zMfb}(fSE3+iw|*QFx-DNxUE${42`((U~R|W5&;)E|MpZ| z^PF2B2!X8s1ky%1@}CpjYrR6C%%1>Em1T&XFL;~p1+F?w`H%xc2pGx#%~AtB8WTaZgu?3!erx%~v(?Dx^enMj zy=0*BdHRs>outX>?`HyRulI9(Pn3*pvup{DWMMHC(DzF zDlhw3qGH{A-sivk^VrR0m;mQY@~lM2#|=@9NpYXC`E82S6VKI7TKXqrPVySQ0MI z06GA8GXtALVBt;zqlfRk7fZ{_Y~#_l>G1Mqk*!J*IQ`K}l6DWFmY*DOfpH_*@I&i#AQ)eB*Q zU{?Vg#`y2lF`dm-lNV3yJ6J?30LS0_`WxDR8ME_u;_cf--giX*U^T%<QZJYw=dcN>4J^Hfgzp;kRP3h9f*_($7+MaY0h*6a2gq(%-@4UZ0x6pG0oq{0Eue= zfTxZ|YFb`hkKHZF*ge{N0@$Z-APsYO7I@xx{QW=uGqSr(z}^oT)S3Ml`7bT5q~_>^ zwmNY1P_R+~Xgkv)dx!Kd-56Rie zu%_!<+xh)-NYn}aDflr#pibv2JjdJ}&!7GPKmvgAy$jFo&JkeqC^k2DAhFM41QPlS z=FLC+<3GljS})pMmZ-K|0MN{%(8+xraqq!=tggI`b4crWH=rt;Lkqx}+4|29MPc6BnR8(af` z6ah2e@h@M5c$KSooq{cS1r~y*7A_x2-0D4 zxEto?7403LnMPjIvBG?9gGiZlQD3U|4%UH|Yv%c3nn8_E&N9#2A&`JN)(B19rss@m zb{->rkaRU;JWGw{0c~1ylfj9%)#w6w_jIgLawXy*v?wP#fhsC;ck$f8VGjl7-CI6=d)6&7g=>8gI>xxW4Ufg z8R=Z@;eb)TG*c7|=u9p_mo!OIUH6)FphTw~`S0(UJkLM}CwyM4;|;adZ2A&nwGjHT zIL{@XIq!n^myO&f+aMQ)4lj2DoFUWpq1o=$n(7yIQa@oF0xsE~Tt^J8E9fjtZrH&9 zq!NK5)T}o40_(!GCA9$wfb}3+HX*4l%mqT3_iX&K1hTlXl6LJG*2r$HA@A7P)2G{j4UX*HLr#QtS~Lh?|5EDpOR!|rggsiBfkFR$c1Jxiq6w$ z!!#<|Tg@p`@ z6aPHv=5w*>t%J2!3vSg|+yZt%x4_qHEk{tTDV2cLORSe=2>831kOF640(M`5`&&(l zbsT%_F$&da17ypm{XAD*c(vEm`ZXRH_3$VY4gZf!?u}Mu%PQ>Uye?~g_ z`kQZJYGxjgTu(EL%?+bMw8Z?vLbP?3ql31Z6mDpKE+eiq03d?S4mQ@=xmhX?SUElh z)Lg{+?smqWf3vt4M|?IgG8Qjiy^M#C-v^++j9>oz%lN0?{5Ip~zj^f<&~zRb60Ys7 zIHQgO0K3;qOVQ77>o5%sJmJ)l`SsIhc|zzI@w89JMNPQOjJrdf)ONi5 z=~?^_fBRQlPagpkD**LJA3X+qG}*vUlaLq|^zOYou?P6*0$`ibypzS)@z?;wYc}%n z7oR~I*5VYPJ<`j9NcZX_-r8)-@VT$vyp4VUlmOf$I8gil@fwOWPJb0ljtq8v9QR$`Q{I? z4Vl_p+k?2R#s1D#j39GOo3s({29z0<=kuR^nz8vW=+kcMu9?+?JNIL01Nk?&e`^cb zbfkHO+^MUp1n}n>fMS#Wz5n4S=_vp7M~KG9Hei|wr=WVRo}LpAQX zi3P^tB^z9yxe?kR>*cO^rUUfDCt&CH7=pypuYSFPV>5vAhW}XH%VqAW9r1 zIcJQ6!NHOEKmYUp3o_Ol+YrPzuUFHN+^AG-0Ket8OVM5FL^dOFuzQknd=5bvXRexa zr8We?yr{?8+HTyra}P51jOz|EbhP1fbpkf$!{Xv{=7niz9AD8PnkCEuwvQSuVMcEA zv`G41ym$i%JB)h|??#nzTvub)0ZC&0X|m=l%rL(J^j8?C0uIuMu*2UtgKn(4-Ph%r#I=ay$w+?_`t`XeG#vzd8=J?*j zimqyJhTrY$E;DA0&UC<<0NH^YrcXn)pE1y#PU`w~2{6wA(U<2}p_8_R!vhpIT@PpK z_0u$!)H&aUdv9ltzfYroU;twDmOh8%c>trTiM4r#F|Ns^TE{NxV33MaNL6odUvwg) zCV=bUWS=_l3|?*R-8_oDVgOQcR!={({ysIC02PUIm=^YWCrF%~8SEtSrh zXA%jX4xnsp(a*x&(i3Mz3Fu{v=4m-QW17{thi3i?O>oSK;K{po_Yx5g@+4BV1fO1$ zIV9YzuO$M4b$uTMvx$=OJC;X&BoS%@G=~y@0G|0=hw(hIhsbEIWvvpd@}-1C(5`uo z&n*ZB;MUW6fi`9O4D(3nTT%Fh@XCAD)BvQjT%5NgM?K zMXn1?(F%=+8W4(=wAgoQm$GfN7b4VTtaLzptgn5fRzm`%^S0%9eW5MU=R`vJPVRrC z*Pk4@7-vxvfC?Z5vv#LZhCBrnnEScCB^VaM-fB9WdPVf3!VF08@Aqi}0|4~B_xm#H zk6=?UZLSBqu9t;V04ymml&Vg|z8AduTTm-V6%hN33T0U@&$0!|o{n2zpCgfw7)f+2 zTOcgp?qne86Cucv?0Ayy_mUa&R!Cf|yLFZrq-hxUT2CW6S+@78O|Y%DQGWtKwSE%T zNpSDdV%dUviI8>nzT)Jb3C**Vt8J4sc)fMs;~AEzge3-obe+z<#^>CcRB6KG^=1tp z@N=GHdvti00Q%nNT9Uadl%Iska+SMnQRAZj1drp|f?(*Ea;urJZkFIHqfb$unbOsg z2&^SP_J{Y~5;_T<*V#VnY+J3T&#>N3%J=`*|22O2{Z}zG)E{TfmiY0f@8iqQe-;%@ zp#WGd06R~s+u2YK_YY$3?pd=8GqY>`BHGeP53t$Y6(fK*O*`t^ zC!d_fh4~jo$I>+6laD@%EdY|4qKDWZ4P$m#lVAV<|MW>jK~!r}yy*;McoQq@8+od= zx3LZoYp^gj;|PGvLCQv7)5hljEoG%Ive|Y_ZH&27tb?%ZeMLEO*SN_wZZYYI6Y#6 zybQAgH<9~30C0SClrkDI%x{5&J_;&!by8%Nj8%ZV;VJt7%Yq2~D<0mt8~^+-zly=W zS~^G@I@9P&p3wgIY!Tqrl^UC+)ul}6wu}7dXXi2}NZ&w_Ia+c&IRl{s_*Vb~ZJPQZ z?^b~6EPcch8f!a%4P@I6aL`9U8|mME`&Inx^Irgb*suVC-GG)Hs}P?9+U4$l3i#`T z$VhbN?mUjgWdLBQlm`Hvl+oMQ6OSG}E;1ZL8tq#(0y<*5h?E1HFSJ-q~(kyIcc{Q~V)y`^ai&g-i&XfJ^?YKmqYDCPL zU{W|WNJj@p=}%JyR6YIn+YH~TZ94_Bxv&=TcH#cr1TZ@$PU{G%A{HzCT zv5#yvAuSUCqBH8;$=KQfymmskdjQ0{NBb;B%rgNdGVbjkU>q30K+_mkU&iXnM)UwM z$Hyk)&70Q%<&liIV{VNKq~icmGdeUDUsFd-KtB8IlUQDP1NduAeo?JZ+$#{v%^m%503FEP#E^!m?xR0+epU;n2C@d> zF{xt@VBQ=OJJh$gR}-p^xO?{wV+UZsI363TQD!aX@65+r2(-Zpe*R~F&KOxtKx!D< z%Vs^MX70w(;RZzJA~iG}?VSMpfjFQqosS)zeM!=W3~T_=sv~nlELSQ$$fP&Ta|}Q0 zVF6Gi%rP-LI|b?7&oHm9&eiG!>%{GoQFYbtoJ;~Va!`8gDhOoo*js}t7(S7kqnyFM!rD z+|tt#Vg57dKI=Dv7f!F45%29Jsob&_QB@>z+agX5FY}d`^CihuK0DqeQ zm~q_5O17&2(%xTaQv}Y1w#47==>l-C=}0GR#uH%O=SwsSf<{~r7hn2) zAx~eH>$B|FZSL#jYGqFSB_5I?+dv&N9IfLdeOVYQf***8q~zaxv?w(bIxY(g1>S1b+rjMSf0%!rbBujv;30KOC?>w(a zB0))#4M~%}C{ESlxdpiA7xih4KFXr13F0+h@_7=7;+bkw3UcG}rn9!wN@C>onvMBv zqe^)Vdz1%z3G_98Qtkq~POdkC6CbC>BcnL+UfBrXB_j5VKYlLZ@x5j0j4xSCtrm4r zbEMquFSS?cqd`6VTdfI?O2VoMmYZsIV1P|(FoCy`gYGQc$4Mcu!9;BsFf|NVewrt;6*kTK8Jn?n19WKP z*~um%dFTKn>hQV+nYa(|marTO1}a?%M)lEnaQ{JE(dKhDOu^&bCy%2G5WWkr)fC`} z4Z0t2_|0#B9giPBi4#EWB|nB4otzkpwdIXCLq5H#;vq0P3fqItQ=Y|jyO4pAT7P`~ z``^;8QoR50J-~W7*51Bh5xS0_zW+Y@0r~@#3Y+0oCMml&Hy3Z-zNL@MJiQ(}fM@}z z&Xn3OpYa?+%)W&rw9wWa+NYnuZ-4*0lwVhWAE3(2y`E^55H7&3m7Uq7djNV3 zz~e4}TbWIa){u|D9fG~P!QvY6tKa@MzWmu|0Px*-zPuSbo{BPet7g#N+=Cdj#wc?5 z9^&}k!$NZ*SFfXN7E2lR_4 z`I_OiUN@tDPW}2S3G4(_i?3d@fwiP_a1;4C&;R1*U&cTD!#_lAY$y(Qw^(C3;_c!y z#&|D8b~q-cM`L+yDNSP}sbdh*8``sljE6@j0JsOy$9$Wd9?v;qw6OQze;j21$n)3B zfUT2waPPhN-~W&QJuV>3Mo#+i#~-8CGnOE4Y1&S!Xrq{ zm+|bUZ`o{1$Pa=>drle8mshRP!<^XQ`WwJwBco+)u?7GJOI_4;0J$GB5AVj>I^>

        !pkW~QUk4bVT_<{8)NccNL8WMqi8GpM7p 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:F&&{|Mf1_a-_K}q0>6sr;e zV@T@s-?|pveAbOjDu8^R&?kxTfKe1D&XEkLd$k4t%F|uyr_Z%QBrrFLM-TTn;K{5( z_D8*5#2@HJWl=k`Nok?T3fSqQWstc*y=be?Nc2QIMRE0;{lsz^Q^Irnoe#6knF1Ef zqAOQHk}Mor)Z!4UHZ={=2gmoPqJM&X#=?7et=BmoP5dq~DT?8-Sdi5IOQOP@rImv3 zOSFoZ3{&B9E##yiVd!A~Y3(s>kd_kLm=6NW6o3EeUVnDvVidt;Ah)Odp6vU(09W7t z2MFwaPxk>71}O`?1>ssKiVRML3zBX=k_t(H1jCp2Q;45%-2(S9;9HRIl9dEZp%hL4 zo(5nGnhX^8IRbuxyxEjK#W8qGKXdB6#~$A+@jVHQLERDoV?cCa(qiHLi&hk|4}y3} zgzfVlxewxDBL2@Rj}^q@zms4R4X+E(Oewu??sIbdXMDy+J>@k zi&MaDYgcb{aF30>ZNTX?eXPcdr!QjlBLD=_q+5~inL5!7D4v!ZOE5Mt990x|A4I8+ zz^?%4&H$9p>CgE1L{@>_**%KQtu^}8i;}1T>@NT;Clch!*9sk$m4i zjP~^~pN-MU7@3*NB6P;XbOAUf0MK85^If`fbh1A80MOOL9cCQD2>@tg{Pl}|dVe80 z0HCJj93C8vv(w`+FS-@DC1ARJm^WUKR5Ar9z}8v|vyg?|L&k;qsxnXefID4ubki{V zk-6}zte;~PmnYfhR}c?CFW4acb&cWKXD-Zm)vkrCh5}}c1!&h0)<(dTr#}bW*ON2T zWe%770Z6P56l5F9!@y<}2YmUnU&ivr7GR(yQ!v&TW5K+Z7wdJH!K=iaoG?CPfacBZ z1AwDB+;8Gb1Cf_k0sYM>U#_kiVt!;GCg<+)yQzfx*gK3G`*2xu1W`9%yaAe8m|7TH z3pIZA)o){IX(=lf8;8;mEr78n(E_-+Vts5wf~>x-i`Bcg?;+^j%scCjz5L+*Y+6Nz zAlniG=VoDcDo>yn=H?iCEe9xAt~~%Cn4)xIWHhW1qZ^s2dp#@|OLw@_OegD}_yRDv zxw*=B%&ya(E+M_8f!vS#`zMgs5%yUl#Hx$7O#n#O*-ur#f+ui=e)8mBnPGgBsVa@N zdh^cIow|_h^ZoV&lY*3W*09f(M49NI6#{$>Ayp#PAkR;pJW31Hq;Ung+6r1Z?-1|68 z0?-O+Xr_Pq+TYeMS(ELtva-q=IRT9KCm3J22XO=VF1~-8NdUV0x)Q@Q-a<09o#jO<#A`t~q;J=u zd)poT*1EF2b;N#>kVROV$XJ!Z!7=8j#`C&(Z#NG%s5E#?^ zngvnPxxcfK<2W@nz+Bw1Rxi=*g*6~!B9tcJ3}s?*vTy7G1p6oJg)tg85PNk)Kje~S}z{` z?cc^J3T6*Qc2zr1Uv*8hW}i7jNNV2K1?m>C(+D__Ab4VDL87_&d+Ca_4>%tIFgKtu z3}$xU3u@4jF;MDcAKd_S12$Er z0$l?z6||?kXFhoYR1Ktjy|kD<RBaE<4vWjsomhi0|aapWv1_~1WQ*2 zV+9)N;}M{2a!7ZuBBid%=g^bN(dn%CYryq7K;y&OW;~`puHlh>z;{GXf@ z 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

        (Pm6l;Ux+6`^F@#`y`= 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 D@iMDE literal 0 HcmV?d00001

        no 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

      2. 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

      ~hA9xHJI~iNY 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%0Dc#t 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 kM3AN<{-Q?6)c*+kD2hXia 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

    Ve!u|FGBwkPlYok=tXehy}BN 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%0A1) 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�U*4-Sq4AToy~j?E^|GL-IS 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%0A6(?;=uq!R`^bSS074d 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�K(znUP!}KTVIPVLT+tT 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 HXC_)ln7uZLxZdw>Yaq+J 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 v) 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∨mZv^{yLl zjOV&B*mb^#RH`qq4d{`@?`Hp9>m0+ONhV+s=@8FvW}EB)xdE6A;`)I}V9+(=FfxEp zc|14d1X4S&?SRkcG1)+J0BrJU^})T_{hk;P@FE+|2M&uMKzVu1=Nzj_`PXOjnXbhE zcqb6GE`P1Alxy;H=~*3sI}ojY$0bSAix&W2WG(IHDN%pdpLVy}M+G6#PGA_2)<0(8 z6`@_)L|)%t1kmu>jP-P$^Yjfl^i8TN8&OY&)H;qp@N8%)f%* z2)cjDpMIww?b8l2Ar)*3`P3(6ul`b?b6w9il*Lx*8hMhtAqRv#^9I>bU0G~f-P-M) zht3Ym^d(nB-TFYEx_5YJEYB;1%$_4`8f|8u`hM&&Brkm;EK32oLYfSS!cdl1S8DUS z)5|vaq>E?DQmZz`Q%4Ygz*+h%0MgFnHvwEzv(pud zw7y`LBJDhDFzkaHGi?g)pC?MG; zgkSdqNM}N@FE45nKAZQMDV`2MW(z_&+`}`%&7vR4*n0u(c`l~S8}01qF!F{xE-y#7 zvB{IO_WFl6!3y_nabr0IB>G6dsB0qiSnl=9hY!^^6S+wqql2~0wRU@PSIN(JQxCOj z)>FW=*?wM>du>ns!hg0?=V);$B;vfh7^493=~=ljS8Xf5@k9Z0`T6#co8$EGsBLX; zwT~YISkwL~1nV&m>)V^M2YCxtNZUI+Y1=zHZDVC6_xMfw`fF+q{7Nq!+`gb0Q&Y|+1>RJiGYH^D0Xxf@-PZ9+lp;pwu_sq=yWTjhez-t zM0lwdKv-Q~s~nqy=znviudpVWp7-JIcB0LPxSXYY-m9hD1E*)_Z7bybL;BVpF*ez} z3?Uqa9Lp`Sf#mi!ko;KrN(j?%cBMRZhq=!-x3-E5$^)60%D5TZKRl4|ACeJZ!%iin z^K5NwN?M(%GKDZc<=A}gr-wVU?4AL+S7Wc1%Qj+{w}~;nIShTqzxI6y829u5PJyl>EU_Io zRIPwC{W`~iIV(0vG#A$7Wi0AX2q5s`;afg+?}{=3df*gkseF?F$G$wT-|QkTw9M1m zcx~i$1EU3VM_?2q`+3L$2wCpVMrc8b1#oJUXq9G-@b{xh;Uu>c$ z>9Zjrf{3Ub9(g}71puFMIORIVb}Cek&Z6f6)B2_4(w1kxf4=J{HsreQaazu~+KEg) zlN{x$w-$75E<3oL&VaW+^5wh1^JCFszX2Jc(-#;-;Di8CY_Z2>rl>( z&8BX8>xt=+uE^zDwd4CFA^+3=^dElxU;f|EU%!u+nPlc}wv`zHJwOz|q|41t>jty4 zK#^h1%j~sJfFS?{gd+vOp=%8(dP>&=Zh#fA=X(za>iaGrI2BKy1L|O6h7wl;YJeud z@4Np2)c~V9T?aV2&W)i=zu7;63>8+E&%h|)M?Q7(GOXs|heWtm>6X=Xt@?pDIuP$K z30YeJuL87br&W}4X`O?d0IOX$eWsfpNd#n*b2kq#VB3rQKrMay&A9-o8E|DF202vW zRb(TRK9aMcZ`ARx$=~YfL{M4eQD@g@@1G3m1)v>wO~k6caxR^#P6!cj?|1Ui8NK^c zw*KG+8|U8mBbTysC)TQ0lHJuuc$+^WRc840gLb)QCB#J{JE`e-49NR!-rGzbdM{Fw zYlK&+n4oASEHsq0AFT+_*D5Ao`@ji_1uE1)ZS)mG;# z8<|8Dl!34~E;k2>L8{mh9jZrr^$~BDm$K>Dxkwf=Lk70Ub3_g@xYi)6-m=5Up$u)L zJ1_mE?u(!|524F*tE%*e|Kj{y8?CJ8df_{x+5=>HBfvcX&93Bm>@*wIJ-LVS@Uu^Z z*!;%;8)Z$UeUhmM(=(MHaX*=U4;VYU$eo<}-@SOzmbW+BhXBx#>h`?NV zINbbpx;{DF%QdaNefPS;cC1omhCb*d#3+DZdOBm>R67oMUtJ0jnjci%OUs+>^WN9? zI%IMbCF>@^uK+uzmQ;U)t+;Zv!X?6@rD>T!pZ#uD?#RZ`#$(M7v1c%OPAg zwY-)85S?spy=Y$o*0)2Ftd4eicGQjzPukG3yCEl)U>=)#2tKh{I!fVftpMo--a;E%rCbuA+VCaV{&O15GpZN zVs8l1(q@QM#)rGR5V@C?cOu8?=_&X66<{~j7DmGg+q>d@ip`W4=kBb{Eeu1VrbGDb zwX+;jbpEWn#SpGx`}9@9J@A@m#>Gu7b9{1q*$xhNqnqWBmJsOki;y>Ww7WhwIX7Rq zSL{{Z6VlFRYmbrqZZ$VcJqy3w-2)og10V%JFJ^E+Fs7O%cY!VU^~3Y*Hxe*TkOi1} zoO;GmIU>0ZpdW|l0FOpXptXoaKw2d?-|xnLV{<7R!0SMIJd52&?>-yeWdZi5bDeqs zIi$nqKHH5j39Aw&lzTk=QeZHk5~%K^NbU}D{<7q#kueGxlO^?$p~vudw9o;y8SU=% zaBO^D_p$`kdM|HC_YeT^bmezM0GNbW0MX&}+X9j08HxP$J5ZWGvHw*+;G0^eChY*; z`@pf<$vx#%SW=GBn|9rYr1@T89chbR$1*}buI+>X*)U5FT+6ROP7ntOs(Tx{XNadn zfAQ?>rwmKBZ)Kd_P5-XsH{^Cc*U=w2@;&;inf<)zy>y-XVoIOq9JBfbsG|e2(Z05H z(i`GjMAvgD=SDZm>kAQdZ&3X~j?r(~N93;D4`=HCXFb*aF0s8%hLBn1(6`Vh-P6&c zKI%Kr_YklmCn<-QgbsR=dh{1NWOx0Qr{S~SdY?Hb?a4XXtdDCG#Ai=Sy;8q6R-dMP zcA1NE4xL3;WuMA{Hu`T~MF7Xd&A`P5k$Lx8=72v2o!jcK*9f5j zt_ytSXLUNRobqNopC_jQkn1FLY%yq62=Cl^DUrTWz0hfLtrJGou&v!SyC=aiLl zc_n~uZB@6VXV<${ZVCW92GiO_Pvk8Ek@`sk7^_%25gGb$lh7TR$DRf)Ltg0HZ)Bo# zgvt5(9{E7}#>7e8>O%(1@|*eREs>NBnEyFI)_0zu>cjl03!zays-b;IK~Ae<+6sv4 zSJ#k5`?QH?ME$_IcZB64zzxWEPPH+*^HQfz3I!C*g}WZA7HY%a-4@tw>ACRi~GG#fz>iJV2*(f_!Q} z8zlo$qJNMWZ?TyU}BU#b^I<00#&U}ROA@yi=4aY(0k*f- zc>qNz`cD5}r;pdy*4lBv(&FlRyS%czY3|>_Ozrb=9w0b1JKJ`aS1Sys4d+8(hV3x2 z-ra`ChP6)x)UAw`3V5xouhx>YX9vdx2Cr_kX{s$*;VXc7DsBFHe%@x>dv-nlXa;q< zJT*3XTV7jk$3l(hAw=-#Xt%w7B_tu_`qnC3!;m8nz}9xQw%XHlNJa>U5GynJR{=zm zkAt>%^tF8pso;(H6ta-+ui0>Wh-`;QU7bgdGXczzM_$d=+ICx53OKzE2+o7>CjBhr zW^HvfMCG8pd;K=#CpwEMNdCT#tWqcUPL4xh-q!NN9-uofU$vX);h_jeNOk&zm*qNT z*&k(?b`2xThi?aMePy++jaJ(IFym=R1md_PfjRXphVaN4GBTYUpNCk5Sk47lhg2X| zhX=Vn{dRtF)|N*BF2;l0xJPGsxTfyQ+|#vp#!ATR^srrAUlj2D?UxVj-~Ri58*n|9 zzQ1X6JRy1bE-a2JkLBTEGJO+U9+^qZ7;S-s=-aO7ls+~2SQ|5b`uHLB3@VZQ!~5Sd z#thn0WS%z0-^$;yx#dC|4HwHpFvzoMDH1?(6 zZYpoaVg#3G0Yj7W6D*=|S;_SGAqeiRr*!nr_Up=#@sg*sz5Ocno#bA!0btsZ`@uCU zOUvyfHm&Z((OkQ{OyAEAYbjyNSetMWW;iu9lk09GH&Qg)-hcR%y5?$tDlnaqw?J_% zBMOuXs{wuiPo5G}MP~EOLPwDqbNXl|hpg{xJ_dXMrTs)Ix!lZk&5Rp6o!>)#gb-Dq z3R42Et!xzC^`(6Mq#RZrP#E$fz8`q(UYhPzP^bDk$QJ67`X>TTb6o-Pl3SfdLu0n* z8UU(Y2*SJEgC{wzO#mSqv(i@Zg$?dPPF&x;KXii((Sy<1UrH>((UY5zB!IO8UbEv9 z(YfVSQ#YcdjMUqo9`p)qn$)9n*WCay`5b)c{ch- zC|oC4y{;%dbyvToT_)`mo|H6f;=6_0U%o5om>YfDvvDA14@O-kZC-#KK9Ho zSn`?WMl^uu{8uunpWJ{kuMWV?TO+KC7X`pX2mpPAgN~KuJS2ha9uuw?VnKh(CWCg$ z4;h!KKZ%w~9U$RgazJ|aQ@$gCfDQRY*aBjiDDggqgU+D$pF1-bD@itluZy{`5P2xsEqQdHQ>h-`FUx-*^@~bwxxY!nl!}i<9-^&Z}_VvpUlnmCn&zC|T0K{*HyOlRE z2+-QtS#8si`}R5yfyknqyV!4Sus57-rFl~_mN&7reqtSBZ_gJF%0_{$aUw37a_CurHI{y zV68+CmazT9AAc-@7Nd=xgmes}^dIkZ+?3kC&^JscDfXZ&>VQq7>OYQxq-$JGV z;_31t+P(fDByTtO)L^hsUK zlAQbWLcUGz%g6NJ`NeU0y5!UB@1;EfSv@}8v&%RNSmo{qVlxs|UPOL1iU6SXJ%H06 z5ZPB%IxR5S0j01_9)JM1fKTC6wWo)ih4Nw;a{*@INR|eECKG^KzIW2nXO_#8fmo#7 zfN6yml{6ik^C}<$enVV(JiT%{0QX(4L4|_>-vO@xHxglg6VH-|`-5J;ndgkN{aUlw zxyQ9Rb@bVHIx$*#dKyvl^cVwj;6I^U3cR6xpH#Vt#7-%(IcXaJm^29>$yE42xC&x`(YfahHN2? zk)?=8Cn}}SB49{iw;Sy)J1P4Re%6VIeja<}zPH!Z>#6(y@cZw-KY#r`UVj%5V7>u3 z1lWNcfXR0xV@w19vWlb6aiFM(K^`1{9xx@;srX~g1tP6Dw3zaMGhlfPoPpLlCk6vh zD%POa)5&0bXTFKXA9r$iP4}G_lhqksO zM!OJo%If5$lMQX6FS3$R9rTP~8CuB4F3B!5if6*hwFvCE9M{%9EU7b9RKIBlJ<~bN z{_p><|GEA4@5j4x|(zz9ju5<0v&2=RZUqm(` zUwdCZw&lTGo0a6BUjO)YHvrc-c3Vr(e*XF~q+~M>yt{z+xwd;?W<54=ebKJYt!5LF zF03bj+-~ca0mwE$JUPz;{WbtII^WrO6;jq$xY|G5uT_<{wl^z0YX9p=+j_YgyNRqz zk?}kvC1ma5>ZUD)#Gu>DIhW2Na`nUXT!2YHs)Ynr7eg4?Ky=5`fuufVyqHN}9tm-Z zu6SE(8RW=Tn+c}hgj#+3vKKklD}3znI$$(6xcy{SR_5DvjOHk^B0dt?EnRyS!m^zD zi{v6^c@qBw{D}XikV!*k?^{2=Cw)^!U{WjMY z7H0z34+8K9?JDvj819ch{`|*w6#{6mvmk>_CugH0yP{jUE2t`WU9^>Z_wwqj@@rr* zUZ33%Z?^FD>!B`BvjK25wLli1 zxpk4jN?Cwgj57Dv*ke(^GeETV6G8UW9ROE(B9Ujj)GDxAU^4BlB=F~J{f%e)5dl>J z`wRe>)P_n-W{EkO7x~^O!)mm4QB_0QdpyfGS~6K)LU^eF7Mt0bqUuo(fc@&wwo;6QGoI zs|;WYAO`G|599%p9*$;^@16lVCNi$wr!eRp=|fiyh-mLHW1JOXU$0<=Ll1c&Tq z?Kxj1b^A>?5b&w3+F78nO5(L)nmvETOF8s02GKk&>Qj%nc7uMGx3^na^g?DYq@a5d zT%*p33L~mKn7ori-9RyN^E|wloItAM%CDy87xf_o>MvrEvYqQ1_38&;^onYjvOO$bk^(xw3)h zvXL1Y^2pTZUiqoo;5*&fabI8fEToMcXs3jKGW9St179bq+T*zX%zp)_eYbKJTSH>h zt$jWGOuzJeBlifIeD*u(@>cdC|ALOmrcC;0i`u4q^=`a**`{X#C~|COcD~I<#@ztB z#Q^8afUM~>(F#>I)4K||np>Q2ivhy>yZdc8J5w{eV&3gTu^s^T{=D-$BAxK!kVrKR)Z`cN$ZUcqZ0+tY z{rPa&UTti)(dugZc5u+_Aif;JaCvdv*5?BtSJv86!1iL~%#$~rHfW!Jdta+jY12%A z^4It8Lrf%&#x??It%gV}K*$c^7m>bnz6dUVnwao46 zYV0QEuOJ(d-;&9Ie+!6ye7J32V^cgRn;|bpd&iZ;Z|UIM+xs>g3~Pq}aR0Ev%Vvgl zzZZr#)sA9ElGER(-4n5|rGW7B^#9`8YVO0QTI_(wVmgFlDu%?<@$eAhx46_c);3Zu zVA5w$dHqgKjzcVm?eOR{nC79az1WJbfZCbz81kgZ1Nr%tD3E@4-cN;8bjF}&XD8_E1FT~_9)ej_eG!4wtvN! z==bLw6P9EcPZd4Y*^p) zry^Z+!h=W@Ir3glME%9XqKwESu|3t-wPiEBPP`jrU>knc4si~7McyLn`aZ|YyHU2u z*1f0i)sgebGKI+L+vr5!(-VEw3S=d(u|ufhMwQd`ao79(J9~YXBt$*}kOcqkF&U2u=k9ima$UH2-pO-hcZubUs zBL&8JEYywkAR#`R$2^gid(0TN(65 zE|R`Xf9o4zQ)JYa`o_81tNzV==P^J&=(cXR{6=?d0V%AUoaf^jul;l}meE*fkfWzoK4VZ~;Bp6&@UbpM(i^^YEsnwnC0)`jb|MO4(dt`qsFveT)7&#fj z#Jq=cgj$(vpFVwQfA{W(w)gc*Jv+&=lrj*UOQAW)OYBcbm3aAwtGfVd$-fWn?(wef zkJ$h*vG)oU<8M!d>x;{ftGRZ5a^B|cTpprweH|GFX@9`ArCiqnAZz(qvsbfAZGLVx zWqAT&efrrd=Fg zx0Tg}@)F$-Vq+n3SM9ouW|jhKA8O}!bIiQWDG`V+Wq-sc|(L8O$BTgIg6eq(@%7>y}eV* z&Tj6!3L&|UoyF$PY}z+U*#Kwk;_kMc9RRv!H}6AA?_*23+oom$@E6M#*@y5m=k(&Rmj7Mf+HQLR@ivFtS`S&wJ$xTfbQJ=(`}I=* zzZw1G=wz;~ZY~E{hxmp-oL=Nu`t%@##A;+4_FM@eb62o|^FxaPtOOWmtUV8bdigSa zX_0~e{g8?E5N2TYB=Ts2JgC9!bo=)0OUT}N`}xOr?L2)qpMFIgH&!+(G|f`a(^JDX zZH2efi%Qs+$i5OHMu)Q@p&vgU1^7?3rCf_h^BCTS>`B&_4}y$brA_n3i`ex&Pv5*a z_YM^0Wj%)6N{TK)ZnNFVpl8>dk?XC1@gtT zOfle?5h>P!7zj~&oBBTIxOjaN0_5Ql2tdzu2u#i9Mn;93{gs3*Y{+bX2az2p7I~>r z&lHYVzorAT4*JaU*MJcT`f6Tc>48`t0-#r@jgcKe(T;%0N;Xzzzm9x#U(4@4w~Ic2 zb~Dfj4fIh&pn!7+nP%e4LsEbP>|?Oz+(@Lnl4dOJ0m)yaDR5sbUX_V;B0lh?Kq#c;-$Up12`rpzA+nL5q)1rmQU{%BW05u@ z^uDNjhV7|aU#8EB?B#pq+mz0_K8k$hzU+3Y4-lUoo`u}dLBF5m$9(I@zoXZ8NkS~O z3IqYb1@;Oc^_|G&Z`4L<0Se=N4mN?9bS^OKIDn39j0uTZ>;E5nf6^T5vZV)ljwS*K z1bSd&cc;7e=1nGBD^{^;Ael@}nd%Sd57A5mnI6lUN)AAi%$$XoP;OTo$U>2>JQII%op_(*dy3O{mrr?QmSlICu|e1XaWaZi9)V+@ zlnf`%#X_Fh!CCPlPhZqqIaVQs)wGpB2(vK=`);mD-ZHm`@_!6Vvtju(lPtS7P=cQQbkg$&yCCEC*FS65cL7k+4*1y~r{mA}7Xde)PCpeOKR-Kd zTLHXWPImS!3{TxlMs2-YqlbxmZ)dZeojCk$Jz(v!Z6zMQ^S^obo3yQ|*AFR^q-%TD z1kV)-oY6t18kwH8zx?>Ny*oN;Z_ZD`OZvfacA{EcT?vrCZfhX`b_U`)HVNo@cCZs$ zNZtYzk3*1*_D%!hPJzY5yAfGVLq6_f7tSQnia11$%Z~h;QL*s-_U^8&kJs8XH#gQ- ztNgAnLKgzMhvU@%+Gp)DaelI;@4-Rs4z;xw;5o4CSitP3v$h{#Xt$}s%5uBCxD5zg zY1_Npuol~kkg31?)vw#8ga1;AruSEskLmq1L?Ph*!ib*E3;FH4YMlfiJK@{`cDDhs z&%gRI#Ns*xZ@aB;?uF>wlumA@0b(H*)5&eZZ?^Y8e%E%NJx@MHDeL9-^7ZTX?x*+3 z?KFDaXd7E=DbK5v;bYs1ZmolvPE-CNQ)eM;M*OZW&da5Wj+|7!xosu};9G7#z5N*A zyW8#~le0IrLmr+z-wx6E)K&&-`EVu z95{II{kxBCeJemT1jm{X=a|@~$Ql$2tL<*Kns`=IYc3}Np!qi%g$!+mHO8 zKdp@w79NJRxcxk2ZEJh8$dGj()+HI0zPq2b*Ds%^UI6E*e<3DjDEhY5kICOgNPbA& z+Bo`Mt(gmzLAz^h&E@4u>5m&3GIbZCZ9%@BxDZV+77`H@QVcW9x3g9f&Ff09mIK` zEQo`&w070&CmfPu^f>M9J)npj^aag*CnXI_>}2^MpNR`ujy(4XTeB}|Df;L%k~K)& z;sr7j762q$&C-||;SOW13ZRccaCv$W{&eYjHQv`6PX8^Kuk+rYsa6fS- zj~0rPx6izAv9Z8hnjN&-eabc8VJt7?KLkzqJ|p5@r7N$|NzIrf?#1dK1MZ!r5@IAy zWJ>%sqMr2Vvf|16o$Q&#;6^8{u8X`F-T35E=6sAkaFzfG+ZWT%?I1sL+pwZMh>MK= zLpJ&-ecahU0~1T;sTexo;>1;jdgN|I3XHoh4PyXDDOTK!mmo>e;0X+NaZD;1?Ka~JqXAY58VKfNKIAid>4+q zT!P3dztWM0Jn`w5hGrT#MHqY+&IRbpH_%H?abf;QTejD6m{xI>lFEyW?jC6tm{2FB^H<`%>6w9Z3VtkuU*LoEd>wUhP)j}e~jZoMv z%;>%a=~Y4rm*z@$6q&oN$P@Xf+Z?||$8b0>#C z-`;K~0oc=<+kl|}6@Vo`$9AQ*9L*cGMqyU#MjirY&jKdLozzA)Bj>AQqd2jz=;Gw~ zFyw=)N#wklCasmWl)NpboEJhsoaP8!`F1FL7Q zzihj^2L-y3uZ!D@w!0ai8-TbS;x{chF52n&Rftvy!E)+HfIR~E8j-vSNekFK4N+;2 zOYIlG{5rCow9612ZPM}SX&a7~d9k%)2kEWZEsA^AS*=I84M4XD{^oAd##@_hoQAnx(zd4M@NUvY3df)J3!Kcc{?rDPEiwEU9O~TEdmcI&hL%b*lc!J zi^d(;cybz&H3}$?4Vj7CdAZZBKiL^3^=R)|%_f|mUbfZLMdi3SSPqdyl-X9=ksGrn z0sbKc`yqKZcLDSIEr*Z1d*~xi5cX;D(fBRi+@%!P!w{18` zJd^Xty;&P9T%^p*!kwNae8|r%Hb1n0KKI#?1?NYJ>*qiJCYaau))w|IN5`jaZ*RR$ z$TwT#wEb1vK2KuzDTmvXl>-a4Cl?_YTRU7-LTpcsrl(I$9erF_i+;xK-TU{^H(&p> z>!}M)OJ7di9whI_CjbwhbS+LQS3dh_x^)ajdbRV~VS^U|zX8+tQ#)!|lVMW>fP0+u z#tE4G1+W{@7Or|UAhc#73 zbfrxTNUP6;tF!{59coyhuFj({+U+@(M<>Y!$?8#?Jg6iMjq zb@E-ZDHHLT(cxyMz9&D?LDy5?J*(u=+9zD))xFYKFXOpe55U`H?=E)*kOA(op^2%XP-GjuFPK5tW3>3L>6HqYw0cVI54o!z8JQU zK=hG!e?MbV_qf^F0r5p-p(i$GYw3fK+V3kJdMlSa@#Ou!n;7zH7TIh^2y%2NAM=@+ zA{#05E{~Je`}azhZB~BNCxc{qYA7vslza7;^#0l%>#ukLj^i}&NWvFSfKKrOLO`2l z#6`{SDgODWIxy-z258I#Kml?9diMccAfk_K_xFwV0&Pa6y~j8KHUJOEc5$zo6A|xd zxRC)TPy=J)^6zjqt#t;#G?~f7TswF~RQh*uAU_CHqNx#oaR8gOxH##O0jTs$JV2r_ zWEF?78YH_eb-?OZ*Ac)jFT#og;I(KPc-4%!=IdvwQOkQ~IUM$veqWPXK&v3$sPpWb(-hS6)X8PQjU(x_P(>E@2yDl=f(EQ#_}Hc7HTzx@9g8IV=m zz9KVZpgZ>B9l%|gi9;FCuRM`R7&0O;bnM;IOTw@}@5?8$RBLnc8^NgAxP+5$pGZog ztnc!`C5=sxPyWr0uwms{dd*+ibmB9MX6GCPm0sqyLQm2Z-fwAg)FHn;+VJ!rLKha&y&&0jU@Y3Uw-jT+V9wC>d$O?)2{DkHJh>=;58Tz+9X7yN_If9 ze5U(ZBka?cwYug_Dkv@db$f#rq%If4uyU?azLC+kX7` zwte^ULmRhY%{m+&A4f0uH6x?8pP$<1HXYW=pccSio*wnn?30h(fK;}3c6^anZfiEe zfqKvO4?-+QwHAQu-030ru}NFoTxr{@d+qY(G9BhhxdxR>RT>e*?WYi>s^=jqH7gPl zcYn*h=Qj56ygk?%CN^UZXFY`O_TCv7>11Fg?(Ofl>7AL;5VDXN zBy(%L-3B2!c0fZW%m`dv2PEfnduzYFfBUZ55$CSdmcbJvy9@2v!Hdef*{Ji=i-7*y z5b)LLV!76AjMkUhPd|L98IZl`^!=On0VR>)*1ZiB3%w{JV`n1 z?(Nm=&?xDd)mvS4K8Tb3cS5`u>M%xN!>(1<2XXH@&*$d$Mv+TvSyl(Bv#ZNB`{j(8 zixA%7>RO#jZwJ52i=)`qU9)BcNVA}x&D$<`C*;V$z-`J^U7ds!as!)$OwQ6Cgv+PA zkb^l8i!3!doU{ioe-8wO0;&sGE6#Rk(d7a&#QMv9AkSafc2I06B9cHj2CgOau} zpb{wwU@LMFnE<-Je#1gzi?ELh01gLVCVXTI$S$Dxm_8%l-J8qm>h3Pwh`9bFpCLpY zaCWj$hY6a!2@pg|fOVjeJ68d}sh@^!k!lZTwK~uQ~x3l`ncOB9(Y+QF=lcFq8&40BCtBm#XERgym`! z>9}ffm&(7{>|@^Pi{jaH5u3aZ^vm;L_(gR3soq66$v{W_GV7o|b^3nY2XX=gx#CM-|Kns8arm9-ye*m(+7ilo+Zsay?q$=Cq z86`@is-pm&fNR(U5I3@I#CZ<(xg8-OH8P)jMx^~#eoS$k^!ebyfNq2Z&gGR0oTkS;E?Y{V=cPXvU!;iMJD@*`>{3Ej zd9<4_qmw3d9@X-N1 zR@o#DGY}&2yFh=!`!wUgR^(-z_cdE{awxuDHu+yJvUK-6yLc_NH|gY^|3WV1OV7vx z`NZozBvv{uq(OM3$C|2gor+MRr!#r@6ups0Ty(13$kAu;x;#awB7^S0g?K7=X%Y@8 zqzCa-UISWJmWM?Y%rfk(ZPWs9yFA&B_bi_l;jToc)6?UC@&KXpfRNRVW|yGF)O9;h zjS`O$Vs28yQ96-;+UxwjN#}8WbzfzFZ@as*0PnnqeAxY{rnK+!7kT_G1Z*xND2+;rO{J8!3U;J77djCbh?H{+JkB0%3H#Pbl zHOD?4+gZx27G+024*{8vDIWs|liQmRfRE`I(-!CZWBR$>kV}i=9lB^u1rU4}LbbXY zupJr9iZ~Vj?*2ZcZd~qFVPGK|0W*jqYR{kVwBP>vw~>9RjV-X>Tx~zS{V}>o8=VfAJKX(kYD4t1 zi2RL5?ezMht&caN$A2;6YE)?R$^Jit7i zeah+K;Vv?rhkPuwo$c*9fKuzsB}w~i#=>EicIH}09UX>XaOb<51|X*V02+(Z%?jR5 z0-grTvAgItq-b(+9nK6`M(@$Z=H@uW@2u?4DfM)`yfm$ywQkeD9UXnDGe~9u9(S|5 zc9?RqPQ^m~hqQru%3G(mU(afnHyChvFluk!ek|RtE(iRDluSe3M{AqydSWIby;JNL z$ymy>Iz>D-WdXizu5G7nn`hfs+fLg;eWkmKj(Dz})XM2bv2zEOl^N@+G7Z`EvisJN-Rizb_oGH6uou*;eA=q9e^YST!=u z-Gxj=P|OGSD)QG_o#@D4Uq3<*#4+;T zchqt(kwjJ_`DQWv(zEG3w8805tK5NI#Kg=tV#qdfi!sJ--79b|lyqVb^ay}gSyN0BO=jPY{7H+s9D7% zS$X=*uFrN&2ykxn7Z3!1G&{^;?&bq10cSvw`@kWy04jl6g#xgHXgUcCkIjMr%ghN7 zHOi~P0AodDavz8Vk^xu00j>Nj^Aiv7<`S3nDW2=_dAp)`?8I$E)9jJ_DxV_FiIZ%I zF1sW%LR7OI$wSwMZnWp0jM5PY0`XHohplv#rKXg-93nt2W#PN^FZAaUM{Ol7EZyav zw3V}q{^#WL^#lzA>)_QMvCdHG}qm(e4g(s#)$T)w+JNAi3Mb008n3*EQx-?z2V zdRrRmkOMgL%-J4Jh^DBs)02Rn`?j)XG<{Gbx(G;@4^mHFkhV!Ts+*+JVavuy68!5>>$~ABsmsyRcq{r2NPYd~>-O$lK$ClG>^-*q?y!CJ^Pjc5_BqV%