From c49327748d4730d410579328fe88325281a63864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gi=C3=B2?= Date: Sat, 23 Mar 2024 10:05:14 +0100 Subject: [PATCH] raw prototype. --- .gitignore | 1 + docs/schema.dbml | 4 +- scraper/.editorconfig | 18 + scraper/.env.example | 64 + scraper/.gitattributes | 11 + scraper/.gitignore | 19 + scraper/README.md | 66 + scraper/app/Http/Controllers/Controller.php | 8 + scraper/app/Jobs/scrapeProperties.php | 55 + scraper/app/Models/Occupancy.php | 13 + scraper/app/Models/Property.php | 13 + scraper/app/Models/Seed.php | 12 + scraper/app/Models/User.php | 47 + scraper/app/Providers/AppServiceProvider.php | 24 + scraper/app/Scraper/Basic.php | 36 + scraper/app/Scraper/Edomizil.php | 74 + scraper/artisan | 15 + scraper/bootstrap/app.php | 18 + scraper/bootstrap/cache/.gitignore | 2 + scraper/bootstrap/providers.php | 6 + scraper/composer.json | 66 + scraper/composer.lock | 8135 +++++++++++++++++ scraper/config/app.php | 126 + scraper/config/auth.php | 115 + scraper/config/cache.php | 107 + scraper/config/database.php | 170 + scraper/config/filesystems.php | 76 + scraper/config/logging.php | 132 + scraper/config/mail.php | 103 + scraper/config/queue.php | 112 + scraper/config/services.php | 34 + scraper/config/session.php | 218 + scraper/database/.gitignore | 1 + scraper/database/factories/UserFactory.php | 44 + .../0001_01_01_000000_create_users_table.php | 49 + .../0001_01_01_000001_create_cache_table.php | 35 + ...2024_03_15_142227_create_regions_table.php | 28 + .../2024_03_15_142228_create_seeds_table.php | 29 + ...4_03_15_142257_create_properties_table.php | 31 + ..._03_15_142550_create_occupancies_table.php | 30 + ...4_03_15_142625_create_exceptions_table.php | 30 + .../2024_03_15_162023_create_jobs_table.php | 32 + scraper/database/seeders/DatabaseSeeder.php | 23 + scraper/package.json | 13 + scraper/phpunit.xml | 33 + scraper/public/.htaccess | 21 + scraper/public/favicon.ico | 0 scraper/public/index.php | 17 + scraper/public/robots.txt | 2 + scraper/public/test.json | 1 + scraper/resources/css/app.css | 0 scraper/resources/js/app.js | 1 + scraper/resources/js/bootstrap.js | 4 + scraper/resources/views/welcome.blade.php | 172 + scraper/routes/console.php | 8 + scraper/routes/web.php | 16 + scraper/storage/app/.gitignore | 3 + scraper/storage/app/public/.gitignore | 2 + scraper/storage/framework/.gitignore | 9 + scraper/storage/framework/cache/.gitignore | 3 + .../storage/framework/cache/data/.gitignore | 2 + scraper/storage/framework/sessions/.gitignore | 2 + scraper/storage/framework/testing/.gitignore | 2 + scraper/storage/framework/views/.gitignore | 2 + scraper/storage/logs/.gitignore | 2 + scraper/tests/Feature/ExampleTest.php | 19 + scraper/tests/TestCase.php | 10 + scraper/tests/Unit/ExampleTest.php | 16 + scraper/vite.config.js | 11 + 69 files changed, 10601 insertions(+), 2 deletions(-) create mode 100644 scraper/.editorconfig create mode 100644 scraper/.env.example create mode 100644 scraper/.gitattributes create mode 100644 scraper/.gitignore create mode 100644 scraper/README.md create mode 100644 scraper/app/Http/Controllers/Controller.php create mode 100644 scraper/app/Jobs/scrapeProperties.php create mode 100644 scraper/app/Models/Occupancy.php create mode 100644 scraper/app/Models/Property.php create mode 100644 scraper/app/Models/Seed.php create mode 100644 scraper/app/Models/User.php create mode 100644 scraper/app/Providers/AppServiceProvider.php create mode 100644 scraper/app/Scraper/Basic.php create mode 100644 scraper/app/Scraper/Edomizil.php create mode 100755 scraper/artisan create mode 100644 scraper/bootstrap/app.php create mode 100644 scraper/bootstrap/cache/.gitignore create mode 100644 scraper/bootstrap/providers.php create mode 100644 scraper/composer.json create mode 100644 scraper/composer.lock create mode 100644 scraper/config/app.php create mode 100644 scraper/config/auth.php create mode 100644 scraper/config/cache.php create mode 100644 scraper/config/database.php create mode 100644 scraper/config/filesystems.php create mode 100644 scraper/config/logging.php create mode 100644 scraper/config/mail.php create mode 100644 scraper/config/queue.php create mode 100644 scraper/config/services.php create mode 100644 scraper/config/session.php create mode 100644 scraper/database/.gitignore create mode 100644 scraper/database/factories/UserFactory.php create mode 100644 scraper/database/migrations/0001_01_01_000000_create_users_table.php create mode 100644 scraper/database/migrations/0001_01_01_000001_create_cache_table.php create mode 100644 scraper/database/migrations/2024_03_15_142227_create_regions_table.php create mode 100644 scraper/database/migrations/2024_03_15_142228_create_seeds_table.php create mode 100644 scraper/database/migrations/2024_03_15_142257_create_properties_table.php create mode 100644 scraper/database/migrations/2024_03_15_142550_create_occupancies_table.php create mode 100644 scraper/database/migrations/2024_03_15_142625_create_exceptions_table.php create mode 100644 scraper/database/migrations/2024_03_15_162023_create_jobs_table.php create mode 100644 scraper/database/seeders/DatabaseSeeder.php create mode 100644 scraper/package.json create mode 100644 scraper/phpunit.xml create mode 100644 scraper/public/.htaccess create mode 100644 scraper/public/favicon.ico create mode 100644 scraper/public/index.php create mode 100644 scraper/public/robots.txt create mode 100644 scraper/public/test.json create mode 100644 scraper/resources/css/app.css create mode 100644 scraper/resources/js/app.js create mode 100644 scraper/resources/js/bootstrap.js create mode 100644 scraper/resources/views/welcome.blade.php create mode 100644 scraper/routes/console.php create mode 100644 scraper/routes/web.php create mode 100644 scraper/storage/app/.gitignore create mode 100644 scraper/storage/app/public/.gitignore create mode 100644 scraper/storage/framework/.gitignore create mode 100644 scraper/storage/framework/cache/.gitignore create mode 100644 scraper/storage/framework/cache/data/.gitignore create mode 100644 scraper/storage/framework/sessions/.gitignore create mode 100644 scraper/storage/framework/testing/.gitignore create mode 100644 scraper/storage/framework/views/.gitignore create mode 100644 scraper/storage/logs/.gitignore create mode 100644 scraper/tests/Feature/ExampleTest.php create mode 100644 scraper/tests/TestCase.php create mode 100644 scraper/tests/Unit/ExampleTest.php create mode 100644 scraper/vite.config.js diff --git a/.gitignore b/.gitignore index ad2f6cc..0c84d60 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Workspace files are user-specific *.sublime-workspace +*.sqlite # Project files should be checked into the repository, unless a significant # proportion of contributors will probably not be using Sublime Text diff --git a/docs/schema.dbml b/docs/schema.dbml index 2948bb5..9efc2ad 100644 --- a/docs/schema.dbml +++ b/docs/schema.dbml @@ -29,7 +29,7 @@ Table occupancies { created_at timestamp [not null] } -enum enteties { +enum entities { property occupancy } @@ -37,6 +37,6 @@ enum enteties { Table exceptions { extraction_id integer [primary key] exception json [not null, note: "exception while scraping (e. g. HTTP error message) and called url."] - entity enteties [not null, note: "for which entity did the exception occur."] + entity entities [not null, note: "for which entity did the exception occur."] entity_id integer [not null, note: "either a property_id or occupancy_id"] } diff --git a/scraper/.editorconfig b/scraper/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /dev/null +++ b/scraper/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/scraper/.env.example b/scraper/.env.example new file mode 100644 index 0000000..7b49625 --- /dev/null +++ b/scraper/.env.example @@ -0,0 +1,64 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_TIMEZONE=UTC +APP_URL=http://localhost + +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +APP_MAINTENANCE_DRIVER=file +APP_MAINTENANCE_STORE=database + +BCRYPT_ROUNDS=12 + +LOG_CHANNEL=stack +LOG_STACK=single +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=sqlite +# DB_HOST=127.0.0.1 +# DB_PORT=3306 +# DB_DATABASE=laravel +# DB_USERNAME=root +# DB_PASSWORD= + +SESSION_DRIVER=database +SESSION_LIFETIME=120 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log +FILESYSTEM_DISK=local +QUEUE_CONNECTION=database + +CACHE_STORE=database +CACHE_PREFIX= + +MEMCACHED_HOST=127.0.0.1 + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=log +MAIL_HOST=127.0.0.1 +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +VITE_APP_NAME="${APP_NAME}" diff --git a/scraper/.gitattributes b/scraper/.gitattributes new file mode 100644 index 0000000..fcb21d3 --- /dev/null +++ b/scraper/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/scraper/.gitignore b/scraper/.gitignore new file mode 100644 index 0000000..7fe978f --- /dev/null +++ b/scraper/.gitignore @@ -0,0 +1,19 @@ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.env.production +.phpunit.result.cache +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode diff --git a/scraper/README.md b/scraper/README.md new file mode 100644 index 0000000..1a4c26b --- /dev/null +++ b/scraper/README.md @@ -0,0 +1,66 @@ +

Laravel Logo

+ +

+Build Status +Total Downloads +Latest Stable Version +License +

