diff --git a/vendor/aliyuncs/oss-sdk-php/build-phar.sh b/vendor/aliyuncs/oss-sdk-php/build-phar.sh
old mode 100755
new mode 100644
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 90f0880f8..b43db8758 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
-return ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad::getLoader();
+return ComposerAutoloaderInite11d5d0f579f9ff8739edc30bb4f8f32::getLoader();
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index a750b2486..1d267a20c 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -101,13 +101,11 @@ return array(
'Qiniu\\Storage\\ResumeUploader' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php',
'Qiniu\\Storage\\UploadManager' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php',
'Qiniu\\Zone' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/Zone.php',
- 'Symfony\\Component\\OptionsResolver\\Debug\\OptionsResolverIntrospector' => $vendorDir . '/symfony/options-resolver/Debug/OptionsResolverIntrospector.php',
'Symfony\\Component\\OptionsResolver\\Exception\\AccessException' => $vendorDir . '/symfony/options-resolver/Exception/AccessException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/options-resolver/Exception/ExceptionInterface.php',
'Symfony\\Component\\OptionsResolver\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/options-resolver/Exception/InvalidArgumentException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\InvalidOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/InvalidOptionsException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\MissingOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/MissingOptionsException.php',
- 'Symfony\\Component\\OptionsResolver\\Exception\\NoConfigurationException' => $vendorDir . '/symfony/options-resolver/Exception/NoConfigurationException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\NoSuchOptionException' => $vendorDir . '/symfony/options-resolver/Exception/NoSuchOptionException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\OptionDefinitionException' => $vendorDir . '/symfony/options-resolver/Exception/OptionDefinitionException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\UndefinedOptionsException' => $vendorDir . '/symfony/options-resolver/Exception/UndefinedOptionsException.php',
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 0e9b94c3f..4aed4751e 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad
+class ComposerAutoloaderInite11d5d0f579f9ff8739edc30bb4f8f32
{
private static $loader;
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad
return self::$loader;
}
- spl_autoload_register(array('ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad', 'loadClassLoader'), true, true);
+ spl_autoload_register(array('ComposerAutoloaderInite11d5d0f579f9ff8739edc30bb4f8f32', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
- spl_autoload_unregister(array('ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInite11d5d0f579f9ff8739edc30bb4f8f32', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
- call_user_func(\Composer\Autoload\ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad::getInitializer($loader));
+ call_user_func(\Composer\Autoload\ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInitb638b5638d156ef1335e2a3a226be4ad
$loader->register(true);
if ($useStaticLoader) {
- $includeFiles = Composer\Autoload\ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad::$files;
+ $includeFiles = Composer\Autoload\ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
- composerRequireb638b5638d156ef1335e2a3a226be4ad($fileIdentifier, $file);
+ composerRequiree11d5d0f579f9ff8739edc30bb4f8f32($fileIdentifier, $file);
}
return $loader;
}
}
-function composerRequireb638b5638d156ef1335e2a3a226be4ad($fileIdentifier, $file)
+function composerRequiree11d5d0f579f9ff8739edc30bb4f8f32($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 02cf3f224..3e32647b7 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
namespace Composer\Autoload;
-class ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad
+class ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32
{
public static $files = array (
'1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php',
@@ -179,13 +179,11 @@ class ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad
'Qiniu\\Storage\\ResumeUploader' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php',
'Qiniu\\Storage\\UploadManager' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php',
'Qiniu\\Zone' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/Zone.php',
- 'Symfony\\Component\\OptionsResolver\\Debug\\OptionsResolverIntrospector' => __DIR__ . '/..' . '/symfony/options-resolver/Debug/OptionsResolverIntrospector.php',
'Symfony\\Component\\OptionsResolver\\Exception\\AccessException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/AccessException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/ExceptionInterface.php',
'Symfony\\Component\\OptionsResolver\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/InvalidArgumentException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\InvalidOptionsException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/InvalidOptionsException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\MissingOptionsException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/MissingOptionsException.php',
- 'Symfony\\Component\\OptionsResolver\\Exception\\NoConfigurationException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/NoConfigurationException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\NoSuchOptionException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/NoSuchOptionException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\OptionDefinitionException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/OptionDefinitionException.php',
'Symfony\\Component\\OptionsResolver\\Exception\\UndefinedOptionsException' => __DIR__ . '/..' . '/symfony/options-resolver/Exception/UndefinedOptionsException.php',
@@ -258,9 +256,9 @@ class ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad::$prefixDirsPsr4;
- $loader->classMap = ComposerStaticInitb638b5638d156ef1335e2a3a226be4ad::$classMap;
+ $loader->prefixLengthsPsr4 = ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInite11d5d0f579f9ff8739edc30bb4f8f32::$classMap;
}, null, ClassLoader::class);
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 3b331147b..15e38b73b 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -269,27 +269,27 @@
},
{
"name": "symfony/options-resolver",
- "version": "v3.4.8",
- "version_normalized": "3.4.8.0",
+ "version": "v3.3.6",
+ "version_normalized": "3.3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e"
+ "reference": "ff48982d295bcac1fd861f934f041ebc73ae40f0"
},
"dist": {
"type": "zip",
- "url": "https://files.phpcomposer.com/files/symfony/options-resolver/f3109a6aedd20e35c3a33190e932c2b063b7b50e.zip",
- "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e",
+ "url": "https://files.phpcomposer.com/files/symfony/options-resolver/ff48982d295bcac1fd861f934f041ebc73ae40f0.zip",
+ "reference": "ff48982d295bcac1fd861f934f041ebc73ae40f0",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8"
+ "php": ">=5.5.9"
},
- "time": "2018-01-11T07:56:07+00:00",
+ "time": "2017-04-12T14:14:56+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.4-dev"
+ "dev-master": "3.3-dev"
}
},
"installation-source": "dist",
diff --git a/vendor/endroid/qr-code/.travis.yml b/vendor/endroid/qr-code/.travis.yml
index 9233d9aa1..de30ea6f7 100644
--- a/vendor/endroid/qr-code/.travis.yml
+++ b/vendor/endroid/qr-code/.travis.yml
@@ -1,21 +1,21 @@
-language: php
-
-php:
- - 5.4
- - 5.5
- - 5.6
- - 7.0
- - 7.1
- - hhvm
-
-matrix:
- fast_finish: true
-
-before_install:
- - if [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi;
- - composer self-update && composer install --no-interaction
-
-script: bin/phpunit
-
-notifications:
- email: info@endroid.nl
+language: php
+
+php:
+ - 5.4
+ - 5.5
+ - 5.6
+ - 7.0
+ - 7.1
+ - hhvm
+
+matrix:
+ fast_finish: true
+
+before_install:
+ - if [[ "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then phpenv config-rm xdebug.ini; fi;
+ - composer self-update && composer install --no-interaction
+
+script: bin/phpunit
+
+notifications:
+ email: info@endroid.nl
diff --git a/vendor/endroid/qr-code/README.md b/vendor/endroid/qr-code/README.md
index c4fcf39a7..2c51a989f 100644
--- a/vendor/endroid/qr-code/README.md
+++ b/vendor/endroid/qr-code/README.md
@@ -1,132 +1,132 @@
-QR Code
-=======
-
-*By [endroid](http://endroid.nl/)*
-
-[](https://packagist.org/packages/endroid/qrcode)
-[](http://travis-ci.org/endroid/QrCode)
-[](https://packagist.org/packages/endroid/qrcode)
-[](https://packagist.org/packages/endroid/qrcode)
-[](https://packagist.org/packages/endroid/qrcode)
-
-This library based on QRcode Perl CGI & PHP scripts by Y. Swetake helps you generate images containing a QR code.
-
-## Installation
-
-Use [Composer](https://getcomposer.org/) to install the library.
-
-``` bash
-$ composer require endroid/qrcode
-```
-
-## Usage
-
-```php
-use Endroid\QrCode\QrCode;
-
-$qrCode = new QrCode();
-$qrCode
- ->setText('Life is too short to be generating QR codes')
- ->setSize(300)
- ->setPadding(10)
- ->setErrorCorrection('high')
- ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0])
- ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0])
- ->setLabel('Scan the code')
- ->setLabelFontSize(16)
- ->setImageType(QrCode::IMAGE_TYPE_PNG)
-;
-
-// now we can directly output the qrcode
-header('Content-Type: '.$qrCode->getContentType());
-$qrCode->render();
-
-// save it to a file
-$qrCode->save('qrcode.png');
-
-// or create a response object
-$response = new Response($qrCode->get(), 200, ['Content-Type' => $qrCode->getContentType()]);
-```
-
-
-
-## Symfony integration
-
-Register the Symfony bundle in the kernel.
-
-```php
-// app/AppKernel.php
-
-public function registerBundles()
-{
- $bundles = [
- // ...
- new Endroid\QrCode\Bundle\EndroidQrCodeBundle(),
- ];
-}
-```
-
-The default parameters can be overridden via the configuration.
-Alpha channel available range is [0, 127] in foreground and background colors.
-
-```yaml
-endroid_qr_code:
- size: 100
- padding: 10
- extension: gif
- error_correction_level: high
- foreground_color: { r: 0, g: 0, b: 0, a: 0 }
- background_color: { r: 255, g: 255, b: 255, a: 0 }
- label: 'My label'
- label_font_size: 16
-```
-
-Now you can retrieve the factory as follows.
-
-```php
-$factory = $this->get('endroid.qrcode.factory');
-$factory->createQrCode();
-```
-
-Add the following section to your routing to be able to handle QR code URLs.
-This step can be skipped when you only use data URIs to display your images.
-
-``` yml
-EndroidQrCodeBundle:
- resource: "@EndroidQrCodeBundle/Controller/"
- type: annotation
- prefix: /qrcode
-```
-
-After installation and configuration, QR codes can be generated by appending
-the QR code text to the url as mounted, followed by .png, .jpg or .gif.
-
-## Twig extension
-
-The bundle also provides a Twig extension for quickly generating QR code urls.
-Optional parameters are extension, size, padding and errorCorrectionLevel. When
-a parameter is omitted, the value in the bundle configuration is used.
-
-``` twig
-
-
-
-```
-
-You can also use the data URI helper to embed the QR code within your HTML
-instead of requiring a separate HTTP request to load your image.
-
-``` twig
-
-```
-
-## Versioning
-
-Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatibility
-breaking changes will be kept to a minimum but be aware that these can occur.
-Lock your dependencies for production and test your code when upgrading.
-
-## License
-
-This bundle is under the MIT license. For the full copyright and license
-information please view the LICENSE file that was distributed with this source code.
+QR Code
+=======
+
+*By [endroid](http://endroid.nl/)*
+
+[](https://packagist.org/packages/endroid/qrcode)
+[](http://travis-ci.org/endroid/QrCode)
+[](https://packagist.org/packages/endroid/qrcode)
+[](https://packagist.org/packages/endroid/qrcode)
+[](https://packagist.org/packages/endroid/qrcode)
+
+This library based on QRcode Perl CGI & PHP scripts by Y. Swetake helps you generate images containing a QR code.
+
+## Installation
+
+Use [Composer](https://getcomposer.org/) to install the library.
+
+``` bash
+$ composer require endroid/qrcode
+```
+
+## Usage
+
+```php
+use Endroid\QrCode\QrCode;
+
+$qrCode = new QrCode();
+$qrCode
+ ->setText('Life is too short to be generating QR codes')
+ ->setSize(300)
+ ->setPadding(10)
+ ->setErrorCorrection('high')
+ ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0])
+ ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0])
+ ->setLabel('Scan the code')
+ ->setLabelFontSize(16)
+ ->setImageType(QrCode::IMAGE_TYPE_PNG)
+;
+
+// now we can directly output the qrcode
+header('Content-Type: '.$qrCode->getContentType());
+$qrCode->render();
+
+// save it to a file
+$qrCode->save('qrcode.png');
+
+// or create a response object
+$response = new Response($qrCode->get(), 200, ['Content-Type' => $qrCode->getContentType()]);
+```
+
+
+
+## Symfony integration
+
+Register the Symfony bundle in the kernel.
+
+```php
+// app/AppKernel.php
+
+public function registerBundles()
+{
+ $bundles = [
+ // ...
+ new Endroid\QrCode\Bundle\EndroidQrCodeBundle(),
+ ];
+}
+```
+
+The default parameters can be overridden via the configuration.
+Alpha channel available range is [0, 127] in foreground and background colors.
+
+```yaml
+endroid_qr_code:
+ size: 100
+ padding: 10
+ extension: gif
+ error_correction_level: high
+ foreground_color: { r: 0, g: 0, b: 0, a: 0 }
+ background_color: { r: 255, g: 255, b: 255, a: 0 }
+ label: 'My label'
+ label_font_size: 16
+```
+
+Now you can retrieve the factory as follows.
+
+```php
+$factory = $this->get('endroid.qrcode.factory');
+$factory->createQrCode();
+```
+
+Add the following section to your routing to be able to handle QR code URLs.
+This step can be skipped when you only use data URIs to display your images.
+
+``` yml
+EndroidQrCodeBundle:
+ resource: "@EndroidQrCodeBundle/Controller/"
+ type: annotation
+ prefix: /qrcode
+```
+
+After installation and configuration, QR codes can be generated by appending
+the QR code text to the url as mounted, followed by .png, .jpg or .gif.
+
+## Twig extension
+
+The bundle also provides a Twig extension for quickly generating QR code urls.
+Optional parameters are extension, size, padding and errorCorrectionLevel. When
+a parameter is omitted, the value in the bundle configuration is used.
+
+``` twig
+
+
+
+```
+
+You can also use the data URI helper to embed the QR code within your HTML
+instead of requiring a separate HTTP request to load your image.
+
+``` twig
+
+```
+
+## Versioning
+
+Version numbers follow the MAJOR.MINOR.PATCH scheme. Backwards compatibility
+breaking changes will be kept to a minimum but be aware that these can occur.
+Lock your dependencies for production and test your code when upgrading.
+
+## License
+
+This bundle is under the MIT license. For the full copyright and license
+information please view the LICENSE file that was distributed with this source code.
diff --git a/vendor/endroid/qr-code/assets/data/qrv10_0.dat b/vendor/endroid/qr-code/assets/data/qrv10_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv10_1.dat b/vendor/endroid/qr-code/assets/data/qrv10_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv10_2.dat b/vendor/endroid/qr-code/assets/data/qrv10_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv10_3.dat b/vendor/endroid/qr-code/assets/data/qrv10_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv11_0.dat b/vendor/endroid/qr-code/assets/data/qrv11_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv11_1.dat b/vendor/endroid/qr-code/assets/data/qrv11_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv11_2.dat b/vendor/endroid/qr-code/assets/data/qrv11_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv11_3.dat b/vendor/endroid/qr-code/assets/data/qrv11_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv12_0.dat b/vendor/endroid/qr-code/assets/data/qrv12_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv12_1.dat b/vendor/endroid/qr-code/assets/data/qrv12_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv12_2.dat b/vendor/endroid/qr-code/assets/data/qrv12_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv12_3.dat b/vendor/endroid/qr-code/assets/data/qrv12_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv13_0.dat b/vendor/endroid/qr-code/assets/data/qrv13_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv13_1.dat b/vendor/endroid/qr-code/assets/data/qrv13_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv13_2.dat b/vendor/endroid/qr-code/assets/data/qrv13_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv13_3.dat b/vendor/endroid/qr-code/assets/data/qrv13_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv14_0.dat b/vendor/endroid/qr-code/assets/data/qrv14_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv14_1.dat b/vendor/endroid/qr-code/assets/data/qrv14_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv14_2.dat b/vendor/endroid/qr-code/assets/data/qrv14_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv14_3.dat b/vendor/endroid/qr-code/assets/data/qrv14_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv15_0.dat b/vendor/endroid/qr-code/assets/data/qrv15_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv15_1.dat b/vendor/endroid/qr-code/assets/data/qrv15_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv15_2.dat b/vendor/endroid/qr-code/assets/data/qrv15_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv15_3.dat b/vendor/endroid/qr-code/assets/data/qrv15_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv16_0.dat b/vendor/endroid/qr-code/assets/data/qrv16_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv16_1.dat b/vendor/endroid/qr-code/assets/data/qrv16_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv16_2.dat b/vendor/endroid/qr-code/assets/data/qrv16_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv16_3.dat b/vendor/endroid/qr-code/assets/data/qrv16_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv17_0.dat b/vendor/endroid/qr-code/assets/data/qrv17_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv17_1.dat b/vendor/endroid/qr-code/assets/data/qrv17_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv17_2.dat b/vendor/endroid/qr-code/assets/data/qrv17_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv17_3.dat b/vendor/endroid/qr-code/assets/data/qrv17_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv18_0.dat b/vendor/endroid/qr-code/assets/data/qrv18_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv18_1.dat b/vendor/endroid/qr-code/assets/data/qrv18_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv18_2.dat b/vendor/endroid/qr-code/assets/data/qrv18_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv18_3.dat b/vendor/endroid/qr-code/assets/data/qrv18_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv19_0.dat b/vendor/endroid/qr-code/assets/data/qrv19_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv19_1.dat b/vendor/endroid/qr-code/assets/data/qrv19_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv19_2.dat b/vendor/endroid/qr-code/assets/data/qrv19_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv19_3.dat b/vendor/endroid/qr-code/assets/data/qrv19_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv1_0.dat b/vendor/endroid/qr-code/assets/data/qrv1_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv1_1.dat b/vendor/endroid/qr-code/assets/data/qrv1_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv1_2.dat b/vendor/endroid/qr-code/assets/data/qrv1_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv1_3.dat b/vendor/endroid/qr-code/assets/data/qrv1_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv20_0.dat b/vendor/endroid/qr-code/assets/data/qrv20_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv20_1.dat b/vendor/endroid/qr-code/assets/data/qrv20_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv20_2.dat b/vendor/endroid/qr-code/assets/data/qrv20_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv20_3.dat b/vendor/endroid/qr-code/assets/data/qrv20_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv21_0.dat b/vendor/endroid/qr-code/assets/data/qrv21_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv21_1.dat b/vendor/endroid/qr-code/assets/data/qrv21_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv21_2.dat b/vendor/endroid/qr-code/assets/data/qrv21_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv21_3.dat b/vendor/endroid/qr-code/assets/data/qrv21_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv22_0.dat b/vendor/endroid/qr-code/assets/data/qrv22_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv22_1.dat b/vendor/endroid/qr-code/assets/data/qrv22_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv22_2.dat b/vendor/endroid/qr-code/assets/data/qrv22_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv22_3.dat b/vendor/endroid/qr-code/assets/data/qrv22_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv23_0.dat b/vendor/endroid/qr-code/assets/data/qrv23_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv23_1.dat b/vendor/endroid/qr-code/assets/data/qrv23_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv23_2.dat b/vendor/endroid/qr-code/assets/data/qrv23_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv23_3.dat b/vendor/endroid/qr-code/assets/data/qrv23_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv24_0.dat b/vendor/endroid/qr-code/assets/data/qrv24_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv24_1.dat b/vendor/endroid/qr-code/assets/data/qrv24_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv24_2.dat b/vendor/endroid/qr-code/assets/data/qrv24_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv24_3.dat b/vendor/endroid/qr-code/assets/data/qrv24_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv25_0.dat b/vendor/endroid/qr-code/assets/data/qrv25_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv25_1.dat b/vendor/endroid/qr-code/assets/data/qrv25_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv25_2.dat b/vendor/endroid/qr-code/assets/data/qrv25_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv25_3.dat b/vendor/endroid/qr-code/assets/data/qrv25_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv26_0.dat b/vendor/endroid/qr-code/assets/data/qrv26_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv26_1.dat b/vendor/endroid/qr-code/assets/data/qrv26_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv26_2.dat b/vendor/endroid/qr-code/assets/data/qrv26_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv26_3.dat b/vendor/endroid/qr-code/assets/data/qrv26_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv27_0.dat b/vendor/endroid/qr-code/assets/data/qrv27_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv27_1.dat b/vendor/endroid/qr-code/assets/data/qrv27_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv27_2.dat b/vendor/endroid/qr-code/assets/data/qrv27_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv27_3.dat b/vendor/endroid/qr-code/assets/data/qrv27_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv28_0.dat b/vendor/endroid/qr-code/assets/data/qrv28_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv28_1.dat b/vendor/endroid/qr-code/assets/data/qrv28_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv28_2.dat b/vendor/endroid/qr-code/assets/data/qrv28_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv28_3.dat b/vendor/endroid/qr-code/assets/data/qrv28_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv29_0.dat b/vendor/endroid/qr-code/assets/data/qrv29_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv29_1.dat b/vendor/endroid/qr-code/assets/data/qrv29_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv29_2.dat b/vendor/endroid/qr-code/assets/data/qrv29_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv29_3.dat b/vendor/endroid/qr-code/assets/data/qrv29_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv2_0.dat b/vendor/endroid/qr-code/assets/data/qrv2_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv2_1.dat b/vendor/endroid/qr-code/assets/data/qrv2_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv2_2.dat b/vendor/endroid/qr-code/assets/data/qrv2_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv2_3.dat b/vendor/endroid/qr-code/assets/data/qrv2_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv30_0.dat b/vendor/endroid/qr-code/assets/data/qrv30_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv30_1.dat b/vendor/endroid/qr-code/assets/data/qrv30_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv30_2.dat b/vendor/endroid/qr-code/assets/data/qrv30_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv30_3.dat b/vendor/endroid/qr-code/assets/data/qrv30_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv31_0.dat b/vendor/endroid/qr-code/assets/data/qrv31_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv31_1.dat b/vendor/endroid/qr-code/assets/data/qrv31_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv31_2.dat b/vendor/endroid/qr-code/assets/data/qrv31_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv31_3.dat b/vendor/endroid/qr-code/assets/data/qrv31_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv32_0.dat b/vendor/endroid/qr-code/assets/data/qrv32_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv32_1.dat b/vendor/endroid/qr-code/assets/data/qrv32_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv32_2.dat b/vendor/endroid/qr-code/assets/data/qrv32_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv32_3.dat b/vendor/endroid/qr-code/assets/data/qrv32_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv33_0.dat b/vendor/endroid/qr-code/assets/data/qrv33_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv33_1.dat b/vendor/endroid/qr-code/assets/data/qrv33_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv33_2.dat b/vendor/endroid/qr-code/assets/data/qrv33_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv33_3.dat b/vendor/endroid/qr-code/assets/data/qrv33_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv34_0.dat b/vendor/endroid/qr-code/assets/data/qrv34_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv34_1.dat b/vendor/endroid/qr-code/assets/data/qrv34_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv34_2.dat b/vendor/endroid/qr-code/assets/data/qrv34_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv34_3.dat b/vendor/endroid/qr-code/assets/data/qrv34_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv35_0.dat b/vendor/endroid/qr-code/assets/data/qrv35_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv35_1.dat b/vendor/endroid/qr-code/assets/data/qrv35_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv35_2.dat b/vendor/endroid/qr-code/assets/data/qrv35_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv35_3.dat b/vendor/endroid/qr-code/assets/data/qrv35_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv36_0.dat b/vendor/endroid/qr-code/assets/data/qrv36_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv36_1.dat b/vendor/endroid/qr-code/assets/data/qrv36_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv36_2.dat b/vendor/endroid/qr-code/assets/data/qrv36_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv36_3.dat b/vendor/endroid/qr-code/assets/data/qrv36_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv37_0.dat b/vendor/endroid/qr-code/assets/data/qrv37_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv37_1.dat b/vendor/endroid/qr-code/assets/data/qrv37_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv37_2.dat b/vendor/endroid/qr-code/assets/data/qrv37_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv37_3.dat b/vendor/endroid/qr-code/assets/data/qrv37_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv38_0.dat b/vendor/endroid/qr-code/assets/data/qrv38_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv38_1.dat b/vendor/endroid/qr-code/assets/data/qrv38_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv38_2.dat b/vendor/endroid/qr-code/assets/data/qrv38_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv38_3.dat b/vendor/endroid/qr-code/assets/data/qrv38_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv39_0.dat b/vendor/endroid/qr-code/assets/data/qrv39_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv39_1.dat b/vendor/endroid/qr-code/assets/data/qrv39_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv39_2.dat b/vendor/endroid/qr-code/assets/data/qrv39_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv39_3.dat b/vendor/endroid/qr-code/assets/data/qrv39_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv3_0.dat b/vendor/endroid/qr-code/assets/data/qrv3_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv3_1.dat b/vendor/endroid/qr-code/assets/data/qrv3_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv3_2.dat b/vendor/endroid/qr-code/assets/data/qrv3_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv3_3.dat b/vendor/endroid/qr-code/assets/data/qrv3_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv40_0.dat b/vendor/endroid/qr-code/assets/data/qrv40_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv40_1.dat b/vendor/endroid/qr-code/assets/data/qrv40_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv40_2.dat b/vendor/endroid/qr-code/assets/data/qrv40_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv40_3.dat b/vendor/endroid/qr-code/assets/data/qrv40_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv4_0.dat b/vendor/endroid/qr-code/assets/data/qrv4_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv4_1.dat b/vendor/endroid/qr-code/assets/data/qrv4_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv4_2.dat b/vendor/endroid/qr-code/assets/data/qrv4_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv4_3.dat b/vendor/endroid/qr-code/assets/data/qrv4_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv5_0.dat b/vendor/endroid/qr-code/assets/data/qrv5_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv5_1.dat b/vendor/endroid/qr-code/assets/data/qrv5_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv5_2.dat b/vendor/endroid/qr-code/assets/data/qrv5_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv5_3.dat b/vendor/endroid/qr-code/assets/data/qrv5_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv6_0.dat b/vendor/endroid/qr-code/assets/data/qrv6_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv6_1.dat b/vendor/endroid/qr-code/assets/data/qrv6_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv6_2.dat b/vendor/endroid/qr-code/assets/data/qrv6_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv6_3.dat b/vendor/endroid/qr-code/assets/data/qrv6_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv7_0.dat b/vendor/endroid/qr-code/assets/data/qrv7_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv7_1.dat b/vendor/endroid/qr-code/assets/data/qrv7_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv7_2.dat b/vendor/endroid/qr-code/assets/data/qrv7_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv7_3.dat b/vendor/endroid/qr-code/assets/data/qrv7_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv8_0.dat b/vendor/endroid/qr-code/assets/data/qrv8_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv8_1.dat b/vendor/endroid/qr-code/assets/data/qrv8_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv8_2.dat b/vendor/endroid/qr-code/assets/data/qrv8_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv8_3.dat b/vendor/endroid/qr-code/assets/data/qrv8_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv9_0.dat b/vendor/endroid/qr-code/assets/data/qrv9_0.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv9_1.dat b/vendor/endroid/qr-code/assets/data/qrv9_1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv9_2.dat b/vendor/endroid/qr-code/assets/data/qrv9_2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrv9_3.dat b/vendor/endroid/qr-code/assets/data/qrv9_3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr1.dat b/vendor/endroid/qr-code/assets/data/qrvfr1.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr10.dat b/vendor/endroid/qr-code/assets/data/qrvfr10.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr11.dat b/vendor/endroid/qr-code/assets/data/qrvfr11.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr12.dat b/vendor/endroid/qr-code/assets/data/qrvfr12.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr13.dat b/vendor/endroid/qr-code/assets/data/qrvfr13.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr14.dat b/vendor/endroid/qr-code/assets/data/qrvfr14.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr15.dat b/vendor/endroid/qr-code/assets/data/qrvfr15.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr16.dat b/vendor/endroid/qr-code/assets/data/qrvfr16.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr17.dat b/vendor/endroid/qr-code/assets/data/qrvfr17.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr18.dat b/vendor/endroid/qr-code/assets/data/qrvfr18.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr19.dat b/vendor/endroid/qr-code/assets/data/qrvfr19.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr2.dat b/vendor/endroid/qr-code/assets/data/qrvfr2.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr20.dat b/vendor/endroid/qr-code/assets/data/qrvfr20.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr21.dat b/vendor/endroid/qr-code/assets/data/qrvfr21.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr22.dat b/vendor/endroid/qr-code/assets/data/qrvfr22.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr23.dat b/vendor/endroid/qr-code/assets/data/qrvfr23.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr24.dat b/vendor/endroid/qr-code/assets/data/qrvfr24.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr25.dat b/vendor/endroid/qr-code/assets/data/qrvfr25.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr26.dat b/vendor/endroid/qr-code/assets/data/qrvfr26.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr27.dat b/vendor/endroid/qr-code/assets/data/qrvfr27.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr28.dat b/vendor/endroid/qr-code/assets/data/qrvfr28.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr29.dat b/vendor/endroid/qr-code/assets/data/qrvfr29.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr3.dat b/vendor/endroid/qr-code/assets/data/qrvfr3.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr30.dat b/vendor/endroid/qr-code/assets/data/qrvfr30.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr31.dat b/vendor/endroid/qr-code/assets/data/qrvfr31.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr32.dat b/vendor/endroid/qr-code/assets/data/qrvfr32.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr33.dat b/vendor/endroid/qr-code/assets/data/qrvfr33.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr34.dat b/vendor/endroid/qr-code/assets/data/qrvfr34.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr35.dat b/vendor/endroid/qr-code/assets/data/qrvfr35.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr36.dat b/vendor/endroid/qr-code/assets/data/qrvfr36.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr37.dat b/vendor/endroid/qr-code/assets/data/qrvfr37.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr38.dat b/vendor/endroid/qr-code/assets/data/qrvfr38.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr39.dat b/vendor/endroid/qr-code/assets/data/qrvfr39.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr4.dat b/vendor/endroid/qr-code/assets/data/qrvfr4.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr40.dat b/vendor/endroid/qr-code/assets/data/qrvfr40.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr5.dat b/vendor/endroid/qr-code/assets/data/qrvfr5.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr6.dat b/vendor/endroid/qr-code/assets/data/qrvfr6.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr7.dat b/vendor/endroid/qr-code/assets/data/qrvfr7.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr8.dat b/vendor/endroid/qr-code/assets/data/qrvfr8.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/qrvfr9.dat b/vendor/endroid/qr-code/assets/data/qrvfr9.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc10.dat b/vendor/endroid/qr-code/assets/data/rsc10.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc13.dat b/vendor/endroid/qr-code/assets/data/rsc13.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc15.dat b/vendor/endroid/qr-code/assets/data/rsc15.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc16.dat b/vendor/endroid/qr-code/assets/data/rsc16.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc17.dat b/vendor/endroid/qr-code/assets/data/rsc17.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc18.dat b/vendor/endroid/qr-code/assets/data/rsc18.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc20.dat b/vendor/endroid/qr-code/assets/data/rsc20.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc22.dat b/vendor/endroid/qr-code/assets/data/rsc22.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc24.dat b/vendor/endroid/qr-code/assets/data/rsc24.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc26.dat b/vendor/endroid/qr-code/assets/data/rsc26.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc28.dat b/vendor/endroid/qr-code/assets/data/rsc28.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc30.dat b/vendor/endroid/qr-code/assets/data/rsc30.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc32.dat b/vendor/endroid/qr-code/assets/data/rsc32.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc34.dat b/vendor/endroid/qr-code/assets/data/rsc34.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc36.dat b/vendor/endroid/qr-code/assets/data/rsc36.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc40.dat b/vendor/endroid/qr-code/assets/data/rsc40.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc42.dat b/vendor/endroid/qr-code/assets/data/rsc42.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc44.dat b/vendor/endroid/qr-code/assets/data/rsc44.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc46.dat b/vendor/endroid/qr-code/assets/data/rsc46.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc48.dat b/vendor/endroid/qr-code/assets/data/rsc48.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc50.dat b/vendor/endroid/qr-code/assets/data/rsc50.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc52.dat b/vendor/endroid/qr-code/assets/data/rsc52.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc54.dat b/vendor/endroid/qr-code/assets/data/rsc54.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc56.dat b/vendor/endroid/qr-code/assets/data/rsc56.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc58.dat b/vendor/endroid/qr-code/assets/data/rsc58.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc60.dat b/vendor/endroid/qr-code/assets/data/rsc60.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc62.dat b/vendor/endroid/qr-code/assets/data/rsc62.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc64.dat b/vendor/endroid/qr-code/assets/data/rsc64.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc66.dat b/vendor/endroid/qr-code/assets/data/rsc66.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc68.dat b/vendor/endroid/qr-code/assets/data/rsc68.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/data/rsc7.dat b/vendor/endroid/qr-code/assets/data/rsc7.dat
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/font/opensans.ttf b/vendor/endroid/qr-code/assets/font/opensans.ttf
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/b.png b/vendor/endroid/qr-code/assets/image/b.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/d.png b/vendor/endroid/qr-code/assets/image/d.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/logo.png b/vendor/endroid/qr-code/assets/image/logo.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv1.png b/vendor/endroid/qr-code/assets/image/qrv1.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv10.png b/vendor/endroid/qr-code/assets/image/qrv10.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv11.png b/vendor/endroid/qr-code/assets/image/qrv11.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv12.png b/vendor/endroid/qr-code/assets/image/qrv12.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv13.png b/vendor/endroid/qr-code/assets/image/qrv13.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv14.png b/vendor/endroid/qr-code/assets/image/qrv14.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv15.png b/vendor/endroid/qr-code/assets/image/qrv15.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv16.png b/vendor/endroid/qr-code/assets/image/qrv16.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv17.png b/vendor/endroid/qr-code/assets/image/qrv17.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv18.png b/vendor/endroid/qr-code/assets/image/qrv18.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv19.png b/vendor/endroid/qr-code/assets/image/qrv19.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv2.png b/vendor/endroid/qr-code/assets/image/qrv2.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv20.png b/vendor/endroid/qr-code/assets/image/qrv20.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv21.png b/vendor/endroid/qr-code/assets/image/qrv21.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv22.png b/vendor/endroid/qr-code/assets/image/qrv22.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv23.png b/vendor/endroid/qr-code/assets/image/qrv23.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv24.png b/vendor/endroid/qr-code/assets/image/qrv24.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv25.png b/vendor/endroid/qr-code/assets/image/qrv25.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv26.png b/vendor/endroid/qr-code/assets/image/qrv26.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv27.png b/vendor/endroid/qr-code/assets/image/qrv27.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv28.png b/vendor/endroid/qr-code/assets/image/qrv28.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv29.png b/vendor/endroid/qr-code/assets/image/qrv29.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv3.png b/vendor/endroid/qr-code/assets/image/qrv3.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv30.png b/vendor/endroid/qr-code/assets/image/qrv30.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv31.png b/vendor/endroid/qr-code/assets/image/qrv31.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv32.png b/vendor/endroid/qr-code/assets/image/qrv32.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv33.png b/vendor/endroid/qr-code/assets/image/qrv33.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv34.png b/vendor/endroid/qr-code/assets/image/qrv34.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv35.png b/vendor/endroid/qr-code/assets/image/qrv35.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv36.png b/vendor/endroid/qr-code/assets/image/qrv36.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv37.png b/vendor/endroid/qr-code/assets/image/qrv37.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv38.png b/vendor/endroid/qr-code/assets/image/qrv38.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv39.png b/vendor/endroid/qr-code/assets/image/qrv39.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv4.png b/vendor/endroid/qr-code/assets/image/qrv4.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv40.png b/vendor/endroid/qr-code/assets/image/qrv40.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv5.png b/vendor/endroid/qr-code/assets/image/qrv5.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv6.png b/vendor/endroid/qr-code/assets/image/qrv6.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv7.png b/vendor/endroid/qr-code/assets/image/qrv7.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv8.png b/vendor/endroid/qr-code/assets/image/qrv8.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/assets/image/qrv9.png b/vendor/endroid/qr-code/assets/image/qrv9.png
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/composer.json b/vendor/endroid/qr-code/composer.json
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Bundle/Controller/QrCodeController.php b/vendor/endroid/qr-code/src/Bundle/Controller/QrCodeController.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php b/vendor/endroid/qr-code/src/Bundle/DependencyInjection/Configuration.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Bundle/Resources/config/services.yml b/vendor/endroid/qr-code/src/Bundle/Resources/config/services.yml
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Bundle/Twig/Extension/QrCodeExtension.php b/vendor/endroid/qr-code/src/Bundle/Twig/Extension/QrCodeExtension.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/DataDoesntExistsException.php b/vendor/endroid/qr-code/src/Exceptions/DataDoesntExistsException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/FreeTypeLibraryMissingException.php b/vendor/endroid/qr-code/src/Exceptions/FreeTypeLibraryMissingException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageFunctionFailedException.php b/vendor/endroid/qr-code/src/Exceptions/ImageFunctionFailedException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageFunctionUnknownException.php b/vendor/endroid/qr-code/src/Exceptions/ImageFunctionUnknownException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageSizeTooLargeException.php b/vendor/endroid/qr-code/src/Exceptions/ImageSizeTooLargeException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/ImageTypeInvalidException.php b/vendor/endroid/qr-code/src/Exceptions/ImageTypeInvalidException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/Exceptions/VersionTooLargeException.php b/vendor/endroid/qr-code/src/Exceptions/VersionTooLargeException.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/src/QrCode.php b/vendor/endroid/qr-code/src/QrCode.php
old mode 100755
new mode 100644
diff --git a/vendor/endroid/qr-code/tests/QrCodeTest.php b/vendor/endroid/qr-code/tests/QrCodeTest.php
old mode 100755
new mode 100644
diff --git a/vendor/qiniu/php-sdk/test-env.sh b/vendor/qiniu/php-sdk/test-env.sh
old mode 100755
new mode 100644
diff --git a/vendor/symfony/options-resolver/CHANGELOG.md b/vendor/symfony/options-resolver/CHANGELOG.md
index 6e9d49fb6..5f6d15b2c 100644
--- a/vendor/symfony/options-resolver/CHANGELOG.md
+++ b/vendor/symfony/options-resolver/CHANGELOG.md
@@ -1,12 +1,6 @@
CHANGELOG
=========
-3.4.0
------
-
- * added `OptionsResolverIntrospector` to inspect options definitions inside an `OptionsResolver` instance
- * added array of types support in allowed types (e.g int[])
-
2.6.0
-----
@@ -31,7 +25,7 @@ CHANGELOG
* deprecated OptionsResolver::isKnown() in favor of isDefined()
* [BC BREAK] OptionsResolver::isRequired() returns true now if a required
option has a default value set
- * [BC BREAK] merged Options into OptionsResolver and turned Options into an
+ * [BC BREAK] merged Options into OptionsResolver and turned Options into an
interface
* deprecated Options::overload() (now in OptionsResolver)
* deprecated Options::set() (now in OptionsResolver)
@@ -42,7 +36,7 @@ CHANGELOG
lazy option/normalizer closures now
* [BC BREAK] removed Traversable interface from Options since using within
lazy option/normalizer closures resulted in exceptions
- * [BC BREAK] removed Options::all() since using within lazy option/normalizer
+ * [BC BREAK] removed Options::all() since using within lazy option/normalizer
closures resulted in exceptions
* [BC BREAK] OptionDefinitionException now extends LogicException instead of
RuntimeException
diff --git a/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php b/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php
deleted file mode 100644
index 60317243e..000000000
--- a/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php
+++ /dev/null
@@ -1,102 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\OptionsResolver\Debug;
-
-use Symfony\Component\OptionsResolver\Exception\NoConfigurationException;
-use Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException;
-use Symfony\Component\OptionsResolver\OptionsResolver;
-
-/**
- * @author Maxime Steinhausser
- *
- * @final
- */
-class OptionsResolverIntrospector
-{
- private $get;
-
- public function __construct(OptionsResolver $optionsResolver)
- {
- $this->get = \Closure::bind(function ($property, $option, $message) {
- /** @var OptionsResolver $this */
- if (!$this->isDefined($option)) {
- throw new UndefinedOptionsException(sprintf('The option "%s" does not exist.', $option));
- }
-
- if (!array_key_exists($option, $this->{$property})) {
- throw new NoConfigurationException($message);
- }
-
- return $this->{$property}[$option];
- }, $optionsResolver, $optionsResolver);
- }
-
- /**
- * @param string $option
- *
- * @return mixed
- *
- * @throws NoConfigurationException on no configured value
- */
- public function getDefault($option)
- {
- return call_user_func($this->get, 'defaults', $option, sprintf('No default value was set for the "%s" option.', $option));
- }
-
- /**
- * @param string $option
- *
- * @return \Closure[]
- *
- * @throws NoConfigurationException on no configured closures
- */
- public function getLazyClosures($option)
- {
- return call_user_func($this->get, 'lazy', $option, sprintf('No lazy closures were set for the "%s" option.', $option));
- }
-
- /**
- * @param string $option
- *
- * @return string[]
- *
- * @throws NoConfigurationException on no configured types
- */
- public function getAllowedTypes($option)
- {
- return call_user_func($this->get, 'allowedTypes', $option, sprintf('No allowed types were set for the "%s" option.', $option));
- }
-
- /**
- * @param string $option
- *
- * @return mixed[]
- *
- * @throws NoConfigurationException on no configured values
- */
- public function getAllowedValues($option)
- {
- return call_user_func($this->get, 'allowedValues', $option, sprintf('No allowed values were set for the "%s" option.', $option));
- }
-
- /**
- * @param string $option
- *
- * @return \Closure
- *
- * @throws NoConfigurationException on no configured normalizer
- */
- public function getNormalizer($option)
- {
- return call_user_func($this->get, 'normalizers', $option, sprintf('No normalizer was set for the "%s" option.', $option));
- }
-}
diff --git a/vendor/symfony/options-resolver/Exception/NoConfigurationException.php b/vendor/symfony/options-resolver/Exception/NoConfigurationException.php
deleted file mode 100644
index 6693ec14d..000000000
--- a/vendor/symfony/options-resolver/Exception/NoConfigurationException.php
+++ /dev/null
@@ -1,26 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\OptionsResolver\Exception;
-
-use Symfony\Component\OptionsResolver\Debug\OptionsResolverIntrospector;
-
-/**
- * Thrown when trying to introspect an option definition property
- * for which no value was configured inside the OptionsResolver instance.
- *
- * @see OptionsResolverIntrospector
- *
- * @author Maxime Steinhausser
- */
-class NoConfigurationException extends \RuntimeException implements ExceptionInterface
-{
-}
diff --git a/vendor/symfony/options-resolver/LICENSE b/vendor/symfony/options-resolver/LICENSE
index 21d7fb9e2..17d16a133 100644
--- a/vendor/symfony/options-resolver/LICENSE
+++ b/vendor/symfony/options-resolver/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2018 Fabien Potencier
+Copyright (c) 2004-2017 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/symfony/options-resolver/OptionsResolver.php b/vendor/symfony/options-resolver/OptionsResolver.php
index 95a492de9..32ac5663f 100644
--- a/vendor/symfony/options-resolver/OptionsResolver.php
+++ b/vendor/symfony/options-resolver/OptionsResolver.php
@@ -28,21 +28,29 @@ class OptionsResolver implements Options
{
/**
* The names of all defined options.
+ *
+ * @var array
*/
private $defined = array();
/**
* The default option values.
+ *
+ * @var array
*/
private $defaults = array();
/**
* The names of required options.
+ *
+ * @var array
*/
private $required = array();
/**
* The resolved option values.
+ *
+ * @var array
*/
private $resolved = array();
@@ -55,16 +63,22 @@ class OptionsResolver implements Options
/**
* A list of accepted values for each option.
+ *
+ * @var array
*/
private $allowedValues = array();
/**
* A list of accepted types for each option.
+ *
+ * @var array
*/
private $allowedTypes = array();
/**
* A list of closures for evaluating lazy options.
+ *
+ * @var array
*/
private $lazy = array();
@@ -72,6 +86,8 @@ class OptionsResolver implements Options
* A list of lazy options whose closure is currently being called.
*
* This list helps detecting circular dependencies between lazy options.
+ *
+ * @var array
*/
private $calling = array();
@@ -82,6 +98,8 @@ class OptionsResolver implements Options
* necessary in order to avoid inconsistencies during the resolving
* process. If any option is changed after being read, all evaluated
* lazy options that depend on this option would become invalid.
+ *
+ * @var bool
*/
private $locked = false;
@@ -774,12 +792,21 @@ class OptionsResolver implements Options
// Validate the type of the resolved option
if (isset($this->allowedTypes[$option])) {
$valid = false;
- $invalidTypes = array();
foreach ($this->allowedTypes[$option] as $type) {
$type = isset(self::$typeAliases[$type]) ? self::$typeAliases[$type] : $type;
- if ($valid = $this->verifyTypes($type, $value, $invalidTypes)) {
+ if (function_exists($isFunction = 'is_'.$type)) {
+ if ($isFunction($value)) {
+ $valid = true;
+ break;
+ }
+
+ continue;
+ }
+
+ if ($value instanceof $type) {
+ $valid = true;
break;
}
}
@@ -791,7 +818,7 @@ class OptionsResolver implements Options
$option,
$this->formatValue($value),
implode('" or "', $this->allowedTypes[$option]),
- implode('|', array_keys($invalidTypes))
+ $this->formatTypeOf($value)
));
}
}
@@ -868,45 +895,6 @@ class OptionsResolver implements Options
return $value;
}
- /**
- * @param string $type
- * @param mixed $value
- * @param array &$invalidTypes
- *
- * @return bool
- */
- private function verifyTypes($type, $value, array &$invalidTypes)
- {
- if ('[]' === substr($type, -2) && is_array($value)) {
- $originalType = $type;
- $type = substr($type, 0, -2);
- $invalidValues = array_filter( // Filter out valid values, keeping invalid values in the resulting array
- $value,
- function ($value) use ($type) {
- return !self::isValueValidType($type, $value);
- }
- );
-
- if (!$invalidValues) {
- return true;
- }
-
- $invalidTypes[$this->formatTypeOf($value, $originalType)] = true;
-
- return false;
- }
-
- if (self::isValueValidType($type, $value)) {
- return true;
- }
-
- if (!$invalidTypes) {
- $invalidTypes[$this->formatTypeOf($value, null)] = true;
- }
-
- return false;
- }
-
/**
* Returns whether a resolved option with the given name exists.
*
@@ -975,38 +963,13 @@ class OptionsResolver implements Options
* parameters should usually not be included in messages aimed at
* non-technical people.
*
- * @param mixed $value The value to return the type of
- * @param string $type
+ * @param mixed $value The value to return the type of
*
* @return string The type of the value
*/
- private function formatTypeOf($value, $type)
+ private function formatTypeOf($value)
{
- $suffix = '';
-
- if ('[]' === substr($type, -2)) {
- $suffix = '[]';
- $type = substr($type, 0, -2);
- while ('[]' === substr($type, -2)) {
- $type = substr($type, 0, -2);
- $value = array_shift($value);
- if (!is_array($value)) {
- break;
- }
- $suffix .= '[]';
- }
-
- if (is_array($value)) {
- $subTypes = array();
- foreach ($value as $val) {
- $subTypes[$this->formatTypeOf($val, null)] = true;
- }
-
- return implode('|', array_keys($subTypes)).$suffix;
- }
- }
-
- return (is_object($value) ? get_class($value) : gettype($value)).$suffix;
+ return is_object($value) ? get_class($value) : gettype($value);
}
/**
@@ -1073,9 +1036,4 @@ class OptionsResolver implements Options
return implode(', ', $values);
}
-
- private static function isValueValidType($type, $value)
- {
- return (function_exists($isFunction = 'is_'.$type) && $isFunction($value)) || $value instanceof $type;
- }
}
diff --git a/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php b/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php
deleted file mode 100644
index 7c4753ab5..000000000
--- a/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php
+++ /dev/null
@@ -1,203 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\OptionsResolver\Tests\Debug;
-
-use PHPUnit\Framework\TestCase;
-use Symfony\Component\OptionsResolver\Debug\OptionsResolverIntrospector;
-use Symfony\Component\OptionsResolver\Options;
-use Symfony\Component\OptionsResolver\OptionsResolver;
-
-class OptionsResolverIntrospectorTest extends TestCase
-{
- public function testGetDefault()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefault($option = 'foo', 'bar');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getDefault($option));
- }
-
- public function testGetDefaultNull()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefault($option = 'foo', null);
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertNull($debug->getDefault($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException
- * @expectedExceptionMessage No default value was set for the "foo" option.
- */
- public function testGetDefaultThrowsOnNoConfiguredValue()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getDefault($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
- * @expectedExceptionMessage The option "foo" does not exist.
- */
- public function testGetDefaultThrowsOnNotDefinedOption()
- {
- $resolver = new OptionsResolver();
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getDefault('foo'));
- }
-
- public function testGetLazyClosures()
- {
- $resolver = new OptionsResolver();
- $closures = array();
- $resolver->setDefault($option = 'foo', $closures[] = function (Options $options) {});
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame($closures, $debug->getLazyClosures($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException
- * @expectedExceptionMessage No lazy closures were set for the "foo" option.
- */
- public function testGetLazyClosuresThrowsOnNoConfiguredValue()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getLazyClosures($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
- * @expectedExceptionMessage The option "foo" does not exist.
- */
- public function testGetLazyClosuresThrowsOnNotDefinedOption()
- {
- $resolver = new OptionsResolver();
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getLazyClosures('foo'));
- }
-
- public function testGetAllowedTypes()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
- $resolver->setAllowedTypes($option = 'foo', $allowedTypes = array('string', 'bool'));
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame($allowedTypes, $debug->getAllowedTypes($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException
- * @expectedExceptionMessage No allowed types were set for the "foo" option.
- */
- public function testGetAllowedTypesThrowsOnNoConfiguredValue()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getAllowedTypes($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
- * @expectedExceptionMessage The option "foo" does not exist.
- */
- public function testGetAllowedTypesThrowsOnNotDefinedOption()
- {
- $resolver = new OptionsResolver();
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getAllowedTypes('foo'));
- }
-
- public function testGetAllowedValues()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
- $resolver->setAllowedValues($option = 'foo', $allowedValues = array('bar', 'baz'));
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame($allowedValues, $debug->getAllowedValues($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException
- * @expectedExceptionMessage No allowed values were set for the "foo" option.
- */
- public function testGetAllowedValuesThrowsOnNoConfiguredValue()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getAllowedValues($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
- * @expectedExceptionMessage The option "foo" does not exist.
- */
- public function testGetAllowedValuesThrowsOnNotDefinedOption()
- {
- $resolver = new OptionsResolver();
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getAllowedValues('foo'));
- }
-
- public function testGetNormalizer()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
- $resolver->setNormalizer($option = 'foo', $normalizer = function () {});
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame($normalizer, $debug->getNormalizer($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException
- * @expectedExceptionMessage No normalizer was set for the "foo" option.
- */
- public function testGetNormalizerThrowsOnNoConfiguredValue()
- {
- $resolver = new OptionsResolver();
- $resolver->setDefined($option = 'foo');
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getNormalizer($option));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
- * @expectedExceptionMessage The option "foo" does not exist.
- */
- public function testGetNormalizerThrowsOnNotDefinedOption()
- {
- $resolver = new OptionsResolver();
-
- $debug = new OptionsResolverIntrospector($resolver);
- $this->assertSame('bar', $debug->getNormalizer('foo'));
- }
-}
diff --git a/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php b/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php
index 440af8b57..d09dece33 100644
--- a/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php
+++ b/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php
@@ -486,15 +486,6 @@ class OptionsResolverTest extends TestCase
$this->resolver->setAllowedTypes('foo', 'string');
}
- public function testResolveTypedArray()
- {
- $this->resolver->setDefined('foo');
- $this->resolver->setAllowedTypes('foo', 'string[]');
- $options = $this->resolver->resolve(array('foo' => array('bar', 'baz')));
-
- $this->assertSame(array('foo' => array('bar', 'baz')), $options);
- }
-
/**
* @expectedException \Symfony\Component\OptionsResolver\Exception\AccessException
*/
@@ -509,65 +500,6 @@ class OptionsResolverTest extends TestCase
$this->resolver->resolve();
}
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
- * @expectedExceptionMessage The option "foo" with value array is expected to be of type "int[]", but is of type "DateTime[]".
- */
- public function testResolveFailsIfInvalidTypedArray()
- {
- $this->resolver->setDefined('foo');
- $this->resolver->setAllowedTypes('foo', 'int[]');
-
- $this->resolver->resolve(array('foo' => array(new \DateTime())));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
- * @expectedExceptionMessage The option "foo" with value "bar" is expected to be of type "int[]", but is of type "string".
- */
- public function testResolveFailsWithNonArray()
- {
- $this->resolver->setDefined('foo');
- $this->resolver->setAllowedTypes('foo', 'int[]');
-
- $this->resolver->resolve(array('foo' => 'bar'));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
- * @expectedExceptionMessage The option "foo" with value array is expected to be of type "int[]", but is of type "integer|stdClass|array|DateTime[]".
- */
- public function testResolveFailsIfTypedArrayContainsInvalidTypes()
- {
- $this->resolver->setDefined('foo');
- $this->resolver->setAllowedTypes('foo', 'int[]');
- $values = range(1, 5);
- $values[] = new \stdClass();
- $values[] = array();
- $values[] = new \DateTime();
- $values[] = 123;
-
- $this->resolver->resolve(array('foo' => $values));
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
- * @expectedExceptionMessage The option "foo" with value array is expected to be of type "int[][]", but is of type "double[][]".
- */
- public function testResolveFailsWithCorrectLevelsButWrongScalar()
- {
- $this->resolver->setDefined('foo');
- $this->resolver->setAllowedTypes('foo', 'int[][]');
-
- $this->resolver->resolve(
- array(
- 'foo' => array(
- array(1.2),
- ),
- )
- );
- }
-
/**
* @dataProvider provideInvalidTypes
*/
@@ -636,32 +568,6 @@ class OptionsResolverTest extends TestCase
$this->assertNotEmpty($this->resolver->resolve());
}
- public function testResolveSucceedsIfTypedArray()
- {
- $this->resolver->setDefault('foo', null);
- $this->resolver->setAllowedTypes('foo', array('null', 'DateTime[]'));
-
- $data = array(
- 'foo' => array(
- new \DateTime(),
- new \DateTime(),
- ),
- );
- $result = $this->resolver->resolve($data);
- $this->assertEquals($data, $result);
- }
-
- /**
- * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
- */
- public function testResolveFailsIfNotInstanceOfClass()
- {
- $this->resolver->setDefault('foo', 'bar');
- $this->resolver->setAllowedTypes('foo', '\stdClass');
-
- $this->resolver->resolve();
- }
-
////////////////////////////////////////////////////////////////////////////
// addAllowedTypes()
////////////////////////////////////////////////////////////////////////////
@@ -1513,12 +1419,12 @@ class OptionsResolverTest extends TestCase
});
$this->resolver->setDefault('lazy2', function (Options $options) {
- Assert::assertArrayHasKey('default1', $options);
- Assert::assertArrayHasKey('default2', $options);
- Assert::assertArrayHasKey('required', $options);
- Assert::assertArrayHasKey('lazy1', $options);
- Assert::assertArrayHasKey('lazy2', $options);
- Assert::assertArrayNotHasKey('defined', $options);
+ Assert::assertTrue(isset($options['default1']));
+ Assert::assertTrue(isset($options['default2']));
+ Assert::assertTrue(isset($options['required']));
+ Assert::assertTrue(isset($options['lazy1']));
+ Assert::assertTrue(isset($options['lazy2']));
+ Assert::assertFalse(isset($options['defined']));
Assert::assertSame(0, $options['default1']);
Assert::assertSame(42, $options['default2']);
diff --git a/vendor/symfony/options-resolver/composer.json b/vendor/symfony/options-resolver/composer.json
index 895847ea5..a751730af 100644
--- a/vendor/symfony/options-resolver/composer.json
+++ b/vendor/symfony/options-resolver/composer.json
@@ -16,7 +16,7 @@
}
],
"require": {
- "php": "^5.5.9|>=7.0.8"
+ "php": ">=5.5.9"
},
"autoload": {
"psr-4": { "Symfony\\Component\\OptionsResolver\\": "" },
@@ -27,7 +27,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "3.4-dev"
+ "dev-master": "3.3-dev"
}
}
}
diff --git a/vendor/zoujingli/ip2region/README.md b/vendor/zoujingli/ip2region/README.md
index 2539ff694..dba1aab3b 100644
--- a/vendor/zoujingli/ip2region/README.md
+++ b/vendor/zoujingli/ip2region/README.md
@@ -1,50 +1,50 @@
-[](https://packagist.org/packages/zoujingli/ip2region)
-[](https://packagist.org/packages/zoujingli/ip2region)
-[](https://packagist.org/packages/zoujingli/ip2region)
-[](https://packagist.org/packages/zoujingli/ip2region)
-
-
-本库基于 [ip2region](https://github.com/lionsoul2014/ip2region) ,简单整合方便使用`composer`来管理。
---
-
-[ip2region](https://github.com/lionsoul2014/ip2region) - 最自由的ip地址查询库,ip到地区的映射库,提供Binary,B树和纯内存三种查询算法,妈妈再也不用担心我的ip地址定位。
-
-### 1. 99.9%准确率,定时更新:
-
-数据聚合了一些知名ip到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。
-每次聚合一下数据需要1-2天,会不定时更新。
-
-### 2. 标准化的数据格式:
-
-每条ip数据段都固定了格式:_城市Id|国家|区域|省份|城市|ISP_
-
-只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
-(请忽略前面的城市Id,个人项目需求)
-
-### 3. 体积小:
-
-数据库文件ip2region.db只有1.5M
-
-### Composer 安装
-
-```
-composer require zoujingli/ip2region
-```
-
-### ip2region 使用
-```php
-
-$ip2region = new Ip2Region();
-
-$ip = '101.105.35.57';
-
-$info = $ip2region->btreeSearch($ip);
-
-var_export($info, true);
-
-// array (
-// 'city_id' => 2163,
-// 'region' => '中国|华南|广东省|深圳市|鹏博士',
-// )
-
-```
+[](https://packagist.org/packages/zoujingli/ip2region)
+[](https://packagist.org/packages/zoujingli/ip2region)
+[](https://packagist.org/packages/zoujingli/ip2region)
+[](https://packagist.org/packages/zoujingli/ip2region)
+
+
+本库基于 [ip2region](https://github.com/lionsoul2014/ip2region) ,简单整合方便使用`composer`来管理。
+--
+
+[ip2region](https://github.com/lionsoul2014/ip2region) - 最自由的ip地址查询库,ip到地区的映射库,提供Binary,B树和纯内存三种查询算法,妈妈再也不用担心我的ip地址定位。
+
+### 1. 99.9%准确率,定时更新:
+
+数据聚合了一些知名ip到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。
+每次聚合一下数据需要1-2天,会不定时更新。
+
+### 2. 标准化的数据格式:
+
+每条ip数据段都固定了格式:_城市Id|国家|区域|省份|城市|ISP_
+
+只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
+(请忽略前面的城市Id,个人项目需求)
+
+### 3. 体积小:
+
+数据库文件ip2region.db只有1.5M
+
+### Composer 安装
+
+```
+composer require zoujingli/ip2region
+```
+
+### ip2region 使用
+```php
+
+$ip2region = new Ip2Region();
+
+$ip = '101.105.35.57';
+
+$info = $ip2region->btreeSearch($ip);
+
+var_export($info, true);
+
+// array (
+// 'city_id' => 2163,
+// 'region' => '中国|华南|广东省|深圳市|鹏博士',
+// )
+
+```
diff --git a/vendor/zoujingli/ip2region/test.php b/vendor/zoujingli/ip2region/test.php
index 2e97d7d14..45981c3db 100644
--- a/vendor/zoujingli/ip2region/test.php
+++ b/vendor/zoujingli/ip2region/test.php
@@ -1,15 +1,15 @@
-btreeSearch($ip);
-
-var_export($info, true);
-
-// array (
-// 'city_id' => 2163,
-// 'region' => '中国|华南|广东省|深圳市|鹏博士',
+btreeSearch($ip);
+
+var_export($info, true);
+
+// array (
+// 'city_id' => 2163,
+// 'region' => '中国|华南|广东省|深圳市|鹏博士',
// )
\ No newline at end of file