+ +## About Laravel + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: + +- [Simple, fast routing engine](https://laravel.com/docs/routing). +- [Powerful dependency injection container](https://laravel.com/docs/container). +- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. +- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). +- Database agnostic [schema migrations](https://laravel.com/docs/migrations). +- [Robust background job processing](https://laravel.com/docs/queues). +- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). + +Laravel is accessible, powerful, and provides tools required for large, robust applications. + +## Learning Laravel + +Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. + +You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. + +If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. + +## Laravel Sponsors + +We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). + +### Premium Partners + +- **[Vehikl](https://vehikl.com/)** +- **[Tighten Co.](https://tighten.co)** +- **[WebReinvent](https://webreinvent.com/)** +- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** +- **[64 Robots](https://64robots.com)** +- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** +- **[Cyber-Duck](https://cyber-duck.co.uk)** +- **[DevSquad](https://devsquad.com/hire-laravel-developers)** +- **[Jump24](https://jump24.co.uk)** +- **[Redberry](https://redberry.international/laravel/)** +- **[Active Logic](https://activelogic.com)** +- **[byte5](https://byte5.de)** +- **[OP.GG](https://op.gg)** + +## Contributing + +Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). + +## Code of Conduct + +In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/scraper/app/Http/Controllers/Controller.php b/scraper/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..8677cd5 --- /dev/null +++ b/scraper/app/Http/Controllers/Controller.php @@ -0,0 +1,8 @@ +seed = $seed; + } + + /** + * Execute the job. + */ + public function handle(): void + { + // $response = Http::get($seed->uri); + dump($seed->uri); + $response = Http::get('https://diani.xyz/test.json'); + $json = $response->json(); + + foreach($json['offers'] as $offer){ + + $property = Property::firstWhere('property_platform_id', $offer['id']); + + if($property && $property->check_data === implode(',', $offer['geoLocation'])){ + $property->last_found = now(); + $property->save(); + }else if($property && $property->check_data !== implode(',', $offer['geoLocation'])){ + dump('error'); + }else{ + Property::create([ + 'property_platform_id' => $offer['id'], + 'seed_id' => $seed->id, + 'check_data' => implode(',', $offer['geoLocation']), + 'last_found' => now() + ]); + } + } + } +} diff --git a/scraper/app/Models/Occupancy.php b/scraper/app/Models/Occupancy.php new file mode 100644 index 0000000..6c6a6b3 --- /dev/null +++ b/scraper/app/Models/Occupancy.php @@ -0,0 +1,13 @@ + + */ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var array + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; + + /** + * Get the attributes that should be cast. + * + * @return array + */ + protected function casts(): array + { + return [ + 'email_verified_at' => 'datetime', + 'password' => 'hashed', + ]; + } +} diff --git a/scraper/app/Providers/AppServiceProvider.php b/scraper/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..452e6b6 --- /dev/null +++ b/scraper/app/Providers/AppServiceProvider.php @@ -0,0 +1,24 @@ + $url, + CURLOPT_HEADER => true, + CURLOPT_FOLLOWLOCATION => true, + ); + + curl_setopt_array($ch, $options); + + $request = curl_exec($ch); + + curl_close($ch); + + if($isJSON){ + $request = $this->parseJSON($request); + } + + return $request; + + } + +} \ No newline at end of file diff --git a/scraper/app/Scraper/Edomizil.php b/scraper/app/Scraper/Edomizil.php new file mode 100644 index 0000000..4a238eb --- /dev/null +++ b/scraper/app/Scraper/Edomizil.php @@ -0,0 +1,74 @@ +inRandomOrder()->get(); + foreach ($seeds as $seed) { + dispatch(new scrapeProperties($seed)); + } + + /* + foreach($seeds::all() as $seed){ + + $response = Http::get($seed->uri); + $json = $response->json(); + + foreach($json['offers'] as $offer){ + + $property = Property::firstWhere('property_platform_id', $offer['id']); + + if($property && $property->check_data === implode(',', $offer['geoLocation'])){ + $property->last_found = now(); + $property->save(); + }else if($property && $property->check_data !== implode(',', $offer['geoLocation'])){ + dump('error'); + }else{ + Property::create([ + 'property_platform_id' => $offer['id'], + 'seed_id' => $seed->id, + 'check_data' => implode(',', $offer['geoLocation']), + 'last_found' => now() + ]); + } + } + } + */ + } + + public static function getOccupancies(){ + + // get all properties from model in random order. + $properties = Property::select('id','property_platform_id')->inRandomOrder()->get(); + + foreach($properties as $property){ + + dump($property->id); + /* + $response = Http::get('https://www.e-domizil.ch/api/v2/calendar/'.$property->property_platform_id, [ + 'year' => date("Y") + ]); + $data = $response->json(); + + Occupancy::create([ + 'property_id' => $property->id, + 'occupancy' => json_encode($data['content']['days']), + 'header' => json_encode($response->headers()) + ]); + */ + } + + } + + + +} + diff --git a/scraper/artisan b/scraper/artisan new file mode 100755 index 0000000..8e04b42 --- /dev/null +++ b/scraper/artisan @@ -0,0 +1,15 @@ +#!/usr/bin/env php +handleCommand(new ArgvInput); + +exit($status); diff --git a/scraper/bootstrap/app.php b/scraper/bootstrap/app.php new file mode 100644 index 0000000..7b162da --- /dev/null +++ b/scraper/bootstrap/app.php @@ -0,0 +1,18 @@ +withRouting( + web: __DIR__.'/../routes/web.php', + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware) { + // + }) + ->withExceptions(function (Exceptions $exceptions) { + // + })->create(); diff --git a/scraper/bootstrap/cache/.gitignore b/scraper/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/scraper/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/scraper/bootstrap/providers.php b/scraper/bootstrap/providers.php new file mode 100644 index 0000000..4e3b440 --- /dev/null +++ b/scraper/bootstrap/providers.php @@ -0,0 +1,6 @@ +=5.0.0" + }, + "require-dev": { + "doctrine/dbal": "^4.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2024-02-18T20:23:39+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-10-06T06:47:41+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:35:24+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:19:20+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.6.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:05:35+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2023-12-03T19:50:20+00:00" + }, + { + "name": "laravel/framework", + "version": "v11.0.8", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "0379a7ccb77e2029c43ce508fa76e251a0d68fce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/0379a7ccb77e2029c43ce508fa76e251a0d68fce", + "reference": "0379a7ccb77e2029c43ce508fa76e251a0d68fce", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.1.15", + "laravel/serializable-closure": "^1.3", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^2.72.2|^3.0", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^7.0", + "symfony/error-handler": "^7.0", + "symfony/finder": "^7.0", + "symfony/http-foundation": "^7.0", + "symfony/http-kernel": "^7.0", + "symfony/mailer": "^7.0", + "symfony/mime": "^7.0", + "symfony/polyfill-php83": "^1.28", + "symfony/process": "^7.0", + "symfony/routing": "^7.0", + "symfony/uid": "^7.0", + "symfony/var-dumper": "^7.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "mockery/mockery": "1.6.8", + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "spatie/once": "*" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "ext-gmp": "*", + "fakerphp/faker": "^1.23", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.6", + "nyholm/psr7": "^1.2", + "orchestra/testbench-core": "^9.0.6", + "pda/pheanstalk": "^5.0", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^10.5|^11.0", + "predis/predis": "^2.0.2", + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.0", + "symfony/http-client": "^7.0", + "symfony/psr-http-message-bridge": "^7.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.6).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", + "predis/predis": "Required to use the predis connector (^2.0.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2024-03-21T14:15:49+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.1.16", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "ca6872ab6aec3ab61db3a61f83a6caf764ec7781" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/ca6872ab6aec3ab61db3a61f83a6caf764ec7781", + "reference": "ca6872ab6aec3ab61db3a61f83a6caf764ec7781", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.16" + }, + "time": "2024-02-21T19:25:27+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2023-11-08T14:08:06+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.9.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.9.0" + }, + "time": "2024-01-04T16:10:04+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.3", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2024-02-02T11:59:32+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.25.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "abbd664eb4381102c559d358420989f835208f18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/abbd664eb4381102c559d358420989f835208f18", + "reference": "abbd664eb4381102c559d358420989f835208f18", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.25.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-03-16T12:53:19+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.25.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-03-15T19:58:44+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.15.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-01-28T23:22:08+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", + "ruflin/elastica": "^7", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:32:31+00:00" + }, + { + "name": "nesbot/carbon", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2", + "reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3 || ^7.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.18.0", + "kylekatarnls/multi-tester": "^2.2.0", + "ondrejmirtes/better-reflection": "^6.11.0.0", + "phpmd/phpmd": "^2.13.0", + "phpstan/extension-installer": "^1.3.0", + "phpstan/phpstan": "^1.10.20", + "phpunit/phpunit": "^10.2.2", + "squizlabs/php_codesniffer": "^3.7.2" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2024-03-13T12:42:37+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.0" + }, + "time": "2023-12-11T11:54:22+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.4" + }, + "time": "2024-01-17T16:50:36+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.0.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + }, + "time": "2024-03-05T20:51:40+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/58c4c58cf23df7f498daeb97092e34f5259feb6a", + "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.2", + "symfony/console": "^7.0.4" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^2.2.0", + "illuminate/console": "^11.0.0", + "laravel/pint": "^1.14.0", + "mockery/mockery": "^1.6.7", + "pestphp/pest": "^2.34.1", + "phpstan/phpstan": "^1.10.59", + "phpstan/phpstan-strict-rules": "^1.5.2", + "symfony/var-dumper": "^7.0.4", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2024-03-06T16:17:14+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.2", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "9185c66c2165bbf4d71de78a69dccf4974f9538d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9185c66c2165bbf4d71de78a69dccf4974f9538d", + "reference": "9185c66c2165bbf4d71de78a69dccf4974f9538d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.12.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.2" + }, + "time": "2024-03-17T01:53:00+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.5", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.5" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2023-11-08T05:53:05+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.0.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/8b9d08887353d627d5f6c3bf3373b398b49051c2", + "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.0.5" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-03-02T12:46:12+00:00" + }, + { + "name": "symfony/console", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/6b099f3306f7c9c2d2786ed736d0026b2903205f", + "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^6.4|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-22T20:27:20+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ec60a4edf94e63b0556b6a0888548bb400a3a3be", + "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "677b24759decff69e65b1e9d1471d90f95ced880" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/677b24759decff69e65b1e9d1471d90f95ced880", + "reference": "677b24759decff69e65b1e9d1471d90f95ced880", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^6.4|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-22T20:27:20+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e", + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", + "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.0.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T17:59:56+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "439fdfdd344943254b1ef6278613e79040548045" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/439fdfdd344943254b1ef6278613e79040548045", + "reference": "439fdfdd344943254b1ef6278613e79040548045", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" + }, + "require-dev": { + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-08T19:22:56+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v7.0.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72", + "reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.0.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^6.4|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.0.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v7.0.5" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-03-04T21:05:24+00:00" + }, + { + "name": "symfony/mailer", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "72e16d87bf50a3ce195b9470c06bb9d7b816ea85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/72e16d87bf50a3ce195b9470c06bb9d7b816ea85", + "reference": "72e16d87bf50a3ce195b9470c06bb9d7b816ea85", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-03T21:34:19+00:00" + }, + { + "name": "symfony/mime", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-30T08:34:29+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/process", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/0e7727191c3b71ebec6d529fa0e50a01ca5679e9", + "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-22T20:27:20+00:00" + }, + { + "name": "symfony/routing", + "version": "v7.0.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19", + "reference": "ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v7.0.5" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-27T12:34:35+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/string", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/f5832521b998b0bec40bee688ad5de98d4cf111b", + "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-01T13:17:36+00:00" + }, + { + "name": "symfony/translation", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "5b75e872f7d135d7abb4613809fadc8d9f3d30a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/5b75e872f7d135d7abb4613809fadc8d9f3d30a0", + "reference": "5b75e872f7d135d7abb4613809fadc8d9f3d30a0", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^4.18|^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-22T20:27:20+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "06450585bf65e978026bda220cdebca3f867fde7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/uid", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/87cedaf3fabd7b733859d4d77aa4ca598259054b", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v7.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "e03ad7c1535e623edbb94c22cc42353e488c6670" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e03ad7c1535e623edbb94c22cc42353e488c6670", + "reference": "e03ad7c1535e623edbb94c22cc42353e488c6670", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.0.4" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v7.0.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-02-15T11:33:06+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:43:29+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-03-08T17:03:00+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ + { + "name": "fakerphp/faker", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + }, + "time": "2024-01-02T13:46:09+00:00" + }, + { + "name": "filp/whoops", + "version": "2.15.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.15.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-11-03T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.14.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/6b127276e3f263f7bb17d5077e9e0269e61b2a0e", + "reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.49.0", + "illuminate/view": "^10.43.0", + "larastan/larastan": "^2.8.1", + "laravel-zero/framework": "^10.3.0", + "mockery/mockery": "^1.6.7", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.33.6" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2024-02-20T17:38:05+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.29.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0", + "illuminate/support": "^9.52.16|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2024-03-20T20:09:31+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.11", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "81a161d0b135df89951abd52296adf97deb0723d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d", + "reference": "81a161d0b135df89951abd52296adf97deb0723d", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-03-21T18:34:15+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.1.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "13e5d538b95a744d85f447a321ce10adb28e9af9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/13e5d538b95a744d85f447a321ce10adb28e9af9", + "reference": "13e5d538b95a744d85f447a321ce10adb28e9af9", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.15.4", + "nunomaduro/termwind": "^2.0.1", + "php": "^8.2.0", + "symfony/console": "^7.0.4" + }, + "conflict": { + "laravel/framework": "<11.0.0 || >=12.0.0", + "phpunit/phpunit": "<10.5.1 || >=12.0.0" + }, + "require-dev": { + "larastan/larastan": "^2.9.2", + "laravel/framework": "^11.0.0", + "laravel/pint": "^1.14.0", + "laravel/sail": "^1.28.2", + "laravel/sanctum": "^4.0.0", + "laravel/tinker": "^2.9.0", + "orchestra/testbench-core": "^9.0.0", + "pestphp/pest": "^2.34.1 || ^3.0.0", + "sebastian/environment": "^6.0.1 || ^7.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2024-03-06T16:20:09+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "10.1.14", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.1" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-12T15:33:41+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T06:24:48+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:09+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T14:07:24+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:57:52+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "10.5.15", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "86376e05e8745ed81d88232ff92fee868247b07b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/86376e05e8745ed81d88232ff92fee868247b07b", + "reference": "86376e05e8745ed81d88232ff92fee868247b07b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.15" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-03-22T04:17:47+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:12:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:43+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:15+00:00" + }, + { + "name": "sebastian/comparator", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-14T13:18:12+00:00" + }, + { + "name": "sebastian/complexity", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "68ff824baeae169ec9f2137158ee529584553799" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:37:17+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:15:17+00:00" + }, + { + "name": "sebastian/environment", + "version": "6.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-23T08:47:14+00:00" + }, + { + "name": "sebastian/exporter", + "version": "5.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:17:12+00:00" + }, + { + "name": "sebastian/global-state", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T07:19:19+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:38:20+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:32+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:05:40+00:00" + }, + { + "name": "sebastian/type", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:10:45+00:00" + }, + { + "name": "sebastian/version", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-07T11:34:05+00:00" + }, + { + "name": "spatie/backtrace", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/backtrace/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2023-06-28T12:59:17+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.4.4", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "php": "^8.0", + "spatie/backtrace": "^1.5.2", + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.4.4" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-01-31T14:18:45+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.12.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/5b6f801c605a593106b623e45ca41496a6e7d56d", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "require-dev": { + "illuminate/cache": "^9.52|^10.0|^11.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-01-03T15:49:39+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "351504f4570e32908839fc5a2dc53bf77d02f85e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/351504f4570e32908839fc5a2dc53bf77d02f85e", + "reference": "351504f4570e32908839fc5a2dc53bf77d02f85e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^10.0|^11.0", + "php": "^8.1", + "spatie/flare-client-php": "^1.3.5", + "spatie/ignition": "^1.9", + "symfony/console": "^6.2.3|^7.0", + "symfony/var-dumper": "^6.2.3|^7.0" + }, + "require-dev": { + "livewire/livewire": "^2.11|^3.3.5", + "mockery/mockery": "^1.5.1", + "openai-php/client": "^0.8.1", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^2.30", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.3", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-02-09T16:08:40+00:00" + }, + { + "name": "symfony/yaml", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "2d4fca631c00700597e9442a0b2451ce234513d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/2d4fca631c00700597e9442a0b2451ce234513d3", + "reference": "2d4fca631c00700597e9442a0b2451ce234513d3", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:36:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.2" + }, + "platform-dev": [], + "plugin-api-version": "2.6.0" +} diff --git a/scraper/config/app.php b/scraper/config/app.php new file mode 100644 index 0000000..f467267 --- /dev/null +++ b/scraper/config/app.php @@ -0,0 +1,126 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | the application so that it's available within Artisan commands. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. + | + */ + + 'timezone' => env('APP_TIMEZONE', 'UTC'), + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), + + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. + | + */ + + 'cipher' => 'AES-256-CBC', + + 'key' => env('APP_KEY'), + + 'previous_keys' => [ + ...array_filter( + explode(',', env('APP_PREVIOUS_KEYS', '')) + ), + ], + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], + +]; diff --git a/scraper/config/auth.php b/scraper/config/auth.php new file mode 100644 index 0000000..0ba5d5d --- /dev/null +++ b/scraper/config/auth.php @@ -0,0 +1,115 @@ + [ + 'guard' => env('AUTH_GUARD', 'web'), + 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | which utilizes session storage plus the Eloquent user provider. + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | If you have multiple user tables or models you may configure multiple + | providers to represent the model / table. These providers may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => env('AUTH_MODEL', App\Models\User::class), + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | These configuration options specify the behavior of Laravel's password + | reset functionality, including the table utilized for token storage + | and the user provider that is invoked to actually retrieve users. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | window expires and users are asked to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), + +]; diff --git a/scraper/config/cache.php b/scraper/config/cache.php new file mode 100644 index 0000000..3eb95d1 --- /dev/null +++ b/scraper/config/cache.php @@ -0,0 +1,107 @@ + env('CACHE_STORE', 'database'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", "memcached", + | "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => env('DB_CACHE_TABLE', 'cache'), + 'connection' => env('DB_CACHE_CONNECTION', null), + 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION', null), + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'), + 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, and DynamoDB cache + | stores, there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/scraper/config/database.php b/scraper/config/database.php new file mode 100644 index 0000000..f720f56 --- /dev/null +++ b/scraper/config/database.php @@ -0,0 +1,170 @@ + env('DB_CONNECTION', 'sqlite'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_0900_ai_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run on the database. + | + */ + + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as Memcached. You may define your connection settings here. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/scraper/config/filesystems.php b/scraper/config/filesystems.php new file mode 100644 index 0000000..44fe9c8 --- /dev/null +++ b/scraper/config/filesystems.php @@ -0,0 +1,76 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Below you may configure as many filesystem disks as necessary, and you + | may even configure multiple disks for the same driver. Examples for + | most supported storage drivers are configured here for reference. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/scraper/config/logging.php b/scraper/config/logging.php new file mode 100644 index 0000000..d526b64 --- /dev/null +++ b/scraper/config/logging.php @@ -0,0 +1,132 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" + | + */ + + 'channels' => [ + + 'stack' => [ + 'driver' => 'stack', + 'channels' => explode(',', env('LOG_STACK', 'single')), + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => env('LOG_DAILY_DAYS', 14), + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + + ], + +]; diff --git a/scraper/config/mail.php b/scraper/config/mail.php new file mode 100644 index 0000000..a4a02fe --- /dev/null +++ b/scraper/config/mail.php @@ -0,0 +1,103 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "log", "array", "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails sent by your application to be sent from + | the same address. Here you may specify a name and address that is + | used globally for all emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + +]; diff --git a/scraper/config/queue.php b/scraper/config/queue.php new file mode 100644 index 0000000..4f689e9 --- /dev/null +++ b/scraper/config/queue.php @@ -0,0 +1,112 @@ + env('QUEUE_CONNECTION', 'database'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection options for every queue backend + | used by your application. An example configuration is provided for + | each backend supported by Laravel. You're also free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_QUEUE_CONNECTION', null), + 'table' => env('DB_QUEUE_TABLE', 'jobs'), + 'queue' => env('DB_QUEUE', 'default'), + 'retry_after' => env('DB_QUEUE_RETRY_AFTER', 90), + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), + 'queue' => env('BEANSTALKD_QUEUE', 'default'), + 'retry_after' => env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => env('REDIS_QUEUE_RETRY_AFTER', 90), + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control how and where failed jobs are stored. Laravel ships with + | support for storing failed jobs in a simple file or in a database. + | + | Supported drivers: "database-uuids", "dynamodb", "file", "null" + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/scraper/config/services.php b/scraper/config/services.php new file mode 100644 index 0000000..6bb68f6 --- /dev/null +++ b/scraper/config/services.php @@ -0,0 +1,34 @@ + [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'slack' => [ + 'notifications' => [ + 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), + 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), + ], + ], + +]; diff --git a/scraper/config/session.php b/scraper/config/session.php new file mode 100644 index 0000000..0e22ee4 --- /dev/null +++ b/scraper/config/session.php @@ -0,0 +1,218 @@ + env('SESSION_DRIVER', 'database'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. + | + */ + + 'encrypt' => env('SESSION_ENCRYPT', false), + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. + | + */ + + 'table' => env('SESSION_TABLE', 'sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. + | + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application, but you're free to change this when necessary. + | + */ + + 'path' => env('SESSION_PATH', '/'), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain and all subdomains. Typically, this shouldn't be changed. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. It's unlikely you should disable this option. + | + */ + + 'http_only' => env('SESSION_HTTP_ONLY', true), + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), + +]; diff --git a/scraper/database/.gitignore b/scraper/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/scraper/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/scraper/database/factories/UserFactory.php b/scraper/database/factories/UserFactory.php new file mode 100644 index 0000000..584104c --- /dev/null +++ b/scraper/database/factories/UserFactory.php @@ -0,0 +1,44 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/scraper/database/migrations/0001_01_01_000000_create_users_table.php b/scraper/database/migrations/0001_01_01_000000_create_users_table.php new file mode 100644 index 0000000..05fb5d9 --- /dev/null +++ b/scraper/database/migrations/0001_01_01_000000_create_users_table.php @@ -0,0 +1,49 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + + Schema::create('password_reset_tokens', function (Blueprint $table) { + $table->string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + + Schema::create('sessions', function (Blueprint $table) { + $table->string('id')->primary(); + $table->foreignId('user_id')->nullable()->index(); + $table->string('ip_address', 45)->nullable(); + $table->text('user_agent')->nullable(); + $table->longText('payload'); + $table->integer('last_activity')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users'); + Schema::dropIfExists('password_reset_tokens'); + Schema::dropIfExists('sessions'); + } +}; diff --git a/scraper/database/migrations/0001_01_01_000001_create_cache_table.php b/scraper/database/migrations/0001_01_01_000001_create_cache_table.php new file mode 100644 index 0000000..b9c106b --- /dev/null +++ b/scraper/database/migrations/0001_01_01_000001_create_cache_table.php @@ -0,0 +1,35 @@ +string('key')->primary(); + $table->mediumText('value'); + $table->integer('expiration'); + }); + + Schema::create('cache_locks', function (Blueprint $table) { + $table->string('key')->primary(); + $table->string('owner'); + $table->integer('expiration'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('cache'); + Schema::dropIfExists('cache_locks'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_142227_create_regions_table.php b/scraper/database/migrations/2024_03_15_142227_create_regions_table.php new file mode 100644 index 0000000..0463233 --- /dev/null +++ b/scraper/database/migrations/2024_03_15_142227_create_regions_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('name', 255); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('regions'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_142228_create_seeds_table.php b/scraper/database/migrations/2024_03_15_142228_create_seeds_table.php new file mode 100644 index 0000000..bbf20ba --- /dev/null +++ b/scraper/database/migrations/2024_03_15_142228_create_seeds_table.php @@ -0,0 +1,29 @@ +id(); + $table->text('uri'); + $table->foreignId('region_id')->constrained(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('seeds'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_142257_create_properties_table.php b/scraper/database/migrations/2024_03_15_142257_create_properties_table.php new file mode 100644 index 0000000..b23e09a --- /dev/null +++ b/scraper/database/migrations/2024_03_15_142257_create_properties_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('property_platform_id', 255)->unique(); + $table->foreignId('seed_id')->constrained(); + $table->json('check_data'); + $table->timestamp('last_found', precision: 0); + $table->timestamps(); + }); + } + + /**->references('id')->on('users'); + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('properties'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_142550_create_occupancies_table.php b/scraper/database/migrations/2024_03_15_142550_create_occupancies_table.php new file mode 100644 index 0000000..a34f910 --- /dev/null +++ b/scraper/database/migrations/2024_03_15_142550_create_occupancies_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('property_id')->constrained(); + $table->json('occupancy'); + $table->text('header'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('occupancies'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_142625_create_exceptions_table.php b/scraper/database/migrations/2024_03_15_142625_create_exceptions_table.php new file mode 100644 index 0000000..c40b228 --- /dev/null +++ b/scraper/database/migrations/2024_03_15_142625_create_exceptions_table.php @@ -0,0 +1,30 @@ +id(); + $table->json('exception'); + $table->enum('entity_type', ['property', 'occupancy']); + $table->integer('entity_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('exceptions'); + } +}; diff --git a/scraper/database/migrations/2024_03_15_162023_create_jobs_table.php b/scraper/database/migrations/2024_03_15_162023_create_jobs_table.php new file mode 100644 index 0000000..6098d9b --- /dev/null +++ b/scraper/database/migrations/2024_03_15_162023_create_jobs_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + $table->string('queue')->index(); + $table->longText('payload'); + $table->unsignedTinyInteger('attempts'); + $table->unsignedInteger('reserved_at')->nullable(); + $table->unsignedInteger('available_at'); + $table->unsignedInteger('created_at'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('jobs'); + } +}; diff --git a/scraper/database/seeders/DatabaseSeeder.php b/scraper/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..d01a0ef --- /dev/null +++ b/scraper/database/seeders/DatabaseSeeder.php @@ -0,0 +1,23 @@ +create(); + + User::factory()->create([ + 'name' => 'Test User', + 'email' => 'test@example.com', + ]); + } +} diff --git a/scraper/package.json b/scraper/package.json new file mode 100644 index 0000000..4e934ca --- /dev/null +++ b/scraper/package.json @@ -0,0 +1,13 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.6.4", + "laravel-vite-plugin": "^1.0", + "vite": "^5.0" + } +} diff --git a/scraper/phpunit.xml b/scraper/phpunit.xml new file mode 100644 index 0000000..506b9a3 --- /dev/null +++ b/scraper/phpunit.xml @@ -0,0 +1,33 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + + diff --git a/scraper/public/.htaccess b/scraper/public/.htaccess new file mode 100644 index 0000000..3aec5e2 --- /dev/null +++ b/scraper/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/scraper/public/favicon.ico b/scraper/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/scraper/public/index.php b/scraper/public/index.php new file mode 100644 index 0000000..947d989 --- /dev/null +++ b/scraper/public/index.php @@ -0,0 +1,17 @@ +handleRequest(Request::capture()); diff --git a/scraper/public/robots.txt b/scraper/public/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/scraper/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/scraper/public/test.json b/scraper/public/test.json new file mode 100644 index 0000000..1d4e301 --- /dev/null +++ b/scraper/public/test.json @@ -0,0 +1 @@ +{"offers":[{"id":"e6715601ee37bf8e5237ff80f903b2af","title":"62 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/75b\/d6f\/011bf8294a0d7dc766eab3af32.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/75b\/d6f\/011bf8294a0d7dc766eab3af32.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/75b\/d6f\/011bf8294a0d7dc766eab3af32.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/75b\/d6f\/011bf8294a0d7dc766eab3af32.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 976"},"deepLink":"\/deeplink\/?params=eJxVz0tOxDAMBuC7eEsr2QnpIzeYHUJcwIkdqNRpqzSzGI3g7CQaNux-258t-QFyy1yWfQM_drDu8a-AwRqxKQyOJSh0IFz0nbdPrTOD5rVH2xv8qdH1aHozVXNoPvftBE8dsNzW8oxHXqKW-9FWy154fWuN6sty1bPw9fh384Nmj87T_ILkEatbpAIdRnIDkqodQ5rUGTumNGGa0QbDqbpTOcevS9NCjmgmthJDlBjbNGbV9tqTwfcvvo5Jag","actions":{"conversion":{"first":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"second":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"third":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"fourth":{"link":"\/deeplink\/?params=eJxVz0tOxDAMBuC7eEsr2QnpIzeYHUJcwIkdqNRpqzSzGI3g7CQaNux-258t-QFyy1yWfQM_drDu8a-AwRqxKQyOJSh0IFz0nbdPrTOD5rVH2xv8qdH1aHozVXNoPvftBE8dsNzW8oxHXqKW-9FWy154fWuN6sty1bPw9fh384Nmj87T_ILkEatbpAIdRnIDkqodQ5rUGTumNGGa0QbDqbpTOcevS9NCjmgmthJDlBjbNGbV9tqTwfcvvo5Jag\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"fifth":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"sixth":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"seventh":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"},"eighth":{"link":"\/rental\/e6715601ee37bf8e5237ff80f903b2af?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e6715601ee37bf8e5237ff80f903b2af"}},"wishList":{"add":{"link":"\/pinboard\/update\/e6715601ee37bf8e5237ff80f903b2af","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/e6715601ee37bf8e5237ff80f903b2af","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"ba36f3f2ca6afbf7","geoLocation":{"lat":47.09024,"lon":9.33744},"fullGeoHash":"u0qeukx2d","nearby":false,"alias":["eDomizil-833952","5ee7d0de4e77b4cf","e6715601ee37bf8e5237ff80f903b2af","bbf925e2565fcc32","ba36f3f2ca6afbf7","edomizil_id-833952","1942400","4d6aec3fe754d1d1f940ab57eab4bf82"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Wasserkocher","amenity":"kettle"},{"label":"Toaster","amenity":"toaster"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"13706d66c374fc51ed952d26a97cd8b8","title":"36 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/852\/aa0\/c6d3c522b67a8f0c931617db3a.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/852\/aa0\/c6d3c522b67a8f0c931617db3a.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/852\/aa0\/c6d3c522b67a8f0c931617db3a.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/852\/aa0\/c6d3c522b67a8f0c931617db3a.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 705"},"deepLink":"\/deeplink\/?params=eJxVj0FuwzAMBP-ia2yAlCI50g96K4p8gCaZxIBjG7JyKIL27ZWQXnJbcme54NPII1OZ1sWkoTPzyv-DCc6Ku4zBk4xqOiNU9IuWq1bPgj324HoLv1X6HmxvT5XZNO_rspuEnSF5zOUltzyxlu-tRctaaP5si8qX6a57ofv2dvOMMYFPGA-ACaByk1QA3QBBQmA3HC_sUSV6KzZQHFhOY-vflTLfPhot6BEjkhMeWZiby1m1vfbCzM8fscNJQA","actions":{"conversion":{"first":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"second":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"third":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"fourth":{"link":"\/deeplink\/?params=eJxVj0FuwzAMBP-ia2yAlCI50g96K4p8gCaZxIBjG7JyKIL27ZWQXnJbcme54NPII1OZ1sWkoTPzyv-DCc6Ku4zBk4xqOiNU9IuWq1bPgj324HoLv1X6HmxvT5XZNO_rspuEnSF5zOUltzyxlu-tRctaaP5si8qX6a57ofv2dvOMMYFPGA-ACaByk1QA3QBBQmA3HC_sUSV6KzZQHFhOY-vflTLfPhot6BEjkhMeWZiby1m1vfbCzM8fscNJQA\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"fifth":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"sixth":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"seventh":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"},"eighth":{"link":"\/rental\/13706d66c374fc51ed952d26a97cd8b8?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"13706d66c374fc51ed952d26a97cd8b8"}},"wishList":{"add":{"link":"\/pinboard\/update\/13706d66c374fc51ed952d26a97cd8b8","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/13706d66c374fc51ed952d26a97cd8b8","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"9998ea6344718cbd","geoLocation":{"lat":47.09514,"lon":9.34788},"fullGeoHash":"u0qeutqvj","nearby":false,"alias":["eDomizil-3063703","2b3d7ae4ce427d3a","13706d66c374fc51ed952d26a97cd8b8","9998ea6344718cbd","edomizil_id-3063703","7af289ba61442b73397d579761c33a72"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"82e7b591d2439218","title":"48 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/711\/d6e\/10c33dc77817dd43d39aa7dedc.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/711\/d6e\/10c33dc77817dd43d39aa7dedc.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/711\/d6e\/10c33dc77817dd43d39aa7dedc.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/711\/d6e\/10c33dc77817dd43d39aa7dedc.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 441"},"deepLink":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVaKHQIkN2BDiAu4sYFKpa3SMCAEZycRLGzffs-2_AS5J879NELYNjBM8VfAxpLYc7dxLJ1CA8JZjzxetDAytG6Nbcm8S3StoZZ2xZk1LdO4QMAGWO5D_sY59VHzY66jeco8HGqj-Lm_6ZL5Nv_tPKEPxgX0K4PBmOL1UoQd6bZzHoXW1hPWe4tyitd9pYIO0SNbiV2UGCuNSbW-8tXg9QFKCER4","actions":{"conversion":{"first":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"second":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"third":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"fourth":{"link":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVaKHQIkN2BDiAu4sYFKpa3SMCAEZycRLGzffs-2_AS5J879NELYNjBM8VfAxpLYc7dxLJ1CA8JZjzxetDAytG6Nbcm8S3StoZZ2xZk1LdO4QMAGWO5D_sY59VHzY66jeco8HGqj-Lm_6ZL5Nv_tPKEPxgX0K4PBmOL1UoQd6bZzHoXW1hPWe4tyitd9pYIO0SNbiV2UGCuNSbW-8tXg9QFKCER4\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"82e7b591d2439218"},"fifth":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"sixth":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"seventh":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"},"eighth":{"link":"\/rental\/82e7b591d2439218?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"82e7b591d2439218"}},"wishList":{"add":{"link":"\/pinboard\/update\/82e7b591d2439218","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/82e7b591d2439218","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"98b89a463b525d51","geoLocation":{"lat":47.0925656,"lon":9.2856842},"fullGeoHash":"u0qegkcwh","nearby":false,"alias":["471e12e3b76a52d0","dac66c5e99d567da","82e7b591d2439218","66cdf63eea58687e","98b89a463b525d51","edomizil_id-785292","2f36245f6a53680e7a6718c98ff573f1"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Haustier erlaubt","amenity":"pets_allowed"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Mikrowelle","amenity":"microwave"},{"label":"Parkplatz","amenity":"garage"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Grill","amenity":"barbecue"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Wasserkocher","amenity":"kettle"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"e0ffe08a297c49da","title":"50 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/e93\/fb1\/c716ea632c0b4e15eb86db2afc.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/e93\/fb1\/c716ea632c0b4e15eb86db2afc.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/e93\/fb1\/c716ea632c0b4e15eb86db2afc.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/e93\/fb1\/c716ea632c0b4e15eb86db2afc.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 576"},"deepLink":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZB0BgFnbuDOGC9Q2qIkCGQYFsbo2Z2Jbtz9_vfapE-QLVAc5gl8W8A482-AprJS9V1Tk3QKBQhFPdN01cQs2n2JVWnxnWJdoi3tITmLhnWeVvCmAJJtjN-4hIE1Ppa8GudI4ykXyY_DXddI9-Xv5sU4j7U3bofGIyZvkCQo9r3igaxree-EUr8qBb4dMxVTG-MMVcIdC3OmHFTzK18NXh9_bUVm","actions":{"conversion":{"first":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"second":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"third":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"fourth":{"link":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZB0BgFnbuDOGC9Q2qIkCGQYFsbo2Z2Jbtz9_vfapE-QLVAc5gl8W8A482-AprJS9V1Tk3QKBQhFPdN01cQs2n2JVWnxnWJdoi3tITmLhnWeVvCmAJJtjN-4hIE1Ppa8GudI4ykXyY_DXddI9-Xv5sU4j7U3bofGIyZvkCQo9r3igaxree-EUr8qBb4dMxVTG-MMVcIdC3OmHFTzK18NXh9_bUVm\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"e0ffe08a297c49da"},"fifth":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"sixth":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"seventh":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"},"eighth":{"link":"\/rental\/e0ffe08a297c49da?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"e0ffe08a297c49da"}},"wishList":{"add":{"link":"\/pinboard\/update\/e0ffe08a297c49da","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/e0ffe08a297c49da","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"2de0855f445fb7f7","geoLocation":{"lat":47.0937561,"lon":9.2973089},"fullGeoHash":"u0qegt4j4","nearby":false,"alias":["250647f84c558912","c920deceb9dd5a30","e0ffe08a297c49da","81c10648e76f8ada","064683fd3c0c393e","2de0855f445fb7f7","edomizil_id-785300","14599b1810e3a8484d335863d7ed847c"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"Grill","amenity":"barbecue"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"f48f669bc67c3dc58248dbc87df3062c","title":"99 m\u00b2 Ferienhaus","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/2b6\/fef\/d5172676020a6d1bc7b5a7a4aa.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/2b6\/fef\/d5172676020a6d1bc7b5a7a4aa.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/2b6\/fef\/d5172676020a6d1bc7b5a7a4aa.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/2b6\/fef\/d5172676020a6d1bc7b5a7a4aa.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 888"},"deepLink":"\/deeplink\/?params=eJxVz8FugzAMBuB3ybUgOQkJIW_Q2zTtBRzbbEgUUEgPVbU9-0LbS2-_7c-WfFd8zVimdVGxb9S80qtQ3hq2Y_IOOYlqFGORT1y-pc4MmK4F2xr4q9G1YFoTqtkk7-uyq6gbhXydyzNueSIpt-1YLWvB-eNoVF-mi-wFL9vbzS89RHBRDyfQEaC6iSsYuzB6PyTyPVkmF0wXOFHoebTgDVW3C2b6OR-atdN60FhlIqbHlLLI8dqTqd9_07BJpw","actions":{"conversion":{"first":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"second":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"third":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"fourth":{"link":"\/deeplink\/?params=eJxVz8FugzAMBuB3ybUgOQkJIW_Q2zTtBRzbbEgUUEgPVbU9-0LbS2-_7c-WfFd8zVimdVGxb9S80qtQ3hq2Y_IOOYlqFGORT1y-pc4MmK4F2xr4q9G1YFoTqtkk7-uyq6gbhXydyzNueSIpt-1YLWvB-eNoVF-mi-wFL9vbzS89RHBRDyfQEaC6iSsYuzB6PyTyPVkmF0wXOFHoebTgDVW3C2b6OR-atdN60FhlIqbHlLLI8dqTqd9_07BJpw\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"fifth":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"sixth":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"seventh":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"},"eighth":{"link":"\/rental\/f48f669bc67c3dc58248dbc87df3062c?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"f48f669bc67c3dc58248dbc87df3062c"}},"wishList":{"add":{"link":"\/pinboard\/update\/f48f669bc67c3dc58248dbc87df3062c","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/f48f669bc67c3dc58248dbc87df3062c","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"56002d5638a5a850","geoLocation":{"lat":47.1129,"lon":9.27366},"fullGeoHash":"u0qs508ue","nearby":false,"alias":["eDomizil-3134681","838e318c4428c735","f48f669bc67c3dc58248dbc87df3062c","56002d5638a5a850","edomizil_id-3134681","56adfec2aee03088e80f4d20d8384874"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Haustier erlaubt","amenity":"pets_allowed"},{"label":"Pool","amenity":"pool"},{"label":"Privater Pool","amenity":"pool_private"},{"label":"Gemeinschaftspool","amenity":"pool_shared"},{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"Klimaanlage","amenity":"air_conditioning"},{"label":"WLAN","amenity":"internet"},{"label":"Sauna","amenity":"sauna"},{"label":"Chemin\u00e9e\/Ofen","amenity":"fireplace"},{"label":"Mikrowelle","amenity":"microwave"},{"label":"Parkplatz","amenity":"garage"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"Garten","amenity":"garden"},{"label":"Grill","amenity":"barbecue"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Toaster","amenity":"toaster"},{"label":"Umz\u00e4unt","amenity":"fenced"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"0e6b90068281a9d20ab622ffdc8ca89a","title":"20 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/511\/b10\/8df8d959afe4567dc57a35a4ec.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/511\/b10\/8df8d959afe4567dc57a35a4ec.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/511\/b10\/8df8d959afe4567dc57a35a4ec.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/511\/b10\/8df8d959afe4567dc57a35a4ec.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 366"},"deepLink":"\/deeplink\/?params=eJxVz8FuwzAIBuB38XWJhMni2X6D3aapL4CBtJHSJHLcw1Rtzz5b7aW3H_hA4m7klqnM22riR2eWjZ-FcQPKMCU3kiQ1nREq-k3rWesMAd97GHqEvxrHHrBHX82u-djWw0TbGZLbUh5xzzNr-dnbatkKLV-tUX2Zr3oUuu4vN082RBijDW9gI0B1s1QA6lIAcB69pSAIlBziNAl7Jh-oukMp8-WzabGjtcHSIJxYmNuUs2p77cHM7z_Dh0mN","actions":{"conversion":{"first":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"second":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"third":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"fourth":{"link":"\/deeplink\/?params=eJxVz8FuwzAIBuB38XWJhMni2X6D3aapL4CBtJHSJHLcw1Rtzz5b7aW3H_hA4m7klqnM22riR2eWjZ-FcQPKMCU3kiQ1nREq-k3rWesMAd97GHqEvxrHHrBHX82u-djWw0TbGZLbUh5xzzNr-dnbatkKLV-tUX2Zr3oUuu4vN082RBijDW9gI0B1s1QA6lIAcB69pSAIlBziNAl7Jh-oukMp8-WzabGjtcHSIJxYmNuUs2p77cHM7z_Dh0mN\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"fifth":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"sixth":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"seventh":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"},"eighth":{"link":"\/rental\/0e6b90068281a9d20ab622ffdc8ca89a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6b90068281a9d20ab622ffdc8ca89a"}},"wishList":{"add":{"link":"\/pinboard\/update\/0e6b90068281a9d20ab622ffdc8ca89a","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/0e6b90068281a9d20ab622ffdc8ca89a","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"2ca1220a2097cca1","geoLocation":{"lat":46.99386,"lon":9.50846},"fullGeoHash":"u0qg26gz5","nearby":false,"alias":["eDomizil-2912519","87849734f3b27f55","0e6b90068281a9d20ab622ffdc8ca89a","2ca1220a2097cca1","edomizil_id-2912519","a33ee3f6664afff856258d7894b031cf"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"WLAN","amenity":"internet"},{"label":"Mikrowelle","amenity":"microwave"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Garten","amenity":"garden"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"0101062b0344ff8a","title":"35 m\u00b2 Studio","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/546\/805\/b434a2b4905441a39aa6d17fcd.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/546\/805\/b434a2b4905441a39aa6d17fcd.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/546\/805\/b434a2b4905441a39aa6d17fcd.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/546\/805\/b434a2b4905441a39aa6d17fcd.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 380"},"deepLink":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZC0M4AyN3BnjBco06IkCGQYFsbo2Z2Jbkw3v_-__qRPkC1wHOYJ3L6Acfa_BRprxPZdU7N0CgUIRz3zdNWUGTRVibY0-E6yLtGU5pCYRcM6Tys4KoBlG-NXLmHwGh9LPo1z5PGUjcTH4a5r5Pvy13mh1mHtqN0hOcTEDZIApDSN6dBWVd8fOPmrcvC3Y06FaqKW2IrvvHifUx9U8ytfDF4fSUZEjA","actions":{"conversion":{"first":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"second":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"third":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"fourth":{"link":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZC0M4AyN3BnjBco06IkCGQYFsbo2Z2Jbkw3v_-__qRPkC1wHOYJ3L6Acfa_BRprxPZdU7N0CgUIRz3zdNWUGTRVibY0-E6yLtGU5pCYRcM6Tys4KoBlG-NXLmHwGh9LPo1z5PGUjcTH4a5r5Pvy13mh1mHtqN0hOcTEDZIApDSN6dBWVd8fOPmrcvC3Y06FaqKW2IrvvHifUx9U8ytfDF4fSUZEjA\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"0101062b0344ff8a"},"fifth":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"sixth":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"seventh":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"},"eighth":{"link":"\/rental\/0101062b0344ff8a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0101062b0344ff8a"}},"wishList":{"add":{"link":"\/pinboard\/update\/0101062b0344ff8a","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/0101062b0344ff8a","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"0e22c605d941f985","geoLocation":{"lat":47.0381319,"lon":9.415214},"fullGeoHash":"u0qew5pby","nearby":false,"alias":["c4f8a159666d3f42","de383a2ea6ec6c5a","0101062b0344ff8a","0e22c605d941f985","edomizil_id-2902272","2c2f3471f4b66c8c77608bff80db70fa"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Grill","amenity":"barbecue"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Wasserkocher","amenity":"kettle"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"b68cb76576a2d14a1a50dd015afb4eec","title":"53 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/e_v5\/56b\/e1e\/ab8dfea0098e6644754b3577de.jpg","medium":"\/\/cdn.hometogo.net\/medium\/e_v5\/56b\/e1e\/ab8dfea0098e6644754b3577de.jpg","large":"\/\/cdn.hometogo.net\/large\/e_v5\/56b\/e1e\/ab8dfea0098e6644754b3577de.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/e_v5\/56b\/e1e\/ab8dfea0098e6644754b3577de.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 644"},"deepLink":"\/deeplink\/?params=eJxVz8FuwzAIBuB34bpEAid2Gr9Bb9O0F8BAt0hpEjnuoaq2Z5-z7rLbD3wg8QC9ZS7TukAcGphX-SsgdE67SwqeNRk0oFzsjZcPqzOHrm-xax1-1-hbdK07VbNZ3tdlh0gNsN7m8oxbnsTKfTtWy1p4fj0a1Zfpanvh6_bv5juNEX2k8QUpIlY3aQUpnCQNwQ-BnVLPxB5VkTxfUm8m1e3GWT7Ph1byRCNxp5JE5Xcq2ex47cng6wfbKkng","actions":{"conversion":{"first":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"second":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"third":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"fourth":{"link":"\/deeplink\/?params=eJxVz8FuwzAIBuB34bpEAid2Gr9Bb9O0F8BAt0hpEjnuoaq2Z5-z7rLbD3wg8QC9ZS7TukAcGphX-SsgdE67SwqeNRk0oFzsjZcPqzOHrm-xax1-1-hbdK07VbNZ3tdlh0gNsN7m8oxbnsTKfTtWy1p4fj0a1Zfpanvh6_bv5juNEX2k8QUpIlY3aQUpnCQNwQ-BnVLPxB5VkTxfUm8m1e3GWT7Ph1byRCNxp5JE5Xcq2ex47cng6wfbKkng\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"fifth":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"sixth":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"seventh":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"},"eighth":{"link":"\/rental\/b68cb76576a2d14a1a50dd015afb4eec?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b68cb76576a2d14a1a50dd015afb4eec"}},"wishList":{"add":{"link":"\/pinboard\/update\/b68cb76576a2d14a1a50dd015afb4eec","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/b68cb76576a2d14a1a50dd015afb4eec","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"820b454220e272f3","geoLocation":{"lat":47.09537,"lon":9.34767},"fullGeoHash":"u0qeutqy2","nearby":false,"alias":["eDomizil-3063907","ca3aa5680aae79c4","b68cb76576a2d14a1a50dd015afb4eec","820b454220e272f3","edomizil_id-3063907","bd833409933d4318031dda7b8a10c84f"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Wasserkocher","amenity":"kettle"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"245c09790015cbbbbcbed2696dbed05b","title":"Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/7d6\/55e\/ae8d2d199ce77beba5a1b4b52f.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/7d6\/55e\/ae8d2d199ce77beba5a1b4b52f.jpg","large":"\/\/cdn.hometogo.net\/medium\/v1\/7d6\/55e\/ae8d2d199ce77beba5a1b4b52f.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/7d6\/55e\/ae8d2d199ce77beba5a1b4b52f.jpg","aspectRatio":1.4962406015037595},"lowestPriceInfo":{"display":"CHF 840"},"deepLink":"\/deeplink\/?params=eJxVjzFuwzAMRe_CNTZAypFT6QbdiiIXoEgmNeDYhqwMRdCevRLSJZw--R8_yAfoPXOZ1gXiqYN5lf8GxsHpcEmjZ00GHSgX--TlatVz6I49Dr3D3yp9j653b5XZLO_rskOkDljvc3nKLU9i5Xtrq2UtPH-0QeXLdLO98G17yTxTiOgjhQNSRKzcpA04esFwCojkJdWSZOrGMNb7FH2q3G6c5eu90UqeKBAPKklUpLmSzdprTwx-_gDYtEnj","actions":{"conversion":{"first":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"second":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"third":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"fourth":{"link":"\/deeplink\/?params=eJxVjzFuwzAMRe_CNTZAypFT6QbdiiIXoEgmNeDYhqwMRdCevRLSJZw--R8_yAfoPXOZ1gXiqYN5lf8GxsHpcEmjZ00GHSgX--TlatVz6I49Dr3D3yp9j653b5XZLO_rskOkDljvc3nKLU9i5Xtrq2UtPH-0QeXLdLO98G17yTxTiOgjhQNSRKzcpA04esFwCojkJdWSZOrGMNb7FH2q3G6c5eu90UqeKBAPKklUpLmSzdprTwx-_gDYtEnj\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"fifth":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"sixth":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"seventh":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"},"eighth":{"link":"\/rental\/245c09790015cbbbbcbed2696dbed05b?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"245c09790015cbbbbcbed2696dbed05b"}},"wishList":{"add":{"link":"\/pinboard\/update\/245c09790015cbbbbcbed2696dbed05b","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/245c09790015cbbbbcbed2696dbed05b","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"f1ccdd617451ef97","geoLocation":{"lat":47.0908,"lon":9.2978},"fullGeoHash":"u0qegsd7y","nearby":false,"alias":["eDomizil-650523","5c2ab648355096ec","245c09790015cbbbbcbed2696dbed05b","facd38abfa1c3343","cc536f8cd156aee9","f1ccdd617451ef97","edomizil_id-650523","2c37dfd1d4fc28ddd26e3880d395cf07"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"a245a0cb96e8097f8be94e2ffb185cda","title":"24 m\u00b2 Ferienhaus","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/45b\/964\/3ded0d92b78e36f10707889764.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/45b\/964\/3ded0d92b78e36f10707889764.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/45b\/964\/3ded0d92b78e36f10707889764.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/45b\/964\/3ded0d92b78e36f10707889764.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 759"},"deepLink":"\/deeplink\/?params=eJxVz8FugzAMBuB38XUgOYFQkjfYbar6Ao5tNiQKKKSHqmqffYm6y26_7c-W_AC5JcrztkI4NbBs_FfA0Fnppjg4kqjQgFDWM63fWmYWbd9i11p8lehatK0di9k1Hdt6QDANkNyW_I57mlnzfa-recu0fNVG8Xm-6pHpuv-7eTE-oAvGf6AJiMXNUgDZ3hFy9IOO6E_TGNX3aqcpmtGxUHGHUuKfz6rFOGO8oU44sjDXKSfV-tqbwfMX4yZJ-w","actions":{"conversion":{"first":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"second":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"third":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"fourth":{"link":"\/deeplink\/?params=eJxVz8FugzAMBuB38XUgOYFQkjfYbar6Ao5tNiQKKKSHqmqffYm6y26_7c-W_AC5JcrztkI4NbBs_FfA0Fnppjg4kqjQgFDWM63fWmYWbd9i11p8lehatK0di9k1Hdt6QDANkNyW_I57mlnzfa-recu0fNVG8Xm-6pHpuv-7eTE-oAvGf6AJiMXNUgDZ3hFy9IOO6E_TGNX3aqcpmtGxUHGHUuKfz6rFOGO8oU44sjDXKSfV-tqbwfMX4yZJ-w\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"fifth":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"sixth":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"seventh":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"},"eighth":{"link":"\/rental\/a245a0cb96e8097f8be94e2ffb185cda?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"a245a0cb96e8097f8be94e2ffb185cda"}},"wishList":{"add":{"link":"\/pinboard\/update\/a245a0cb96e8097f8be94e2ffb185cda","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/a245a0cb96e8097f8be94e2ffb185cda","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"f5268f50ec165afb","geoLocation":{"lat":47.12384,"lon":9.3161},"fullGeoHash":"u0qs5fxu2","nearby":false,"alias":["eDomizil-3001026","81182ee64dd7df6d","a245a0cb96e8097f8be94e2ffb185cda","f5268f50ec165afb","edomizil_id-3001026","bd494d6a3154188fcebb3974901cade1"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Mikrowelle","amenity":"microwave"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"4403bcd412c4d78b24196083e452a13a","title":"40 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/773\/b3e\/ac876b9161d6d8b3209ccf716e.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/773\/b3e\/ac876b9161d6d8b3209ccf716e.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/773\/b3e\/ac876b9161d6d8b3209ccf716e.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/773\/b3e\/ac876b9161d6d8b3209ccf716e.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 752"},"deepLink":"\/deeplink\/?params=eJxVz0FOxDAMBdC7ZEsr2U7SaXOD2SHEBVzbQKVOW6WZBUJwdhING3bf9rMlfzm9Zy7Lvrl06dy6y1_hBk_q3-Yhss7mOqdc7IW3d6szAgo9-J7gp8bYA_U0VnNYPvftdAk7x3pfyyMeeRErn0dbLXvh9bk1qi_Lzc7Ct-PfzVecEsSE0xNgAqhu0QpCAD-LBiQJehlnCjgNMHoLkRg9V3caZ_m4Nq0YESdkr1KXRNpUsll77cHc9y-XHUi-","actions":{"conversion":{"first":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"second":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"third":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"fourth":{"link":"\/deeplink\/?params=eJxVz0FOxDAMBdC7ZEsr2U7SaXOD2SHEBVzbQKVOW6WZBUJwdhING3bf9rMlfzm9Zy7Lvrl06dy6y1_hBk_q3-Yhss7mOqdc7IW3d6szAgo9-J7gp8bYA_U0VnNYPvftdAk7x3pfyyMeeRErn0dbLXvh9bk1qi_Lzc7Ct-PfzVecEsSE0xNgAqhu0QpCAD-LBiQJehlnCjgNMHoLkRg9V3caZ_m4Nq0YESdkr1KXRNpUsll77cHc9y-XHUi-\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"fifth":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"sixth":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"seventh":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"},"eighth":{"link":"\/rental\/4403bcd412c4d78b24196083e452a13a?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4403bcd412c4d78b24196083e452a13a"}},"wishList":{"add":{"link":"\/pinboard\/update\/4403bcd412c4d78b24196083e452a13a","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/4403bcd412c4d78b24196083e452a13a","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"ccba46f3e402586d","geoLocation":{"lat":47.149636,"lon":9.1360881},"fullGeoHash":"u0qkpzkdw","nearby":false,"alias":["interHome-CH8873.613.1","689518aa4adeb71a","4403bcd412c4d78b24196083e452a13a","ae297832d4aefc60","ccba46f3e402586d","6950027","4530ef3d20091f967b50a7f5e78c0102"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Kinderbett","amenity":"cot"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"Grill","amenity":"barbecue"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"b8cf6755674376f7","title":"30 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/306\/075\/34aac6b7f8787be5151d20c5ed.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/306\/075\/34aac6b7f8787be5151d20c5ed.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/306\/075\/34aac6b7f8787be5151d20c5ed.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/306\/075\/34aac6b7f8787be5151d20c5ed.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 773"},"deepLink":"\/deeplink\/?params=eJxVj0luwzAMRe_CbWxAQyTZukF3RZAL0CTdGvAEWVkEQXL2Skg32X3-90iAD-BbwjxtK8TQwLzR_wDeGrbj4B3yINAAY5YLrj9SmFHm3CrbGvUq0bXKtKYrzi7p2NYDom4A-Tbnd9zTRJLve13NW8b5uxbFz9MiR8Zl_7h51X1ULur-pHRUqngTF2HoaPTBOR_ONvgxlP4QTPT7VSlrp3Wv0TINxESVUhKpr7w1eP4BWOtEuA","actions":{"conversion":{"first":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"second":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"third":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"fourth":{"link":"\/deeplink\/?params=eJxVj0luwzAMRe_CbWxAQyTZukF3RZAL0CTdGvAEWVkEQXL2Skg32X3-90iAD-BbwjxtK8TQwLzR_wDeGrbj4B3yINAAY5YLrj9SmFHm3CrbGvUq0bXKtKYrzi7p2NYDom4A-Tbnd9zTRJLve13NW8b5uxbFz9MiR8Zl_7h51X1ULur-pHRUqngTF2HoaPTBOR_ONvgxlP4QTPT7VSlrp3Wv0TINxESVUhKpr7w1eP4BWOtEuA\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"b8cf6755674376f7"},"fifth":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"sixth":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"seventh":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"},"eighth":{"link":"\/rental\/b8cf6755674376f7?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"b8cf6755674376f7"}},"wishList":{"add":{"link":"\/pinboard\/update\/b8cf6755674376f7","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/b8cf6755674376f7","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"f764610e335892d7","geoLocation":{"lat":47.0944135,"lon":9.286387},"fullGeoHash":"u0qegm60u","nearby":false,"alias":["7d36c027026ab63f","72d78e01f95311ec","b8cf6755674376f7","913016e9124fdf45","85e2baee4e705ebd","f764610e335892d7","edomizil_id-785364","443eed357d6729d1e257ec0d1822072a"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Wasserkocher","amenity":"kettle"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"8529edf5ff8c2297","title":"42 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/dd9\/f7c\/dd277e8e1671ef7a84fb99e0b0.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/dd9\/f7c\/dd277e8e1671ef7a84fb99e0b0.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/dd9\/f7c\/dd277e8e1671ef7a84fb99e0b0.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/dd9\/f7c\/dd277e8e1671ef7a84fb99e0b0.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 671"},"deepLink":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVZKXAJNbsCGEBdwbRcqlbZKw4AQnJ1EsLB9__dsyU-Qe6Q0zBOEfQXjzL8Bdg1K03c7R9IpVCCU9ETTRTNDg9vaNDWad46uNlhjm51F4zpPKwRbAcl9TN-4xIE1PZaymuZE47EU2U_DTddEt-Xv5tn6YFywfmNsMCZ7g2ShdehVetf3LSP6fe5XpcjXQ6FinbXeUiPcsTAXylG1vPLV4PUBbRlFFw","actions":{"conversion":{"first":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"second":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"third":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"fourth":{"link":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVZKXAJNbsCGEBdwbRcqlbZKw4AQnJ1EsLB9__dsyU-Qe6Q0zBOEfQXjzL8Bdg1K03c7R9IpVCCU9ETTRTNDg9vaNDWad46uNlhjm51F4zpPKwRbAcl9TN-4xIE1PZaymuZE47EU2U_DTddEt-Xv5tn6YFywfmNsMCZ7g2ShdehVetf3LSP6fe5XpcjXQ6FinbXeUiPcsTAXylG1vPLV4PUBbRlFFw\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"8529edf5ff8c2297"},"fifth":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"sixth":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"seventh":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"},"eighth":{"link":"\/rental\/8529edf5ff8c2297?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"8529edf5ff8c2297"}},"wishList":{"add":{"link":"\/pinboard\/update\/8529edf5ff8c2297","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/8529edf5ff8c2297","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"2cc5ce9a556047c8","geoLocation":{"lat":47.0861812,"lon":9.3064284},"fullGeoHash":"u0qeggb8z","nearby":false,"alias":["40d04a879aa5e25f","ca8acd1d1e58f7ef","8529edf5ff8c2297","0d145f3079ed5faf","cdd639e23b9d5608","2cc5ce9a556047c8","edomizil_id-785373","7d00a67899bc38b986fe4aacddf32ef1"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Kinderbett","amenity":"cot"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"fe8d44a5012e93e6","title":"22 m\u00b2 Studio","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/bbc\/399\/fd7a0d0f449ea2b05285cf675c.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/bbc\/399\/fd7a0d0f449ea2b05285cf675c.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/bbc\/399\/fd7a0d0f449ea2b05285cf675c.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/bbc\/399\/fd7a0d0f449ea2b05285cf675c.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 502"},"deepLink":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVayk6bQ3IANIS7gxgYqlbZKw4AQnJ1EsLB9__dsyU-Qe-Q0zBP4bQXjHH4DtNaIPfetY-kVKhBOeuTpopkZNE2Ntjb4ztHVaGqzy86icZ2nFTxVwHIf0zcucQiaHktZTXPi8VCK7Kfhpmvi2_J380SdR-ep2yB5xOwNkoWz7qRp2CEZ7ay2uV-VY7juCxVyRB2xldAHCaHQEFXLK18NXh9qQUUE","actions":{"conversion":{"first":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"second":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"third":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"fourth":{"link":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVayk6bQ3IANIS7gxgYqlbZKw4AQnJ1EsLB9__dsyU-Qe-Q0zBP4bQXjHH4DtNaIPfetY-kVKhBOeuTpopkZNE2Ntjb4ztHVaGqzy86icZ2nFTxVwHIf0zcucQiaHktZTXPi8VCK7Kfhpmvi2_J380SdR-ep2yB5xOwNkoWz7qRp2CEZ7ay2uV-VY7juCxVyRB2xldAHCaHQEFXLK18NXh9qQUUE\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"fe8d44a5012e93e6"},"fifth":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"sixth":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"seventh":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"},"eighth":{"link":"\/rental\/fe8d44a5012e93e6?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"fe8d44a5012e93e6"}},"wishList":{"add":{"link":"\/pinboard\/update\/fe8d44a5012e93e6","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/fe8d44a5012e93e6","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"cf4cdec84578fa5e","geoLocation":{"lat":47.0885188,"lon":9.3051517},"fullGeoHash":"u0qegspy9","nearby":false,"alias":["3b74e3d76407532e","0c68ddddd46f3117","fe8d44a5012e93e6","bd1fd2d8a65f55eb","d08b5e5d782e2a9e","cf4cdec84578fa5e","edomizil_id-785347","e94d0865f3081a73b226ae6cea1ee1ac"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Sauna","amenity":"sauna"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"4b01977946dc1a5dae765fd6266b9731","title":"37 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/0e6\/fc5\/295cd1ba330dd8d73ea97ed72f.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/0e6\/fc5\/295cd1ba330dd8d73ea97ed72f.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/0e6\/fc5\/295cd1ba330dd8d73ea97ed72f.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/0e6\/fc5\/295cd1ba330dd8d73ea97ed72f.jpg","aspectRatio":1.7297297297297298},"lowestPriceInfo":{"display":"CHF 596"},"deepLink":"\/deeplink\/?params=eJxVz8FuwyAMBuB38XWJhCHA4A16q6q9gMHuFilNIkIP07Q9-0Dtpbff9mdL_gG-F6rztkL0AyxbfhbgjGZzTc4SJ4EBmKpcaP2UNtNKT6Myo1Z_LdpR6VG_N7NLObb1gIgDEN-X-oh7mbPU772v1q3Scu6N5ut8k6PSbX-5-YEhKhsxvCmMSjU3cwNTUhi8D5PjjGSZxDt7ZaedS8EbbO4QKvnr1DWjRQxIhnPKnHOf5iLSX3sw-P0Hq3hJDw","actions":{"conversion":{"first":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"second":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"third":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"fourth":{"link":"\/deeplink\/?params=eJxVz8FuwyAMBuB38XWJhCHA4A16q6q9gMHuFilNIkIP07Q9-0Dtpbff9mdL_gG-F6rztkL0AyxbfhbgjGZzTc4SJ4EBmKpcaP2UNtNKT6Myo1Z_LdpR6VG_N7NLObb1gIgDEN-X-oh7mbPU772v1q3Scu6N5ut8k6PSbX-5-YEhKhsxvCmMSjU3cwNTUhi8D5PjjGSZxDt7ZaedS8EbbO4QKvnr1DWjRQxIhnPKnHOf5iLSX3sw-P0Hq3hJDw\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"fifth":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"sixth":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"seventh":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"},"eighth":{"link":"\/rental\/4b01977946dc1a5dae765fd6266b9731?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"4b01977946dc1a5dae765fd6266b9731"}},"wishList":{"add":{"link":"\/pinboard\/update\/4b01977946dc1a5dae765fd6266b9731","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/4b01977946dc1a5dae765fd6266b9731","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"e6d607e8330875c4","geoLocation":{"lat":47.00963,"lon":9.52482},"fullGeoHash":"u0qg2tzfb","nearby":false,"alias":["eDomizil-2981172","6bab75b7f490674f","4b01977946dc1a5dae765fd6266b9731","e6d607e8330875c4","edomizil_id-2981172","17da3b78e0160f82c9714d441463b145"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Mikrowelle","amenity":"microwave"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"44adcf862ecae75dd90d495da33ce546","title":"30 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/208\/cef\/01ab8bbe16bd798c76e1139995.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/208\/cef\/01ab8bbe16bd798c76e1139995.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/208\/cef\/01ab8bbe16bd798c76e1139995.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/208\/cef\/01ab8bbe16bd798c76e1139995.jpg","aspectRatio":1.3333333333333333},"lowestPriceInfo":{"display":"CHF 894"},"deepLink":"\/deeplink\/?params=eJxVzztuwzAMBuC7cI0NUC8n0g26FUUuQJNMYsCxDVkZiqA9eyWkS7af5EcCfII8MpVpXSAdO5hX_i9gcFbcZRwCyajQgVDRL1quWmcWre_R9RZ_aww92t6eqtk07-uyQzIdkDzm8opbnljL99ZWy1po_myN6st0173QfXu7eTYxYUgmHtAkxOomqcB7Er6cBqtMegwiEcXHIOQca_BDdbtS5ttH02KCMdGQEx5ZmNuUs2p77cXg5w_smkn5","actions":{"conversion":{"first":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"second":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"third":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"fourth":{"link":"\/deeplink\/?params=eJxVzztuwzAMBuC7cI0NUC8n0g26FUUuQJNMYsCxDVkZiqA9eyWkS7af5EcCfII8MpVpXSAdO5hX_i9gcFbcZRwCyajQgVDRL1quWmcWre_R9RZ_aww92t6eqtk07-uyQzIdkDzm8opbnljL99ZWy1po_myN6st0173QfXu7eTYxYUgmHtAkxOomqcB7Er6cBqtMegwiEcXHIOQca_BDdbtS5ttH02KCMdGQEx5ZmNuUs2p77cXg5w_smkn5\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"fifth":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"sixth":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"seventh":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"},"eighth":{"link":"\/rental\/44adcf862ecae75dd90d495da33ce546?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"44adcf862ecae75dd90d495da33ce546"}},"wishList":{"add":{"link":"\/pinboard\/update\/44adcf862ecae75dd90d495da33ce546","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/44adcf862ecae75dd90d495da33ce546","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"28d6e31e7aedef66","geoLocation":{"lat":47.11289,"lon":9.25131},"fullGeoHash":"u0qs488s7","nearby":false,"alias":["eDomizil-3063889","7a85bbf96dec6cd3","44adcf862ecae75dd90d495da33ce546","28d6e31e7aedef66","edomizil_id-3063889","435d1364086bd663a4f8bf3ab5ca4be6"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Kinderbett","amenity":"cot"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Grill","amenity":"barbecue"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Toaster","amenity":"toaster"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"0e6f5fd8a3ab91ff498a4924fc2cb569","title":"36 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/fd8\/86c\/face9af284385d2ca6f83a30c7.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/fd8\/86c\/face9af284385d2ca6f83a30c7.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/fd8\/86c\/face9af284385d2ca6f83a30c7.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/fd8\/86c\/face9af284385d2ca6f83a30c7.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 698"},"deepLink":"\/deeplink\/?params=eJxVzztuwzAMBuC7cI0N6GE5lm6QrSh6AYqkWgOObcjKEATt2SshWbL9JD8S4AP4lrHM2wrh3MGy0auA0Rq2KY4OOQp0wFjkE9dvqTOjzNAr2xv1V6PrlenNVM0u-djWA4LuAPm2lGfc80xS7ntbLVvB5aM1qi_zVY6C1_3t5pf2Qbmg_UnpoFR1M1egZEwu8YQWo9cpDX7CwZshkaHoRl_dIZjp59I0a6e112iZIjFRm1IWaa89Gfz-A-GqSdI","actions":{"conversion":{"first":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"second":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"third":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"fourth":{"link":"\/deeplink\/?params=eJxVzztuwzAMBuC7cI0N6GE5lm6QrSh6AYqkWgOObcjKEATt2SshWbL9JD8S4AP4lrHM2wrh3MGy0auA0Rq2KY4OOQp0wFjkE9dvqTOjzNAr2xv1V6PrlenNVM0u-djWA4LuAPm2lGfc80xS7ntbLVvB5aM1qi_zVY6C1_3t5pf2Qbmg_UnpoFR1M1egZEwu8YQWo9cpDX7CwZshkaHoRl_dIZjp59I0a6e112iZIjFRm1IWaa89Gfz-A-GqSdI\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"fifth":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"sixth":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"seventh":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"},"eighth":{"link":"\/rental\/0e6f5fd8a3ab91ff498a4924fc2cb569?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"0e6f5fd8a3ab91ff498a4924fc2cb569"}},"wishList":{"add":{"link":"\/pinboard\/update\/0e6f5fd8a3ab91ff498a4924fc2cb569","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/0e6f5fd8a3ab91ff498a4924fc2cb569","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"871f5cd1e04f9557","geoLocation":{"lat":47.0953724,"lon":9.3476785},"fullGeoHash":"u0qeutqy2","nearby":false,"alias":["eDomizil-3064060","2b3d7ae4ce427d3a","0e6f5fd8a3ab91ff498a4924fc2cb569","871f5cd1e04f9557","edomizil_id-3064060","79b674e0be9d1194cf08f5f2e3737035"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"15634b191b91c67e","title":"45 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/ee6\/3eb\/252eb66e436b8383e38fe1bfc8.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/ee6\/3eb\/252eb66e436b8383e38fe1bfc8.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/ee6\/3eb\/252eb66e436b8383e38fe1bfc8.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/ee6\/3eb\/252eb66e436b8383e38fe1bfc8.jpg","aspectRatio":1.5019556714471969},"lowestPriceInfo":{"display":"CHF 671"},"deepLink":"\/deeplink\/?params=eJxVj0GOwjAMRe_iLa0UJ6TQ3GB2I8QFHNtApdJWaVggBGcnEWzYffu9b8kPkFuiPMwThF0D48zfATpnxZ1i50miQgNCWQ80nbUwa-y2Na615lWib41t7b44i6Z1nlYI2ADJbcyfuKSBNd-XWs1zpvG_Loqfh6uuma7Lz80j9sH4gP3GYDCmeIMUAX3nthF7jD1yt6v9VSnx5a9SQY-FkROOLMyVclKtr3w0eL4BT3lEoQ","actions":{"conversion":{"first":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"second":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"third":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"fourth":{"link":"\/deeplink\/?params=eJxVj0GOwjAMRe_iLa0UJ6TQ3GB2I8QFHNtApdJWaVggBGcnEWzYffu9b8kPkFuiPMwThF0D48zfATpnxZ1i50miQgNCWQ80nbUwa-y2Na615lWib41t7b44i6Z1nlYI2ADJbcyfuKSBNd-XWs1zpvG_Loqfh6uuma7Lz80j9sH4gP3GYDCmeIMUAX3nthF7jD1yt6v9VSnx5a9SQY-FkROOLMyVclKtr3w0eL4BT3lEoQ\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"15634b191b91c67e"},"fifth":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"sixth":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"seventh":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"},"eighth":{"link":"\/rental\/15634b191b91c67e?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"15634b191b91c67e"}},"wishList":{"add":{"link":"\/pinboard\/update\/15634b191b91c67e","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/15634b191b91c67e","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"b9a8c869793b588d","geoLocation":{"lat":47.0061371,"lon":9.4974252},"fullGeoHash":"u0qg2j5yd","nearby":false,"alias":["d09aec6b7eb806b6","1431e6b1b7ed570d","15634b191b91c67e","15e72d75465ce222","b9a8c869793b588d","edomizil_id-785252","cab209dea3cfaeaef07b29ea64c1ab31"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"TV","amenity":"tv"},{"label":"Kinderbett","amenity":"cot"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"895a169ef3211ee4","title":"60 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/70b\/805\/f3025229bb1e36960eeee229cc.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/70b\/805\/f3025229bb1e36960eeee229cc.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/70b\/805\/f3025229bb1e36960eeee229cc.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/70b\/805\/f3025229bb1e36960eeee229cc.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 955"},"deepLink":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVaKE1Ka3IANIS7gxi5UKm2VpgNCcHYSwcL2_d-zJT-Bt0hpmCfwhwrGOfwGaIxm03eNJe4EKmBKcqbpKplppfe1MrVW7xxtrXSt2-wsEtd5WsFjBcTbmL5xiUOQ9FjKapoTjadSZD8Nd1kT3Ze_mxd0XlmPbqfQK5W9gbPQOkvYOOmNRhTZ534ViuF2LJTRIjokw6ELHEKhIYqUV74avD5c8kTX","actions":{"conversion":{"first":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"second":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"third":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"fourth":{"link":"\/deeplink\/?params=eJxVjzEOwjAMRe_ilVaKE1Ka3IANIS7gxi5UKm2VpgNCcHYSwcL2_d-zJT-Bt0hpmCfwhwrGOfwGaIxm03eNJe4EKmBKcqbpKplppfe1MrVW7xxtrXSt2-wsEtd5WsFjBcTbmL5xiUOQ9FjKapoTjadSZD8Nd1kT3Ze_mxd0XlmPbqfQK5W9gbPQOkvYOOmNRhTZ534ViuF2LJTRIjokw6ELHEKhIYqUV74avD5c8kTX\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"895a169ef3211ee4"},"fifth":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"sixth":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"seventh":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"},"eighth":{"link":"\/rental\/895a169ef3211ee4?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"895a169ef3211ee4"}},"wishList":{"add":{"link":"\/pinboard\/update\/895a169ef3211ee4","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/895a169ef3211ee4","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"74bf55fef3d5af45","geoLocation":{"lat":47.0890666,"lon":9.3071687},"fullGeoHash":"u0qegu338","nearby":false,"alias":["4ca3b1ec9608de2c","eacee3859e7e6810","895a169ef3211ee4","e40c57e96f801f03","96e22efa1789c41a","74bf55fef3d5af45","edomizil_id-785324","959efa755f38828bfed77290ce12cd3c"],"amenities":{"labelSectionTitle":"Ausstattung","common":[{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Kinderbett","amenity":"cot"},{"label":"Parkplatz","amenity":"garage"},{"label":"Haustiere nicht gestattet","amenity":"no_dogs"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Kaffeemaschine","amenity":"coffee_machine"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"711701e823492840","title":"68 m\u00b2 Ferienwohnung","imageLinks":{"small":"\/\/cdn.hometogo.net\/small\/v1\/fe4\/af5\/cfc6dffd262aadfd3aa5901be2.jpg","medium":"\/\/cdn.hometogo.net\/medium\/v1\/fe4\/af5\/cfc6dffd262aadfd3aa5901be2.jpg","large":"\/\/cdn.hometogo.net\/large\/v1\/fe4\/af5\/cfc6dffd262aadfd3aa5901be2.jpg","thumbnail":"\/\/cdn.hometogo.net\/small\/v1\/fe4\/af5\/cfc6dffd262aadfd3aa5901be2.jpg","aspectRatio":1.5},"lowestPriceInfo":{"display":"CHF 732"},"deepLink":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZC0MyAwN3BnjBco06okCGQYFsbo2Z2Jbtz9_vfapE-QLXAc5glcU8A4-98Ae2vEXvp9zdIrFCAc9cTTVRMzaKoSbWnwnWJdoilNm5xFwzpPKzgqgGUb4zcuYfAaH0tejXPk8ZiL5Mfhrmvk-_J380ydw9pRt0NyiMkbJAkNUYOkrbFVZ9oq96ty8LdDpkI1UUdsxfdevM_UB9X8yleD1wcwWUQO","actions":{"conversion":{"first":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"second":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"third":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"fourth":{"link":"\/deeplink\/?params=eJxVj0EOgkAMRe_SrZC0MyAwN3BnjBco06okCGQYFsbo2Z2Jbtz9_vfapE-QLXAc5glcU8A4-98Ae2vEXvp9zdIrFCAc9cTTVRMzaKoSbWnwnWJdoilNm5xFwzpPKzgqgGUb4zcuYfAaH0tejXPk8ZiL5Mfhrmvk-_J380ydw9pRt0NyiMkbJAkNUYOkrbFVZ9oq96ty8LdDpkI1UUdsxfdevM_UB9X8yleD1wcwWUQO\u0026clo=2","conversionCategory":"clickout","action":"follow","offerId":"711701e823492840"},"fifth":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"sixth":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"seventh":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc\u0026refEl=video","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"},"eighth":{"link":"\/rental\/711701e823492840?duration=7\u0026location=632d3fb65adbe\u0026dateRange=2024-03-20~2025-02-28\u0026persons=1\u0026adults=1\u0026pricetype=totalPrice\u0026searchId=d151191a3dcbcdcc","conversionCategory":"rental_open","action":"follow","offerId":"711701e823492840"}},"wishList":{"add":{"link":"\/pinboard\/update\/711701e823492840","method":"POST","parameters":{"locationId":"632d3fb65adbe"}},"delete":{"link":"\/pinboard\/all\/711701e823492840","method":"DELETE","parameters":{}}}},"initialPrice":null,"locationTrailHeader":"Heidiland, Schweiz","rentalObjectId":"3d3289e90edeb959","geoLocation":{"lat":47.1488631,"lon":9.1375972},"fullGeoHash":"u0qkpzjy1","nearby":false,"alias":["a9296e3023a051c9","025e3082bfd8f4ab","711701e823492840","3d3289e90edeb959","bc4f48a06f7689b0525aeb9cc0867a10"],"amenities":{"labelSectionTitle":"Ausstattung","fishing":{"label":"Angelm\u00f6glichkeit"},"common":[{"label":"Haustier erlaubt","amenity":"pets_allowed"},{"label":"Sp\u00fclmaschine","amenity":"dishwasher"},{"label":"Terrasse\/Balkon","amenity":"terrace"},{"label":"Waschmaschine","amenity":"washing_machine_available"},{"label":"TV","amenity":"tv"},{"label":"WLAN","amenity":"internet"},{"label":"Kinderbett","amenity":"cot"},{"label":"Parkplatz","amenity":"garage"},{"label":"Nichtraucher","amenity":"smoking_not_allowed"},{"label":"K\u00fcche","amenity":"kitchen"},{"label":"Familienfreundlich","amenity":"children_friendly"},{"label":"Garten","amenity":"garden"},{"label":"Grill","amenity":"barbecue"},{"label":"F\u00f6hn","amenity":"hairdryer"},{"label":"Kaffeemaschine","amenity":"coffee_machine"},{"label":"Wasserkocher","amenity":"kettle"}]},"analyticsSnowPlow":{},"sort":null,"serpImageIndex":0,"debug":null},{"id":"0e2871e1a7c1c664e4c9350b7d21019f","geoLocation":{"lat":47.04294,"lon":9.41458},"analyticsSnowPlow":{}},{"id":"cd7fd3a6dfa0ff74","geoLocation":{"lat":47.0920506,"lon":9.286285},"analyticsSnowPlow":{}},{"id":"233a3fc402b2c5d6841d7e8fb28a6309","geoLocation":{"lat":47.1042054,"lon":9.2565247},"analyticsSnowPlow":{}},{"id":"a1dd6814982b79d4","geoLocation":{"lat":47.0836608,"lon":9.3064713},"analyticsSnowPlow":{}},{"id":"7010568fac362e204c27f5dd078a64ca","geoLocation":{"lat":47.1503536,"lon":9.1363903},"analyticsSnowPlow":{}},{"id":"333e826fc0e316853f3ce7e62bef861e","geoLocation":{"lat":47.1475864,"lon":9.1752849},"analyticsSnowPlow":{}},{"id":"288041b4f238ceca","geoLocation":{"lat":47.0926708,"lon":9.3019263},"analyticsSnowPlow":{}},{"id":"3dee7661a3d26869","geoLocation":{"lat":47.0066226,"lon":9.5045847},"analyticsSnowPlow":{}},{"id":"9b975159a52f499e183a281cad84b838","geoLocation":{"lat":47.13016,"lon":9.21426},"analyticsSnowPlow":{}},{"id":"b471ec73e81dc0e7","geoLocation":{"lat":47.1401808,"lon":9.1300225},"analyticsSnowPlow":{}},{"id":"7543c361d9497d2bdf1a734814e8e4b7","geoLocation":{"lat":47.1485898,"lon":9.1358068},"analyticsSnowPlow":{}},{"id":"f921f7c8db6132af","geoLocation":{"lat":47.1486122,"lon":9.1349685},"analyticsSnowPlow":{}},{"id":"4ac3d102185460dd","geoLocation":{"lat":47.1436366,"lon":9.1687265},"analyticsSnowPlow":{}},{"id":"55930e5d2f0e4196","geoLocation":{"lat":47.1496785,"lon":9.1360454},"analyticsSnowPlow":{}},{"id":"5965d700ed20db98","geoLocation":{"lat":47.1486081,"lon":9.1350315},"analyticsSnowPlow":{}},{"id":"29df2a6c9cc6d10c","geoLocation":{"lat":47.1487464,"lon":9.136045},"analyticsSnowPlow":{}},{"id":"ab21332cdf47e1ac","geoLocation":{"lat":47.1496535,"lon":9.1435361},"analyticsSnowPlow":{}},{"id":"1114ace9aa74ade27ae229e1ec385365","geoLocation":{"lat":47.1478662,"lon":9.1758214},"analyticsSnowPlow":{}},{"id":"b9322b6e81e8520b","geoLocation":{"lat":46.9878323,"lon":9.4672584},"analyticsSnowPlow":{}},{"id":"7800c4a176d30ed586dd3ba28047ac78","geoLocation":{"lat":47.1485842,"lon":9.1350772},"analyticsSnowPlow":{}},{"id":"633fd023c4ba6bf5","geoLocation":{"lat":47.1475864,"lon":9.1752849},"analyticsSnowPlow":{}},{"id":"b909e2e738b4a219","geoLocation":{"lat":47.1486259,"lon":9.1357867},"analyticsSnowPlow":{}},{"id":"8bd907ebdeb76728","geoLocation":{"lat":47.0899323,"lon":9.3032715},"analyticsSnowPlow":{}},{"id":"2273b9edc42a700b","geoLocation":{"lat":47.1516298,"lon":9.1413501},"analyticsSnowPlow":{}},{"id":"afb158c7e1f7a1bb41339a36ca140ef1","geoLocation":{"lat":47.1488176,"lon":9.1376202},"analyticsSnowPlow":{}},{"id":"ba5ad0e24eaf8391127576a5af6ab54c","geoLocation":{"lat":47.11307,"lon":9.27327},"analyticsSnowPlow":{}},{"id":"0108f19e46c6ecf4","geoLocation":{"lat":47.0996284,"lon":9.2604232},"analyticsSnowPlow":{}},{"id":"b922747cccdcfcac","geoLocation":{"lat":47.1506437,"lon":9.1350194},"analyticsSnowPlow":{}},{"id":"ef0b40237fca4f494ee509d83a1e0b7b","geoLocation":{"lat":47.1478396,"lon":9.1758092},"analyticsSnowPlow":{}},{"id":"5a9d7040da7cc635","geoLocation":{"lat":47.0913384,"lon":9.2954099},"analyticsSnowPlow":{}},{"id":"cf1ea45b35660a89b8e2355885cc35e4","geoLocation":{"lat":47.08334,"lon":9.30475},"analyticsSnowPlow":{}},{"id":"280f32faceef2039","geoLocation":{"lat":47.1148478,"lon":9.256094},"analyticsSnowPlow":{}},{"id":"758704cadee489cd","geoLocation":{"lat":47.1482693,"lon":9.1464328},"analyticsSnowPlow":{}},{"id":"432bdab43550a3ae","geoLocation":{"lat":47.1496535,"lon":9.1435361},"analyticsSnowPlow":{}},{"id":"67afd5013917ca78","geoLocation":{"lat":47.1493204,"lon":9.1429031},"analyticsSnowPlow":{}},{"id":"313f14c7c09cb8f6","geoLocation":{"lat":47.1503783,"lon":9.1364144},"analyticsSnowPlow":{}},{"id":"ef64856aefb2a850","geoLocation":{"lat":47.0895122,"lon":9.3020725},"analyticsSnowPlow":{}},{"id":"7d887dc495ccf149","geoLocation":{"lat":47.0037346,"lon":9.5023867},"analyticsSnowPlow":{}},{"id":"02c4a4a64ab4d951","geoLocation":{"lat":47.0097978,"lon":9.5070111},"analyticsSnowPlow":{}},{"id":"541dd9943d89b966","geoLocation":{"lat":47.1505395,"lon":9.1377559},"analyticsSnowPlow":{}},{"id":"c07d246482358521","geoLocation":{"lat":47.0035165,"lon":9.5025466},"analyticsSnowPlow":{}},{"id":"a35b2bc0edee7ede80384e2c7ad816a4","geoLocation":{"lat":47.1496564,"lon":9.1405583},"analyticsSnowPlow":{}},{"id":"23b281e24960154038ecf9f81dc2a3a6","geoLocation":{"lat":47.13007,"lon":9.22739},"analyticsSnowPlow":{}},{"id":"9f2aeb760bdc25896d877735525c8c13","geoLocation":{"lat":47.09537,"lon":9.34767},"analyticsSnowPlow":{}},{"id":"1efa91ce23e18887de38789c584e0999","geoLocation":{"lat":47.10344,"lon":9.30264},"analyticsSnowPlow":{}},{"id":"d8cafb53642198da","geoLocation":{"lat":47.0934395,"lon":9.2851719},"analyticsSnowPlow":{}},{"id":"ba07eefe747cac4f41ff9bcb7cf3e581","geoLocation":{"lat":47.10311,"lon":9.29698},"analyticsSnowPlow":{}},{"id":"13c30af993834c4519e83c1892006c4c","geoLocation":{"lat":47.1511983,"lon":9.158543},"analyticsSnowPlow":{}},{"id":"8b0005e17082a71a","geoLocation":{"lat":47.0903295,"lon":9.2955059},"analyticsSnowPlow":{}},{"id":"3959c8b8ff1f8375","geoLocation":{"lat":47.149765,"lon":9.138318},"analyticsSnowPlow":{}},{"id":"bd547cc85574ae4fef6bc461af367b2a","geoLocation":{"lat":47.00953,"lon":9.54435},"analyticsSnowPlow":{}},{"id":"6cd8c4c0c207d8f4c546e372878fc53c","geoLocation":{"lat":47.1024,"lon":9.25666},"analyticsSnowPlow":{}},{"id":"7e36c584a2f79731fb8edcf12dd61204","geoLocation":{"lat":47.1506348,"lon":9.1350145},"analyticsSnowPlow":{}},{"id":"15d99b8da5ad2f32","geoLocation":{"lat":47.1516298,"lon":9.1413501},"analyticsSnowPlow":{}},{"id":"a9faaba8f8bd9445c7bb97802614146b","geoLocation":{"lat":47.1129,"lon":9.27366},"analyticsSnowPlow":{}},{"id":"e9a7151cb8b860d6","geoLocation":{"lat":47.1486606,"lon":9.135335},"analyticsSnowPlow":{}},{"id":"1a88c1f0a9eb5f2c9d46c92e156109f3","geoLocation":{"lat":47.0941506,"lon":9.2860383},"analyticsSnowPlow":{}},{"id":"1ab3f516c778e46a","geoLocation":{"lat":47.09011,"lon":9.29902},"analyticsSnowPlow":{}},{"id":"47bbdf96c8fd0223","geoLocation":{"lat":47.1493204,"lon":9.1429031},"analyticsSnowPlow":{}},{"id":"85f678911f456c66","geoLocation":{"lat":47.0835012,"lon":9.307563},"analyticsSnowPlow":{}},{"id":"3ca5b9415d34c094","geoLocation":{"lat":47.0838536,"lon":9.3055592},"analyticsSnowPlow":{}},{"id":"427afd55589a13964da9d8ae916843af","geoLocation":{"lat":47.150526,"lon":9.1377356},"analyticsSnowPlow":{}},{"id":"187133ab510dfa51d1d57b277d584ea6","geoLocation":{"lat":47.14958,"lon":9.167463},"analyticsSnowPlow":{}},{"id":"34b3d6f19b04ae65","geoLocation":{"lat":46.9937048,"lon":9.4850461},"analyticsSnowPlow":{}},{"id":"13ce0bda9aa76545","geoLocation":{"lat":47.0941206,"lon":9.2830919},"analyticsSnowPlow":{}},{"id":"b5e354aabf3633c5","geoLocation":{"lat":47.0897909,"lon":9.3040254},"analyticsSnowPlow":{}},{"id":"854b2151a624c9ca25f322666d1a10f4","geoLocation":{"lat":47.1425525,"lon":9.16317},"analyticsSnowPlow":{}},{"id":"3daed0e72c518ca5","geoLocation":{"lat":47.090429,"lon":9.2995673},"analyticsSnowPlow":{}},{"id":"378edcedd5781f49","geoLocation":{"lat":47.084079,"lon":9.30509},"analyticsSnowPlow":{}},{"id":"52608ee351e483b0","geoLocation":{"lat":47.0840983,"lon":9.3042223},"analyticsSnowPlow":{}},{"id":"f04ca4a7f38ff38d72751272bbe4b99d","geoLocation":{"lat":47.11285,"lon":9.27359},"analyticsSnowPlow":{}},{"id":"2e71af6b81f48a13","geoLocation":{"lat":47.0899222,"lon":9.3050323},"analyticsSnowPlow":{}},{"id":"69d93056fe6d0083","geoLocation":{"lat":47.0979376,"lon":9.3075603},"analyticsSnowPlow":{}},{"id":"b029e9876d96234a","geoLocation":{"lat":47.0840357,"lon":9.305497},"analyticsSnowPlow":{}},{"id":"23bfbdd9879a971aeae207c61e4c2c39","geoLocation":{"lat":47.1478662,"lon":9.1758214},"analyticsSnowPlow":{}},{"id":"f6360071dff839b5","geoLocation":{"lat":47.0910804,"lon":9.2949446},"analyticsSnowPlow":{}},{"id":"7351d591d760cfec","geoLocation":{"lat":47.147139,"lon":9.1671843},"analyticsSnowPlow":{}},{"id":"86c3877d5c714c7170ba3ba766006446","geoLocation":{"lat":47.1511679,"lon":9.1585855},"analyticsSnowPlow":{}},{"id":"7e2b52297b7598a9","geoLocation":{"lat":47.0912827,"lon":9.2982558},"analyticsSnowPlow":{}},{"id":"44112a21895bbaa1","geoLocation":{"lat":47.0909293,"lon":9.2974952},"analyticsSnowPlow":{}},{"id":"f0873fda9faccb2f","geoLocation":{"lat":47.0982919,"lon":9.3067503},"analyticsSnowPlow":{}},{"id":"dca34869cb2d45a2","geoLocation":{"lat":47.116113,"lon":9.1528289},"analyticsSnowPlow":{}},{"id":"ee09b15d80bc940d","geoLocation":{"lat":47.08966,"lon":9.29728},"analyticsSnowPlow":{}},{"id":"a5d8e5a7b2e41614","geoLocation":{"lat":47.08934,"lon":9.3048},"analyticsSnowPlow":{}},{"id":"86871f6faaa74685c3542c16ded968c3","geoLocation":{"lat":47.15019,"lon":9.1446},"analyticsSnowPlow":{}},{"id":"ac8e66e8f2713466","geoLocation":{"lat":47.0966757,"lon":9.2848649},"analyticsSnowPlow":{}},{"id":"e6431586eed87c09","geoLocation":{"lat":47.0903669,"lon":9.2963755},"analyticsSnowPlow":{}},{"id":"e46796bec2bc627d","geoLocation":{"lat":47.1475189,"lon":9.1541165},"analyticsSnowPlow":{}},{"id":"0c8cfedef594021f","geoLocation":{"lat":47.09183,"lon":9.28703},"analyticsSnowPlow":{}},{"id":"a5b8d0d6d318bcc7","geoLocation":{"lat":47.0909048,"lon":9.3061642},"analyticsSnowPlow":{}},{"id":"917b340ff6dd51c1","geoLocation":{"lat":47.1470711,"lon":9.1708897},"analyticsSnowPlow":{}},{"id":"112b1e50317670ad","geoLocation":{"lat":47.1475173,"lon":9.1541166},"analyticsSnowPlow":{}},{"id":"c2f52722e07c7a32","geoLocation":{"lat":47.1475067,"lon":9.1772795},"analyticsSnowPlow":{}},{"id":"8dc264c0c83c02f499d1a73cc611d890","geoLocation":{"lat":47.1488631,"lon":9.1375972},"analyticsSnowPlow":{}},{"id":"4b1954137de1d8d7","geoLocation":{"lat":47.0911485,"lon":9.2979258},"analyticsSnowPlow":{}},{"id":"d6bf09db15577fb2","geoLocation":{"lat":47.0924633,"lon":9.2853999},"analyticsSnowPlow":{}},{"id":"ca75fc5ebed3a9246a2dc3a4a049af63","geoLocation":{"lat":47.1496313,"lon":9.1544595},"analyticsSnowPlow":{}},{"id":"9440d427e49cbd45d5403f7ae58bbc2f","geoLocation":{"lat":46.99386,"lon":9.50846},"analyticsSnowPlow":{}},{"id":"991de870c95e6a42","geoLocation":{"lat":47.1496123,"lon":9.1674592},"analyticsSnowPlow":{}},{"id":"3ca3ffbcdd594c9e","geoLocation":{"lat":47.0927356,"lon":9.2862126},"analyticsSnowPlow":{}},{"id":"cb90b68f35c62ee6970edee2bc17fffe","geoLocation":{"lat":47.1482073,"lon":9.1464712},"analyticsSnowPlow":{}},{"id":"793c9f9b58fbbdd64061a905270c3467","geoLocation":{"lat":47.1474507,"lon":9.1753575},"analyticsSnowPlow":{}},{"id":"af1dc23890da54b36cda80f523ed0709","geoLocation":{"lat":47.1497622,"lon":9.1383781},"analyticsSnowPlow":{}},{"id":"7971dd971cca13c3","geoLocation":{"lat":47.151195,"lon":9.1587093},"analyticsSnowPlow":{}},{"id":"194dc22f0ef54b2e","geoLocation":{"lat":47.1494535,"lon":9.1443895},"analyticsSnowPlow":{}},{"id":"db0e6b9e66f6666d","geoLocation":{"lat":47.08949,"lon":9.30417},"analyticsSnowPlow":{}},{"id":"27103c264fa1c69bef641c4cf09ae422","geoLocation":{"lat":47.1492004,"lon":9.1441194},"analyticsSnowPlow":{}},{"id":"4f9308031ad2b61f","geoLocation":{"lat":47.0080719,"lon":9.501543},"analyticsSnowPlow":{}},{"id":"95c1d38f9ca571c3","geoLocation":{"lat":47.0889885,"lon":9.3053392},"analyticsSnowPlow":{}},{"id":"6adbd235a9c5de9f6e27fa564843fe3c","geoLocation":{"lat":47.1475189,"lon":9.1541165},"analyticsSnowPlow":{}},{"id":"e2e12db51196b269","geoLocation":{"lat":47.1425443,"lon":9.1631488},"analyticsSnowPlow":{}},{"id":"633281943714a729","geoLocation":{"lat":47.0892836,"lon":9.3043674},"analyticsSnowPlow":{}},{"id":"7f33d244eb2e5c3acd0978a8c1392e98","geoLocation":{"lat":47.00948,"lon":9.54435},"analyticsSnowPlow":{}},{"id":"210767ec0c27e649f39b8d925afb02ef","geoLocation":{"lat":47.11491,"lon":9.25601},"analyticsSnowPlow":{}},{"id":"c9669368e2ddcbbcf403595485b2c44a","geoLocation":{"lat":46.99419,"lon":9.50855},"analyticsSnowPlow":{}},{"id":"8b3539bb2ead29f7","geoLocation":{"lat":47.1475846,"lon":9.1752849},"analyticsSnowPlow":{}},{"id":"430a6f239261091a","geoLocation":{"lat":47.1488631,"lon":9.1375972},"analyticsSnowPlow":{}},{"id":"99e05ffb88cde3ed872db911f4065bcc","geoLocation":{"lat":47.1425769,"lon":9.1624296},"analyticsSnowPlow":{}},{"id":"79c76210734dc53fbad9cf0428076c9d","geoLocation":{"lat":47.1361465,"lon":9.0996163},"analyticsSnowPlow":{}},{"id":"d874c670ba1ebf09","geoLocation":{"lat":47.1153083,"lon":9.2570248},"analyticsSnowPlow":{}},{"id":"aa6611a1743bb8929db982a61237adc9","geoLocation":{"lat":47.151105,"lon":9.1354646},"analyticsSnowPlow":{}},{"id":"eca572033ae3fc9669bbb9c7423d6711","geoLocation":{"lat":47.1475327,"lon":9.1773552},"analyticsSnowPlow":{}},{"id":"785008212492ab0e5132b8a0c2eda082","geoLocation":{"lat":47.14907,"lon":9.13998},"analyticsSnowPlow":{}},{"id":"e437e8d9539d1fef","geoLocation":{"lat":47.1157482,"lon":9.2554745},"analyticsSnowPlow":{}},{"id":"8553a1f141f39bb8","geoLocation":{"lat":47.1475864,"lon":9.1752849},"analyticsSnowPlow":{}},{"id":"2787c02edac25ace","geoLocation":{"lat":47.1496643,"lon":9.1405304},"analyticsSnowPlow":{}},{"id":"51030b7fd2a3e01b","geoLocation":{"lat":47.1478396,"lon":9.1758092},"analyticsSnowPlow":{}},{"id":"d935fd5f2a8bfaf4","geoLocation":{"lat":47.1496313,"lon":9.1544595},"analyticsSnowPlow":{}},{"id":"840be3560a2daca5","geoLocation":{"lat":47.1361465,"lon":9.0996163},"analyticsSnowPlow":{}},{"id":"4ab399cfa5ff9bd0","geoLocation":{"lat":47.0941506,"lon":9.2860383},"analyticsSnowPlow":{}},{"id":"fbac71e51da8be28a7b8037732aa3a98","geoLocation":{"lat":47.04986,"lon":9.44067},"analyticsSnowPlow":{}},{"id":"10c92196b320f427f9bab5026da73b27","geoLocation":{"lat":47.07394,"lon":9.33306},"analyticsSnowPlow":{}},{"id":"d8e771c8ca277accd41ac2b3751c90df","geoLocation":{"lat":47.08885,"lon":9.30588},"analyticsSnowPlow":{}},{"id":"03b4f41e852d1c7add39f053ee9e16c5","geoLocation":{"lat":47.08357,"lon":9.30699},"analyticsSnowPlow":{}},{"id":"61056b549e404299da2a8d338480d38e","geoLocation":{"lat":47.0879,"lon":9.30195},"analyticsSnowPlow":{}},{"id":"56dfe8d28b348ee9d0b4ecadb6f7e364","geoLocation":{"lat":47.08365,"lon":9.33486},"analyticsSnowPlow":{}},{"id":"2def4833b17a485c72bbb8cbfc9a4801","geoLocation":{"lat":47.09361,"lon":9.29768},"analyticsSnowPlow":{}},{"id":"90266586d9c38e5acb76c1286a12e7e5","geoLocation":{"lat":47.1147,"lon":9.15048},"analyticsSnowPlow":{}},{"id":"2e71bd10f244c95e668e1d3ab03ec9de","geoLocation":{"lat":47.01698,"lon":9.42295},"analyticsSnowPlow":{}},{"id":"9eb581211a8b4982","geoLocation":{"lat":47.1474507,"lon":9.1753575},"analyticsSnowPlow":{}},{"id":"1a9bd10926b27e74","geoLocation":{"lat":47.1511679,"lon":9.1585855},"analyticsSnowPlow":{}},{"id":"8a4b81b1f4fc4c16","geoLocation":{"lat":47.1478662,"lon":9.1758214},"analyticsSnowPlow":{}},{"id":"7ed9b4c6cf1f3003","geoLocation":{"lat":47.1496313,"lon":9.1544595},"analyticsSnowPlow":{}},{"id":"cd3b920c0c2a6271","geoLocation":{"lat":47.1473964,"lon":9.1750197},"analyticsSnowPlow":{}},{"id":"aa5f8b260516844d","geoLocation":{"lat":47.1485898,"lon":9.1358068},"analyticsSnowPlow":{}},{"id":"b610b11f73b7b6dc","geoLocation":{"lat":47.1497622,"lon":9.1383781},"analyticsSnowPlow":{}},{"id":"fe899e9908b4116f","geoLocation":{"lat":47.1503536,"lon":9.1363903},"analyticsSnowPlow":{}},{"id":"de9d940ef95ed934","geoLocation":{"lat":47.1478396,"lon":9.1758092},"analyticsSnowPlow":{}}],"filters":{"typeAndAmenityFilter":{"properties":{"inlineCardTitle":"Was ist dir wichtig?","inlineCardSubTitle":"Diese Ausstattungsmerkmale sind gerade am beliebtesten f\u00fcr Heidiland","position":9,"caption":null,"name":"properties","fieldName":"properties","total":2928,"active":false,"activeValue":false,"activeLabels":null,"values":{"important":[{"value":"pool","active":false,"count":"14","length":2,"label":"Pool"},{"value":"internet","active":false,"count":"278","length":3,"label":"WLAN"},{"value":"pets_allowed","active":false,"count":"80","length":2,"label":"Haustier erlaubt"},{"value":"air_conditioning","active":false,"count":"7","length":1,"label":"Klimaanlage"},{"value":"kitchen","active":false,"count":"304","length":3,"label":"K\u00fcche"},{"value":"terrace","active":false,"count":"137","length":3,"label":"Terrasse\/Balkon"},{"value":"garage","active":false,"count":"208","length":3,"label":"Parkplatz"},{"value":"tv","active":false,"count":"265","length":3,"label":"TV"},{"value":"washing_machine_available","active":false,"count":"219","length":3,"label":"Waschmaschine"},{"value":"barbecue","active":false,"count":"136","length":3,"label":"Grill"},{"value":"garden","active":false,"count":"116","length":3,"label":"Garten"},{"value":"dishwasher","active":false,"count":"204","length":3,"label":"Sp\u00fclmaschine"},{"value":"microwave","active":false,"count":"116","length":3,"label":"Mikrowelle"},{"value":"smoking_not_allowed","active":false,"count":"200","length":3,"label":"Nichtraucher"},{"value":"whirlpool","active":false,"count":"34","length":2,"label":"Whirlpool"},{"value":"fireplace","active":false,"count":"111","length":3,"label":"Chemin\u00e9e\/Ofen"},{"value":"sauna","active":false,"count":"67","length":2,"label":"Sauna"},{"value":"fishing","active":false,"count":"40","length":2,"label":"Angelm\u00f6glichkeit"},{"value":"smoking_allowed","active":false,"count":"0","length":1,"label":"Rauchen erlaubt"},{"value":"no_dogs","active":false,"count":"225","length":3,"label":"Haustiere nicht gestattet"},{"value":"cot","active":false,"count":"138","length":3,"label":"Kinderbett"},{"value":"accessible","active":false,"count":"0","length":1,"label":"Barrierefrei"},{"value":"fenced","active":false,"count":"8","length":1,"label":"Umz\u00e4unt"},{"value":"detached","active":false,"count":"21","length":2,"label":"Freistehend"}],"other":[]},"activeLabelsImproved":null,"activeLabelsImprovedShort":null},"type":{"inlineCardTitle":null,"inlineCardSubTitle":null,"position":null,"caption":null,"name":"type","fieldName":"type","total":306,"active":false,"activeValue":false,"activeLabels":null,"values":{"important":[{"value":"holiday_house","active":false,"count":"31","length":2,"label":"Ferienhaus"},{"value":"holiday_apartment","active":false,"count":"271","length":3,"label":"Ferienwohnung"},{"value":"farm","active":false,"count":"1","length":1,"label":"Bauernhof"},{"value":"holiday_park","active":false,"count":"0","length":1,"label":"Ferienpark"},{"value":"castle","active":false,"count":"0","length":1,"label":"Schloss"},{"value":"hotel","active":false,"count":"0","length":1,"label":"Hotel"},{"value":"camping_suite","active":false,"count":"0","length":1,"label":"Camping-Unterkunft"},{"value":"bed_and_breakfast","active":false,"count":"0","length":1,"label":"Bed \u0026 Breakfast"},{"value":"pension","active":false,"count":"0","length":1,"label":"Pension"},{"value":"boat","active":false,"count":"0","length":1,"label":"Schiff"},{"value":"other_accommodation","active":false,"count":"0","length":1,"label":"Andere"},{"value":"dedicated_room","active":false,"count":"2","length":1,"label":"Privatzimmer"},{"value":"hostel","active":false,"count":"1","length":1,"label":"Hostel"},{"value":"shared_room","active":false,"count":"0","length":1,"label":"Gemeinschaftszimmer"}],"other":[]},"activeLabelsImproved":null,"activeLabelsImprovedShort":null},"saleType":{"inlineCardTitle":null,"inlineCardSubTitle":null,"position":null,"caption":null,"name":"saleType","fieldName":"saleType","total":305,"active":false,"activeValue":false,"activeLabels":null,"values":{"important":[{"value":"always_instantly_bookable","active":false,"count":"284","length":3,"label":"Sofort buchbar"},{"value":"always_on_request","active":false,"count":"9","length":1,"label":"Auf Anfrage"}],"other":[]}},"stars":{"inlineCardTitle":null,"inlineCardSubTitle":null,"position":null,"caption":null,"name":"hotelStars","fieldName":"hotelStars","total":0,"active":false,"activeValue":false,"activeLabels":null,"values":{"important":[{"value":5,"active":false,"count":"0","length":1,"label":"5 Sterne"},{"value":4,"active":false,"count":"0","length":1,"label":"4 Sterne"},{"value":3,"active":false,"count":"0","length":1,"label":"3 Sterne"},{"value":2,"active":false,"count":"0","length":1,"label":"2 Sterne"},{"value":1,"active":false,"count":"0","length":1,"label":"1 Stern"}],"other":[]},"activeLabelsImproved":null,"activeLabelsImprovedShort":null}},"locationFilters":{"location":{"active":true,"input":"Heidiland, Schweiz","baseUrl":{"location":"632d3fb65adbe","duration":7,"dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"},"viewPort":{"center":{"lon":9.3113586,"lat":47.0672474},"coordinates":[{"lat":47.1725665555702,"lon":9.1360881},{"lat":46.9617197367943,"lon":9.50846}]},"geoBounds":{"center":{"lon":9.3113586,"lat":47.0672474},"coordinates":[{"lat":47.1725665555702,"lon":9.1360881},{"lat":46.9617197367943,"lon":9.50846}]},"defaultId":"5460aea910151","activeLabel":"Heidiland","activeLocationName":"Heidiland","total":56,"id":"632d3fb65adbe","primaryLocationId":null,"level":2,"poi":false,"suggestionType":"destination","suggestionTrail":""}},"alternativeSearch":{"alternativeSearch":{"useAlternativeSearch":false}},"calendarFilter":{"calendar":{"active":false,"name":"calendarFilter","label":" 1 Woche","arrival":{"arrivalField":"arrival","value":null},"duration":{"durationField":"duration","duration":7,"activeValue":7,"activeLabel":"1 Woche"},"dateForDateLessIsForceSet":false,"closeMessage":"Schlie\u00dfen","forceOpen":false,"shortLabel":"Flexible Reisedaten"}},"arrivalRange":{"arrivalRange":{"active":true,"minDate":"2024-03-20","maxMonths":12,"linkParameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28"},"resetParameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice"},"activeValues":{"dateRange":"2024-03-20~2025-02-28","duration":7},"dateRanges":[{"label":"N\u00e4chste 12 Monate","labelCalendar":"in den n\u00e4chsten 12 Monaten","active":true,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28"}},{"label":"N\u00e4chste 6 Monate","labelCalendar":"in den n\u00e4chsten 6 Monaten","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2024-08-31"}},{"label":"M\u00e4rz","labelCalendar":"im M\u00e4rz","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2024-03-31"}},{"label":"April","labelCalendar":"im April","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-04-01~2024-04-30"}},{"label":"Mai","labelCalendar":"im Mai","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-05-01~2024-05-31"}},{"label":"Juni","labelCalendar":"Im Juni","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-06-01~2024-06-30"}},{"label":"Juli","labelCalendar":"Im Juli","active":false,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-07-01~2024-07-31"}}],"durations":[{"label":"1 Woche","labelCalendar":"1 Woche","active":true,"parameters":{"duration":7,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28"}},{"label":"2 Wochen","labelCalendar":"2 Wochen","active":false,"parameters":{"duration":14,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28"}}],"weekendDurations":[{"label":"Wochenenden (Do \u2013 So)","labelCalendar":"Donnerstag \u2013 Sonntag (3 N\u00e4chte)","active":false,"parameters":{"duration":3,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28","dow":4}},{"label":"Wochenende","labelCalendar":"Freitag \u2013 Sonntag (2 N\u00e4chte)","active":false,"parameters":{"duration":2,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28","dow":5}},{"label":"Wochenenden (Sa \u2013 So)","labelCalendar":"Samstag \u2013 Sonntag (1 Nacht)","active":false,"parameters":{"duration":1,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28","dow":6}},{"label":"Wochenenden (So \u2013 Mo)","labelCalendar":"Sonntag \u2013 Montag (1 Nacht)","active":false,"parameters":{"duration":1,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28","dow":7}},{"label":"Wochenenden (So \u2013 Di)","labelCalendar":"Sonntag \u2013 Dienstag (2 N\u00e4chte)","active":false,"parameters":{"duration":2,"location":"632d3fb65adbe","persons":1,"adults":1,"pricetype":"totalPrice","dateRange":"2024-03-20~2025-02-28","dow":7}}],"guide":null}},"midTerm":{"midTerm":{"isActive":false,"heading":null,"slogan":null,"feature":null}},"providersFilter":{"provider":{}},"number_from":{"persons":{"name":"persons","active":true,"activeValue":1,"defaultValue":0,"minSelectableValue":1,"options":[{"value":0,"active":false,"label":"Personen","short_label":"Beliebig"},{"value":1,"active":true,"label":"1 Person","short_label":"1"},{"value":2,"active":false,"label":"2 Personen","short_label":"2"},{"value":3,"active":false,"label":"3 Personen","short_label":"3"},{"value":4,"active":false,"label":"4 Personen","short_label":"4"},{"value":5,"active":false,"label":"5 Personen","short_label":"5"},{"value":6,"active":false,"label":"6 Personen","short_label":"6+"},{"value":7,"active":false,"label":"7 Personen","short_label":"7+"},{"value":8,"active":false,"label":"8 Personen","short_label":"8+"},{"value":9,"active":false,"label":"9 Personen","short_label":"9+"},{"value":10,"active":false,"label":"10 Personen","short_label":"10+"},{"value":11,"active":false,"label":"11 Personen","short_label":"11+"},{"value":12,"active":false,"label":"12 Personen","short_label":"12+"},{"value":13,"active":false,"label":"13 Personen","short_label":"13+"},{"value":14,"active":false,"label":"14 Personen","short_label":"14+"},{"value":15,"active":false,"label":"15 Personen","short_label":"15+"},{"value":16,"active":false,"label":"16 Personen","short_label":"16+"},{"value":17,"active":false,"label":"17 Personen","short_label":"17+"},{"value":18,"active":false,"label":"18 Personen","short_label":"18+"},{"value":19,"active":false,"label":"19 Personen","short_label":"19+"},{"value":20,"active":false,"label":"20 Personen","short_label":"20+"}],"label":"Personen","activeLabel":"1 Person"},"adults":{"name":"adults","active":true,"activeValue":1,"defaultValue":0,"minSelectableValue":1,"options":[{"value":0,"active":false,"label":"0 Erwachsene"},{"value":1,"active":true,"label":"1 Erwachsener"},{"value":2,"active":false,"label":"2 Erwachsene"},{"value":3,"active":false,"label":"3 Erwachsene"},{"value":4,"active":false,"label":"4 Erwachsene"},{"value":5,"active":false,"label":"5 Erwachsene"},{"value":6,"active":false,"label":"6 Erwachsene"},{"value":7,"active":false,"label":"7 Erwachsene"},{"value":8,"active":false,"label":"8 Erwachsene"},{"value":9,"active":false,"label":"9 Erwachsene"},{"value":10,"active":false,"label":"10 Erwachsene"},{"value":11,"active":false,"label":"11 Erwachsene"},{"value":12,"active":false,"label":"12 Erwachsene"},{"value":13,"active":false,"label":"13 Erwachsene"},{"value":14,"active":false,"label":"14 Erwachsene"},{"value":15,"active":false,"label":"15 Erwachsene"},{"value":16,"active":false,"label":"16 Erwachsene"},{"value":17,"active":false,"label":"17 Erwachsene"},{"value":18,"active":false,"label":"18 Erwachsene"},{"value":19,"active":false,"label":"19 Erwachsene"},{"value":20,"active":false,"label":"20 Erwachsene"}],"label":"Erwachsene","activeLabel":"1 Erwachsener"},"children":{"name":"children","active":false,"activeValue":0,"defaultValue":0,"options":[{"value":0,"active":true,"label":"0 Kinder"},{"value":1,"active":false,"label":"1 Kind"},{"value":2,"active":false,"label":"2 Kinder"},{"value":3,"active":false,"label":"3 Kinder"},{"value":4,"active":false,"label":"4 Kinder"},{"value":5,"active":false,"label":"5 Kinder"},{"value":6,"active":false,"label":"6 Kinder"},{"value":7,"active":false,"label":"7 Kinder"},{"value":8,"active":false,"label":"8 Kinder"},{"value":9,"active":false,"label":"9 Kinder"},{"value":10,"active":false,"label":"10 Kinder"},{"value":11,"active":false,"label":"11 Kinder"}],"label":"Kinder","activeLabel":"0 Kinder"},"bedrooms":{"name":"bedrooms","active":true,"activeValue":0,"defaultValue":0,"minSelectableValue":1,"options":[{"value":0,"active":true,"label":"Beliebig","short_label":"Beliebig"},{"value":1,"active":false,"label":"1 Schlafzimmer","short_label":"1"},{"value":2,"active":false,"label":"2+ Schlafzimmer","short_label":"2"},{"value":3,"active":false,"label":"3+ Schlafzimmer","short_label":"3"},{"value":4,"active":false,"label":"4+ Schlafzimmer","short_label":"4"},{"value":5,"active":false,"label":"5+ Schlafzimmer","short_label":"5"},{"value":6,"active":false,"label":"6+ Schlafzimmer","short_label":"6"},{"value":7,"active":false,"label":"7+ Schlafzimmer","short_label":"7"},{"value":8,"active":false,"label":"8+ Schlafzimmer","short_label":"8"},{"value":9,"active":false,"label":"9+ Schlafzimmer","short_label":"9"},{"value":10,"active":false,"label":"10+ Schlafzimmer","short_label":"10"}],"activeLabel":"Beliebig","label":"Schlafzimmer"},"bathrooms":{"name":"bathrooms","active":true,"activeValue":1,"defaultValue":1,"options":[{"value":1,"active":true,"label":"1 Badezimmer","short_label":"1"},{"value":2,"active":false,"label":"2+ Badezimmer","short_label":"2"},{"value":3,"active":false,"label":"3+ Badezimmer","short_label":"3"},{"value":4,"active":false,"label":"4+ Badezimmer","short_label":"4"},{"value":5,"active":false,"label":"5+ Badezimmer","short_label":"5"},{"value":6,"active":false,"label":"6+ Badezimmer","short_label":"6"}],"label":"Badezimmer","activeLabel":"1 Badezimmer"}},"children_ages":{"children_ages":{"name":"children_ages","active":false,"activeValue":[],"defaultValue":[],"options":[{"value":0,"active":false,"label":"Unter 1"},{"value":1,"active":false,"label":"1 Jahr"},{"value":2,"active":false,"label":"2 Jahre"},{"value":3,"active":false,"label":"3 Jahre"},{"value":4,"active":false,"label":"4 Jahre"},{"value":5,"active":false,"label":"5 Jahre"},{"value":6,"active":false,"label":"6 Jahre"},{"value":7,"active":false,"label":"7 Jahre"},{"value":8,"active":false,"label":"8 Jahre"},{"value":9,"active":false,"label":"9 Jahre"},{"value":10,"active":false,"label":"10 Jahre"},{"value":11,"active":false,"label":"11 Jahre"},{"value":12,"active":false,"label":"12 Jahre"},{"value":13,"active":false,"label":"13 Jahre"},{"value":14,"active":false,"label":"14 Jahre"},{"value":15,"active":false,"label":"15 Jahre"},{"value":16,"active":false,"label":"16 Jahre"},{"value":17,"active":false,"label":"17 Jahre"}],"label":"Alter des Kindes"}},"discounts":{"discounts":{"active":false,"activeValue":0,"name":"discounts"}},"geoBounds":{"mapFilter":{"active":false}},"destination_navigation":{"breadcrumbs":{"nodes":[{"id":"5460aea910151","label":"Schweiz","link":{"duration":7,"location":"5460aea910151","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"632d3fb65adbe","label":"Heidiland","link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}}]},"sublocations":{"nodes":[{"id":"5aeb9da50d89a","label":"Sarganserland","link":{"duration":7,"location":"5aeb9da50d89a","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adf91d892","label":"Flums","link":{"duration":7,"location":"5460adf91d892","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"56fcfcdfd3abc","label":"Quarten","link":{"duration":7,"location":"56fcfcdfd3abc","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adf3e0581","label":"Bad Ragaz","link":{"duration":7,"location":"5460adf3e0581","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460aea91fb4e","label":"Amden","link":{"duration":7,"location":"5460aea91fb4e","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"539066811dd24","label":"Flumserberg Bergheim","link":{"duration":7,"location":"539066811dd24","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adfaee83f","label":"Filzbach","link":{"duration":7,"location":"5460adfaee83f","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adf9153c2","label":"Walenstadt","link":{"duration":7,"location":"5460adf9153c2","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adf917ad0","label":"Sargans","link":{"duration":7,"location":"5460adf917ad0","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5d5eead1207f5","label":"Flumserberg Tannenbodenalp","link":{"duration":7,"location":"5d5eead1207f5","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5aeb9df8ed918","label":"Fl\u00e4sch","link":{"duration":7,"location":"5aeb9df8ed918","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}},{"id":"5460adf916748","label":"Obstalden","link":{"duration":7,"location":"5460adf916748","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"}}]}},"awayFromCityCenter":{"awayFromCityCenter":{"active":false,"hidden":false}},"boostFilter":{"boostFilter":{"active":false}},"extendedRangeOptions":{"toWater":{"title":"Entfernung zum Wasser","active":false,"name":"toWater","fieldName":"toWater","options":[{"label":"Beliebig","active":true,"value":null},{"label":"Max. 200 m","active":false,"value":1},{"label":"Max. 500 m","active":false,"value":2},{"label":"Max. 1 km","active":false,"value":3},{"label":"Max. 5 km","active":false,"value":4}],"label":"Wasser","hidden":false,"showInOffer":true},"toSki":{"title":"Entfernung zum Skigebiet","active":false,"name":"toSki","fieldName":"toSki","options":[{"label":"Beliebig","active":true,"value":null},{"label":"Max. 200 m","active":false,"value":1},{"label":"Max. 500 m","active":false,"value":2},{"label":"Max. 1 km","active":false,"value":3},{"label":"Max. 5 km","active":false,"value":4},{"label":"Max. 10 km","active":false,"value":5}],"label":"Skigebiet","hidden":false,"showInOffer":true},"toCenter":{"title":"Entfernung zum Zentrum","active":false,"name":"toCenter","fieldName":"toCenter","options":[{"label":"Beliebig","active":true,"value":null},{"label":"Max. 500 m","active":false,"value":1},{"label":"Max. 1 km","active":false,"value":2},{"label":"Max. 2 km","active":false,"value":3},{"label":"Max. 5 km","active":false,"value":4}],"label":"Zentrum","hidden":true,"showInOffer":true},"toLocation":{"title":"Entfernung zu deinem Standort","active":false,"fieldName":"toLocation","distanceType":[{"type":"distance","label":"Entfernung","active":true},{"type":"time","label":"Zeit","active":false}],"locationTitle":"St. Gallen","locationId":"569818a68eddf","from":{"lon":9.3696,"lat":47.4234},"maxDistance":0,"minDistance":0,"distanceRange":{"minFieldName":"fromLocation","maxFieldName":"toLocation","min":0,"max":500,"activeMin":0,"activeMax":500,"step":50},"timeRange":{"minFieldName":"fromLocation","maxFieldName":"toLocation","min":0,"max":5,"activeMin":0,"activeMax":5,"step":0.5},"distanceUnit":"km","distanceUnitLabel":"km","hidden":false,"showInOffer":true}},"rangeOptions":{"rating":{"title":"Bewertung","active":false,"name":"rating","fieldName":"rating","baseUrl":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"},"options":[{"label":"4,5+","active":false,"value":4.5,"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","rating":5}},{"label":"4+","active":false,"value":4,"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","rating":4}},{"label":"3,5+","active":false,"value":3.5,"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","rating":3}},{"label":"3+","active":false,"value":3,"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","rating":2}},{"label":"Beliebig","active":true,"value":1,"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","rating":1}}],"activeValue":{"key":1,"from":0.01,"to":null,"title":"Beliebig","shortTitle":"no_label.v2"},"activeLabel":"Beliebig","resetActiveLabel":"Beliebig","label":"Bewertung","hidden":false,"showInOffer":true}},"reset":{"reset":{"count":305,"grandTotal":0,"totalLocationCount":305,"totalFilteredCount":305},"resetPrimary":{"link":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":0,"adults":0,"pricetype":"totalPrice","bedrooms":0},"isActive":true}},"sort":{"sortingOptionType":{"name":"sot","active":false,"activeValue":null,"label":"Sortieren nach","options":[{"label":"Beliebtheit","value":"default","active":true},{"label":"Bestes Angebot","value":"best_value","active":false}]}},"priceRange":{"price":{"name":"price","minName":"minPricePerNight","maxName":"maxPricePerNight","active":false,"sliderRanges":{"min":[8.707222426764066,1],"1%":[9.674691585293406,5],"75%":[483.7345792646703,5],"90%":[725.6018688970054,10],"max":[967.4691585293406]},"sliderLabel":"CHF %d - CHF %d","sliderMinLabel":"Ab CHF %d","sliderMaxLabel":"Bis CHF %d","values":{"min":8,"max":967,"minPrice":8,"maxPrice":967,"currency":"CHF"},"priceType":[{"type":"perNight","label":"pro Nacht","rate":1,"active":false},{"type":"totalPrice","label":"f\u00fcr 7 N\u00e4chte","rate":7,"active":true}],"label":"filter.price","showFullPrice":false,"activeLabel":"Ab CHF 60"}},"pagerFilter":{"pager":{"active":false,"baseLink":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"},"nextPageLink":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice","page":1},"isFirstPage":true,"isLastPage":true,"countPerPage":300,"currentPage":1,"from":1,"to":300,"post":null}},"chain_id":{"chainId":{"active":false}},"pinboardFilter":{"pinboard":{"active":false}},"priceOptions":{"free_cancellation":{"active":false,"activeValue":null,"name":"freeCancellation","label":"Kostenlose Stornierung","description":"Es werden nur Angebote mit kostenloser Stornierung angezeigt","available":true},"refund_percent":{"activeValue":null,"available":true}},"tags":{"andTags":{"active":false},"orTags":{"active":false}},"live_search_filter":{"live_search":{"liveSearchTokens":[]}},"seoTags":{"seoTags":{"active":false}},"data":{"data":{"adSense":{"primary":"Heidiland Ferienwohnung","secondary":"Heidiland Ferienhaus 1 Person","inline":"Heidiland Ferienwohnung 1 Person"}}}},"activeFilters":[],"trackingContexts":{"context-search":{"schema":"iglu:com.hometogo\/context-search\/jsonschema\/3-16-0","data":{"adults":1,"bathrooms":1,"bedrooms":0,"dateRange":"2024-03-20~2025-02-28","duration":7,"groupedResults":168,"isMapFiltered":false,"isNear":false,"location":"Schweiz\/Heidiland","locationId":"632d3fb65adbe","locationIds":["5460aea910151","632d3fb65adbe"],"nextSearchId":"e5b93547e2201c11","persons":1,"priceType":"totalPrice","queryId":"99e6cb8cef181a5e","results":305,"screen":"search","searchId":"d151191a3dcbcdcc","tags":["rs_r_twelve_months","rs_d_1_week"],"vertical":"VR"}},"context-search-segment":{"schema":"iglu:com.hometogo\/context-search-segment\/jsonschema\/1-0-1","data":{"requestId":"3be2aa3e-35b3-4109-a01e-6459928f50ba"}}},"searchSummary":{"totalCountRaw":168,"totalCount":"168","totalCountLabel":"168 Optionen verf\u00fcgbar","locationCountRaw":5,"titlePage":"Ferienwohnungen \u0026 Ferienh\u00e4user Heidiland G\u00fcnstig Mieten | e-domizil","seoHeading":"168 Optionen verf\u00fcgbar"},"analyticsSnowPlow":{"content":"Start\/Search","search":{"adults":1,"bathrooms":1,"bedrooms":0,"dateRange":"2024-03-20~2025-02-28","duration":7,"groupedResults":168,"isMapFiltered":false,"isNear":false,"location":"Schweiz\/Heidiland","locationId":"632d3fb65adbe","locationIds":["5460aea910151","632d3fb65adbe"],"nextSearchId":"e5b93547e2201c11","persons":1,"priceType":"totalPrice","queryId":"99e6cb8cef181a5e","results":305,"screen":"search","searchId":"d151191a3dcbcdcc","tags":["rs_r_twelve_months","rs_d_1_week"],"vertical":"VR"},"settings":{"schemas":{"altSearch":"iglu:com.hometogo\/context-alt-search\/jsonschema\/1-5-2","autocomplete":"iglu:com.hometogo\/event-autocomplete\/jsonschema\/1-1-1","autocompleterSuggestions":"iglu:com.hometogo\/context-autocompleter-suggestions\/jsonschema\/1-0-0","contextJm":"iglu:com.hometogo\/context-jm\/jsonschema\/1-0-0","conversion":"iglu:com.hometogo\/event-conversion\/jsonschema\/2-0-0","discount":"iglu:com.hometogo\/context-discount\/jsonschema\/1-0-0","endOfSerpResults":"iglu:com.hometogo\/event-end-of-serp-results\/jsonschema\/1-0-0","eventGeneric":"iglu:com.hometogo\/event-generic\/jsonschema\/1-1-0","eventImpression":"iglu:com.hometogo\/event-impression\/jsonschema\/1-0-0","global":"iglu:com.hometogo\/context-global\/jsonschema\/1-7-0","inlineAd":"iglu:com.hometogo\/context-inline-ad\/jsonschema\/1-0-0","inlineAdConversion":"iglu:com.hometogo\/event-inline-ad-click\/jsonschema\/1-1-0","inlineAdImpression":"iglu:com.hometogo\/event-inline-ad-impression\/jsonschema\/1-0-0","inquirySlim":"iglu:com.hometogo\/event-slim-inquiry\/jsonschema\/1-0-0","localization":"iglu:com.hometogo\/context-localization\/jsonschema\/1-0-0","offer":"iglu:com.hometogo\/context-offer\/jsonschema\/2-8-1","offerCard":"iglu:com.hometogo\/event-offer-card\/jsonschema\/1-0-0","offerImpression":"iglu:com.hometogo\/event-offer-impression\/jsonschema\/1-0-0","pageRendered":"iglu:com.hometogo\/event-page-rendered\/jsonschema\/2-1-0","performance":"iglu:com.hometogo\/event-performance\/jsonschema\/1-2-0","popunder":"iglu:com.hometogo\/event-popunder\/jsonschema\/1-1-0","pravCompare":"iglu:com.hometogo\/context-prav-compare\/jsonschema\/1-1-3","pravQuality":"iglu:com.hometogo\/event-prav-quality\/jsonschema\/1-1-2","priceAccuracy":"iglu:com.hometogo\/event-price-accuracy\/jsonschema\/1-0-1","propertyListing":"iglu:com.hometogo\/event-property-listing\/jsonschema\/1-0-0","resourcesLoaded":"iglu:com.hometogo\/event-resources-loaded\/jsonschema\/2-1-0","search":"iglu:com.hometogo\/context-search\/jsonschema\/3-15-0","searchEvent":"iglu:com.hometogo\/event-search\/jsonschema\/1-0-0","searchRendered":"iglu:com.hometogo\/event-search-rendered\/jsonschema\/2-0-0","searchSegment":"iglu:com.hometogo\/context-search-segment\/jsonschema\/1-0-0","section":"iglu:com.hometogo\/context-section\/jsonschema\/2-0-1","serpConversion":"iglu:com.hometogo\/event-serp-conversion\/jsonschema\/1-0-2","storyElement":"iglu:com.hometogo\/context-story-element\/jsonschema\/1-3-0","storyElementItem":"iglu:com.hometogo\/context-story-element-item\/jsonschema\/1-2-0","topSearchOffers":"iglu:com.hometogo\/context-top-search-offers\/jsonschema\/1-0-0","wishListContext":"iglu:com.hometogo\/context-wishlist\/jsonschema\/1-0-0"}},"channel":{"htgChannel":"sem"},"dmaCode":null,"searchSegment":{"requestId":"3be2aa3e-35b3-4109-a01e-6459928f50ba"}},"user":{"isSem":true,"isSemSingle":false,"isSemHotel":false,"isSeo":false,"isReturnUser":false,"isNative":false,"isEmail":false,"isDirect":false},"wishlist":null,"hotel":false,"dataCollectedTimestamp":"2024-03-20 07:19","showAlternativeSearch":true,"loadingOverlayLogos":{"large":["\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/64f1fd4a6932b.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/5ea842be87928.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/616996cef04e9.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/645ba8448d388.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/5bbf2fc698ce2.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/5ea8440edcb50.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/602e2af07f6e9.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/5a1417d2caf95.png","\/\/cdn.hometogo.net\/assets\/media\/pics\/216_90\/5d282e7bd6729.png"],"small":["https:\/\/www.e-domizil.ch\/images\/loading_overlay\/bookingCom_logo.png?v=1","https:\/\/www.e-domizil.ch\/images\/loading_overlay\/tripAdvisor_logo.png?v=1","https:\/\/www.e-domizil.ch\/images\/loading_overlay\/novasol_logo.png?v=1","https:\/\/www.e-domizil.ch\/images\/loading_overlay\/expedia_logo.png?v=1","https:\/\/www.e-domizil.ch\/images\/loading_overlay\/hotelsCom_logo.png?v=1","https:\/\/www.e-domizil.ch\/images\/loading_overlay\/eDomizil_logo.png?v=1"]},"topSuggestions":{"suggestions":[{"id":"5460aea910151","shortTitle":"Schweiz","shortHtmlTitle":"Schweiz","fullTitle":"Schweiz","htmlTitle":"Schweiz","trail":"","meta":[],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"},{"id":"5460aeabb0c5d","shortTitle":"Tessin","shortHtmlTitle":"Tessin","fullTitle":"Tessin","htmlTitle":"Tessin","trail":"","meta":[],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"},{"id":"5460aeae078f7","shortTitle":"Italien","shortHtmlTitle":"Italien","fullTitle":"Italien","htmlTitle":"Italien","trail":"","meta":[],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"},{"id":"5460aeb1b0bf2","shortTitle":"Frankreich","shortHtmlTitle":"Frankreich","fullTitle":"Frankreich","htmlTitle":"Frankreich","trail":"","meta":[],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"},{"id":"5460aed2a9a7a","shortTitle":"Sardinien","shortHtmlTitle":"Sardinien","fullTitle":"Sardinien","htmlTitle":"Sardinien","trail":"Italien","meta":["Italien"],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"},{"id":"5460aeae487f8","shortTitle":"Spanien","shortHtmlTitle":"Spanien","fullTitle":"Spanien","htmlTitle":"Spanien","trail":"","meta":[],"parent":null,"searchParams":{"id":null,"gpid":null},"suggestionTitle":"autocomplete","price":"1","count":"1","type":"destination"}],"isOfferId":false,"responseId":null},"debugData":{},"stateLink":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"},"stateLinkForCookie":{"duration":7,"location":"632d3fb65adbe","dateRange":"2024-03-20~2025-02-28","persons":1,"adults":1,"pricetype":"totalPrice"},"liveSearchTokens":[],"totalRaw":305,"requestId":"3be2aa3e-35b3-4109-a01e-6459928f50ba"} \ No newline at end of file diff --git a/scraper/resources/css/app.css b/scraper/resources/css/app.css new file mode 100644 index 0000000..e69de29 diff --git a/scraper/resources/js/app.js b/scraper/resources/js/app.js new file mode 100644 index 0000000..e59d6a0 --- /dev/null +++ b/scraper/resources/js/app.js @@ -0,0 +1 @@ +import './bootstrap'; diff --git a/scraper/resources/js/bootstrap.js b/scraper/resources/js/bootstrap.js new file mode 100644 index 0000000..5f1390b --- /dev/null +++ b/scraper/resources/js/bootstrap.js @@ -0,0 +1,4 @@ +import axios from 'axios'; +window.axios = axios; + +window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; diff --git a/scraper/resources/views/welcome.blade.php b/scraper/resources/views/welcome.blade.php new file mode 100644 index 0000000..abe98dc --- /dev/null +++ b/scraper/resources/views/welcome.blade.php @@ -0,0 +1,172 @@ + + + + + + + Laravel + + + + + + + + + + + + diff --git a/scraper/routes/console.php b/scraper/routes/console.php new file mode 100644 index 0000000..a02c23f --- /dev/null +++ b/scraper/routes/console.php @@ -0,0 +1,8 @@ +daily(); \ No newline at end of file diff --git a/scraper/routes/web.php b/scraper/routes/web.php new file mode 100644 index 0000000..18e576f --- /dev/null +++ b/scraper/routes/web.php @@ -0,0 +1,16 @@ +get('/'); + + $response->assertStatus(200); + } +} diff --git a/scraper/tests/TestCase.php b/scraper/tests/TestCase.php new file mode 100644 index 0000000..fe1ffc2 --- /dev/null +++ b/scraper/tests/TestCase.php @@ -0,0 +1,10 @@ +assertTrue(true); + } +} diff --git a/scraper/vite.config.js b/scraper/vite.config.js new file mode 100644 index 0000000..421b569 --- /dev/null +++ b/scraper/vite.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; + +export default defineConfig({ + plugins: [ + laravel({ + input: ['resources/css/app.css', 'resources/js/app.js'], + refresh: true, + }), + ], +});