initial commit
@@ -0,0 +1,259 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
[function PositionToNumeric($string)]
|
||||||
|
|
||||||
|
Function to convert string to numeric array
|
||||||
|
|
||||||
|
[ARGUMENT]
|
||||||
|
function takes string as argument
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
->converts string to a numeric array , holding co-Ordinates in pure numeric form , without decimal and unncessary values
|
||||||
|
->it returns an ARRAY , NOT a STRING
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
function PositionToNumeric($string)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
$len=strlen($string);
|
||||||
|
$x=0;
|
||||||
|
$lat=[];
|
||||||
|
$idx=0;
|
||||||
|
|
||||||
|
while($len>$x){
|
||||||
|
if($string[$x]!='.')
|
||||||
|
$lat[$idx++]=$string[$x];
|
||||||
|
$x++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $lat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
[function dump_array($arr)]
|
||||||
|
prints the array in normal form , unlike PHP arr_dump() that shows index + some extra useless values!
|
||||||
|
|
||||||
|
[ARGUMENT]
|
||||||
|
Array variable
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
prints the array , NOTHING is RETURNED
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
function dump_array($arr)
|
||||||
|
{
|
||||||
|
for($x=0;$x<count($arr);$x++)
|
||||||
|
echo $arr[$x];
|
||||||
|
|
||||||
|
echo "<br>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
[function validCoordinates()]
|
||||||
|
|
||||||
|
A boolean value return function that takes 4 Co-Ordinates array
|
||||||
|
|
||||||
|
[ARGUMENTS]
|
||||||
|
--->latitudeA ---> latitude array of teacher
|
||||||
|
--->longitudeA ---> longitude array of teacher
|
||||||
|
|
||||||
|
--->latitudeB ---> longitude array of student
|
||||||
|
--->longitudeB ---> longitude array of student
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
if Co-ordinates of student and teacher are within bounds return true , else return false
|
||||||
|
|
||||||
|
[SIZE]
|
||||||
|
Each array is EXACTLY of size 9 units , that is index is from 0 --> 8
|
||||||
|
*/
|
||||||
|
|
||||||
|
function validCoordinates()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
[line_break();]
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
prints a new line
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function line_break()
|
||||||
|
{
|
||||||
|
echo "<br>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
[getQR(string)]
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
generates the corresponding QR of a given string
|
||||||
|
|
||||||
|
[ARGUMENT]
|
||||||
|
string is taken , as phpQRCODE library is used to generate the QR
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
function getQR($string)
|
||||||
|
{
|
||||||
|
include('lib/qrlib.php');
|
||||||
|
|
||||||
|
QRcode::png($string);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
[toStringArray]
|
||||||
|
function to convert array to string
|
||||||
|
|
||||||
|
[ARGUMENT]
|
||||||
|
string is passed
|
||||||
|
|
||||||
|
[RETURN VALUE]
|
||||||
|
a string is returned
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
function toStringfromArray($array)
|
||||||
|
{
|
||||||
|
$changed = implode("",$array);
|
||||||
|
return $changed;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function isPresent()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
[hashed($latitudeString)]
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
takes a string latitude in normal form , and return hasehd jumbled form
|
||||||
|
|
||||||
|
[RETURN]
|
||||||
|
returns a jumble string
|
||||||
|
*/
|
||||||
|
|
||||||
|
function hashed($latitudeString)
|
||||||
|
{
|
||||||
|
|
||||||
|
//include('functions.php');
|
||||||
|
$latitudeArray = PositionToNumeric($latitudeString);
|
||||||
|
|
||||||
|
$permutation=array(
|
||||||
|
array(0,0),
|
||||||
|
array(1,8),
|
||||||
|
array(2,4),
|
||||||
|
array(3,5),
|
||||||
|
array(4,6),
|
||||||
|
array(5,7),
|
||||||
|
array(6,1),
|
||||||
|
array(7,2),
|
||||||
|
array(8,3));
|
||||||
|
|
||||||
|
$jumbledLatitude;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for($x=0;$x<count($permutation);$x++)
|
||||||
|
$jumbledLatitude[$permutation[$x][0]]=$latitudeArray[$permutation[$x][1]];
|
||||||
|
|
||||||
|
$hashedLatitude = toStringfromArray($jumbledLatitude);
|
||||||
|
|
||||||
|
return $hashedLatitude;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
[deCrypt($latitudeString)]
|
||||||
|
|
||||||
|
[FUNCTION]
|
||||||
|
takes a hashed $latitudeString , deCrypt it to original form
|
||||||
|
|
||||||
|
[RETURN]
|
||||||
|
return a decrypted Array of latitude
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
function deCrypt($latitudeString)
|
||||||
|
{
|
||||||
|
|
||||||
|
$latitudeArray = PositionToNumeric($latitudeString);
|
||||||
|
|
||||||
|
$permutation=array(
|
||||||
|
array(0,0),
|
||||||
|
array(1,8),
|
||||||
|
array(2,4),
|
||||||
|
array(3,5),
|
||||||
|
array(4,6),
|
||||||
|
array(5,7),
|
||||||
|
array(6,1),
|
||||||
|
array(7,2),
|
||||||
|
array(8,3));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$unjumbledLatitude;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for($x=0;$x<count($permutation);$x++)
|
||||||
|
$unjumbledLatitude[$permutation[$x][1]]=$latitudeArray[$permutation[$x][0]];
|
||||||
|
|
||||||
|
|
||||||
|
return $unjumbledLatitude;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<h1>HTML Geolocation</h1>
|
||||||
|
<p>Click the button to get your coordinates.</p>
|
||||||
|
|
||||||
|
<button onclick="getLocation()">Try It</button>
|
||||||
|
|
||||||
|
<p id="demo"></p>
|
||||||
|
|
||||||
|
|
||||||
|
<form action="qr.php" method="post">
|
||||||
|
Latitude: <input type="text" name="latitude" id="lat"><br>
|
||||||
|
Longitude: <input type="text" name="longitude" id="long"><br>
|
||||||
|
<input type="submit" value="Attend">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const x = document.getElementById("demo");
|
||||||
|
const inplat = document.getElementById("lat");
|
||||||
|
const inplong = document.getElementById("long");
|
||||||
|
let lat;
|
||||||
|
let lon;
|
||||||
|
let fs = require('fs');
|
||||||
|
|
||||||
|
function getLocation() {
|
||||||
|
if (navigator.geolocation) {
|
||||||
|
navigator.geolocation.getCurrentPosition(showPosition);
|
||||||
|
} else {
|
||||||
|
x.innerHTML = "Geolocation is not supported by this browser.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showPosition(position) {
|
||||||
|
|
||||||
|
|
||||||
|
lat = position.coords.latitude;
|
||||||
|
lon = position.coords.longitude;
|
||||||
|
|
||||||
|
console.log("in showposition()")
|
||||||
|
|
||||||
|
x.innerHTML = "Latitude: " + lat +
|
||||||
|
"<br>Longitude: " + lon;
|
||||||
|
|
||||||
|
inplat.value = lat;
|
||||||
|
inplong.value = lon;
|
||||||
|
|
||||||
|
WriteToFile()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function WriteToFile() {
|
||||||
|
|
||||||
|
console.log("in WriteToFile()")
|
||||||
|
|
||||||
|
fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log('Saved!');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$dochtml = new DOMDocument();
|
||||||
|
$dochtml->loadHTMLFile("index.php.html");
|
||||||
|
|
||||||
|
|
||||||
|
$div = $dochtml->getElementById('div2')->nodeValue;
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<h1>HTML Geolocation</h1>
|
||||||
|
<p>Click the button to get your coordinates.</p>
|
||||||
|
|
||||||
|
<button onclick="getLocation()">Try It</button>
|
||||||
|
|
||||||
|
<p id="demo"></p>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const x = document.getElementById("demo");
|
||||||
|
|
||||||
|
function getLocation() {
|
||||||
|
if (navigator.geolocation) {
|
||||||
|
navigator.geolocation.getCurrentPosition(showPosition);
|
||||||
|
} else {
|
||||||
|
x.innerHTML = "Geolocation is not supported by this browser.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showPosition(position) {
|
||||||
|
x.innerHTML = "Latitude: " + position.coords.latitude +
|
||||||
|
"<br>Longitude: " + position.coords.longitude;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
* 1.0.0 build 2010031920
|
||||||
|
|
||||||
|
- first public release
|
||||||
|
- help in readme, install
|
||||||
|
- cleanup ans separation of QRtools and QRspec
|
||||||
|
- now TCPDF binding requires minimal changes in TCPDF, having most of job
|
||||||
|
done in QRtools tcpdfBarcodeArray
|
||||||
|
- nicer QRtools::timeBenchmark output
|
||||||
|
- license and copyright notices in files
|
||||||
|
- indent cleanup - from tab to 4spc, keep it that way please :)
|
||||||
|
- sf project, repository, wiki
|
||||||
|
- simple code generator in index.php
|
||||||
|
|
||||||
|
* 1.1.0 build 2010032113
|
||||||
|
|
||||||
|
- added merge tool wich generate merged version of code
|
||||||
|
located in phpqrcode.php
|
||||||
|
- splited qrconst.php from qrlib.php
|
||||||
|
|
||||||
|
* 1.1.1 build 2010032405
|
||||||
|
|
||||||
|
- patch by Rick Seymour allowing saving PNG and displaying it at the same time
|
||||||
|
- added version info in VERSION file
|
||||||
|
- modified merge tool to include version info into generated file
|
||||||
|
- fixed e-mail in almost all head comments
|
||||||
|
|
||||||
|
* 1.1.2 build 2010032722
|
||||||
|
|
||||||
|
- full integration with TCPDF thanks to Nicola Asuni, it's author
|
||||||
|
- fixed bug with alphanumeric encoding detection
|
||||||
|
|
||||||
|
* 1.1.3 build 2010081807
|
||||||
|
|
||||||
|
- short opening tags replaced with standard ones
|
||||||
|
|
||||||
|
* 1.1.4 build 2010100721
|
||||||
|
|
||||||
|
- added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC)
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
== REQUIREMENTS ==
|
||||||
|
|
||||||
|
* PHP5
|
||||||
|
* PHP GD2 extension with JPEG and PNG support
|
||||||
|
|
||||||
|
== INSTALLATION ==
|
||||||
|
|
||||||
|
If you want to recreate cache by yourself make sure cache directory is
|
||||||
|
writable and you have permisions to write into it. Also make sure you are
|
||||||
|
able to read files in it if you have cache option enabled
|
||||||
|
|
||||||
|
== CONFIGURATION ==
|
||||||
|
|
||||||
|
Feel free to modify config constants in qrconfig.php file. Read about it in
|
||||||
|
provided comments and project wiki page (links in README file)
|
||||||
|
|
||||||
|
== QUICK START ==
|
||||||
|
|
||||||
|
Notice: probably you should'nt use all of this in same script :)
|
||||||
|
|
||||||
|
<?phpb
|
||||||
|
|
||||||
|
//include only that one, rest required files will be included from it
|
||||||
|
include "qrlib.php"
|
||||||
|
|
||||||
|
//write code into file, Error corection lecer is lowest, L (one form: L,M,Q,H)
|
||||||
|
//each code square will be 4x4 pixels (4x zoom)
|
||||||
|
//code will have 2 code squares white boundary around
|
||||||
|
|
||||||
|
QRcode::png('PHP QR Code :)', 'test.png', 'L', 4, 2);
|
||||||
|
|
||||||
|
//same as above but outputs file directly into browser (with appr. header etc.)
|
||||||
|
//all other settings are default
|
||||||
|
//WARNING! it should be FIRST and ONLY output generated by script, otherwise
|
||||||
|
//rest of output will land inside PNG binary, breaking it for sure
|
||||||
|
QRcode::png('PHP QR Code :)');
|
||||||
|
|
||||||
|
//show benchmark
|
||||||
|
QRtools::timeBenchmark();
|
||||||
|
|
||||||
|
//rebuild cache
|
||||||
|
QRtools::buildCache();
|
||||||
|
|
||||||
|
//code generated in text mode - as a binary table
|
||||||
|
//then displayed out as HTML using Unicode block building chars :)
|
||||||
|
$tab = $qr->encode('PHP QR Code :)');
|
||||||
|
QRspec::debug($tab, true);
|
||||||
|
|
||||||
|
== TCPDF INTEGRATION ==
|
||||||
|
|
||||||
|
Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php.
|
||||||
|
Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge)
|
||||||
|
2dbarcodes.php
|
||||||
|
|
||||||
|
Then use similar as example #50 from TCPDF examples:
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$style = array(
|
||||||
|
'border' => true,
|
||||||
|
'padding' => 4,
|
||||||
|
'fgcolor' => array(0,0,0),
|
||||||
|
'bgcolor' => false, //array(255,255,255)
|
||||||
|
);
|
||||||
|
|
||||||
|
//code name: QR, specify error correction level after semicolon (L,M,Q,H)
|
||||||
|
$pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N');
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
This is PHP implementation of QR Code 2-D barcode generator. It is pure-php
|
||||||
|
LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi.
|
||||||
|
|
||||||
|
== LICENSING ==
|
||||||
|
|
||||||
|
Copyright (C) 2010 by Dominik Dzienia
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License as published by the Free
|
||||||
|
Software Foundation; either version 3 of the License, or any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file)
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
with this library; if not, write to the Free Software Foundation, Inc., 51
|
||||||
|
Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
== INSTALATION AND USAGE ==
|
||||||
|
|
||||||
|
* INSTALL file
|
||||||
|
* http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page
|
||||||
|
|
||||||
|
== CONTACT ==
|
||||||
|
|
||||||
|
Fell free to contact me via e-mail (deltalab at poczta dot fm) or using
|
||||||
|
folowing project pages:
|
||||||
|
|
||||||
|
* http://sourceforge.net/projects/phpqrcode/
|
||||||
|
* http://phpqrcode.sourceforge.net/
|
||||||
|
|
||||||
|
== ACKNOWLEDGMENTS ==
|
||||||
|
|
||||||
|
Based on C libqrencode library (ver. 3.1.1)
|
||||||
|
Copyright (C) 2006-2010 by Kentaro Fukuchi
|
||||||
|
http://megaui.net/fukuchi/works/qrencode/index.en.html
|
||||||
|
|
||||||
|
QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other
|
||||||
|
countries.
|
||||||
|
|
||||||
|
Reed-Solomon code encoder is written by Phil Karn, KA9Q.
|
||||||
|
Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
1.1.4
|
||||||
|
2010100721
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚ��Á
|
||||||
|
À E9³u��`³"PÅ„CÛ牗T!0$
|
||||||
|
After Width: | Height: | Size: 126 B |
|
After Width: | Height: | Size: 202 B |
|
After Width: | Height: | Size: 205 B |
|
After Width: | Height: | Size: 216 B |
|
After Width: | Height: | Size: 210 B |
|
After Width: | Height: | Size: 213 B |
|
After Width: | Height: | Size: 219 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚí™A„ E]sëIX´;¸Ün6€È`‚q”êêW6ñ奚`Œ%A/3!¢°‚¢Š!g–ÈÌ¡’1N)éE¢Ï|;®—>6â¸�Þ97$ëÄôëc]kkö�wé1Öü[·mCÍœcÊRºÄê¹>¦èµ¾šE,•hʼnp„#áxF�yWÏÇVWGçòÕ3¼Õ+шþàË“úSŽâ}Äž�#áG8b^c^cÏÀŽp„c&3YQ"ñŽ÷çÌvµù›…ñàÎþþ¼–¹kÞ9ŠÜ‡÷}”¹³ï×ú ¢Ä¿�QäÿL—/ÝÔÀÏ
|
||||||
|
After Width: | Height: | Size: 211 B |
|
After Width: | Height: | Size: 211 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xÚí™A
|
||||||
|
ƒ0E]çÖ…,2;sƒä&ÉÍšh¥ÛêO¡ôÝÈàã1&09OIv@DDÒÌ&§Ù‰K�XÈÕFv•<Ádqò9Ö<%h•¹Yïs!(d¥²ës;~||b(ÏøYůg#µ`œK ±S¼Åô¹Ä¶˜ùsàidß�Lg:Ó™Îtþ/gmª�™ƒkÅMâ3³{4rTÈQýÿe¥·s·>ó<Ó™Ît¦3�éÌ;ïH¼#Ñ™Ît¦3�ÍYœ+og©hù¶óµÙ½¬lnðûF>Øi^»#awm;gè~pÛgìNs{6z’‘»ãºïÞäp¾Ê'
|
||||||
|
After Width: | Height: | Size: 228 B |
@@ -0,0 +1,3 @@
|
|||||||
|
xÚíšA
|
||||||
|
Ä E»öÖ.ĚNo 7Ń›Ť¶iiRÚN2‹áW%đxÁ@ÚÚśę'
|
||||||
|
u�6×ę�.ť*S;}�«ŇĂ ĎTúčĚzrŤtąď%ç,ŇĹÚâÎ}ç;“âç)ąź�âÝZÚîLĺčą÷¬Pçç$Ż×÷ĎqËgśLÂôdJ‡;Üáw¸Ăý.]z#źľ«[Íť˝ďOg‚Ćô"ĐË áBíî¦}Ç}‡;Üáw¸Ăî�#1GbŽ„;Üáw¸Ăý_ÝC+w˘@Dfî÷ďç™uťř2™ĹÚÉNţű9R7|pWßkďű®ż“ßßkşöżşú»ĽÎÓ
|
||||||
|
After Width: | Height: | Size: 225 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚÍ’Í
|
||||||
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 225 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚíšA„ E]sëIX´;¹Ün6Up‚�“в™ÿ]Ù˜þ<i-eWö‹¶˜)×äÅ•¼ÉÂ…H\jvqÙHL\6–šÝÐ…rI›¢LܹÜÕ%ÅÓ@´þ±V—vÆÂúý¤(ÏP4|ÎXnÒgÉ�ß¼~]D¾ÉÕ×u1Us S\À°€,ÿÅ2Þ¢N§Ã?D›KºüF-:“eJ]p_À°€,˜a0Ã`†ÁÝXÀ°`†Áƒw,`X´]˜ˆ™‚¹‹˜°5‰®Y4{屿ñ2íûåvçJs†±Ûí9±˜í)õu±Û¹êÏØ,«]¸“‹Ù^_§7$ƒ_Í
|
||||||
|
After Width: | Height: | Size: 235 B |
@@ -0,0 +1,3 @@
|
|||||||
|
xÚíšA
|
||||||
|
„0E]{ë�.’]{{{³©Z¥BepÆÞwe@�V›ERZ3»Á"*2o€4¦y‰)i#dÒbdFÒ…´ŒI"ú‘—4ž½WIíuŠÓ45ßx«.ZSÙ{ÁŸ¯8åËÿk={o.±qÊÙ£[œÍ:帒q»õƒy
|
||||||
|
)t#á„N8ádCj�-O�OG}¼:/Ÿ:s�z!Å)^<ùe½·S·uâ{ 'œp 'ú=ú=ú=¾'œp 'œp¢ß£ß£ßã�N8á„Óÿ9©ªˆôpQQõ]HÔpz¾�ØGœ^æ½Qº˜I|¾ß³�u;9™ÎïÕëd;“X~$ËÙÑÉt¶ÊÛédy
|
||||||
|
After Width: | Height: | Size: 226 B |
@@ -0,0 +1,3 @@
|
|||||||
|
xÚíšA
|
||||||
|
à E³öÖfo 7Ñ›U�) %M!ΔÂûYu(<šð“sK²“Tœ›Ó
|
||||||
|
É&§IÚ\i+¥Ðª™(m®´FQ¡¹¯h±æöüèv~n1„oÏ]sëçÖï¤_ÞŸÊ3`î_w2õȹ•lc[¼•;·Ûc֟ˤ’Nóª4ÜpÃ
|
||||||
|
After Width: | Height: | Size: 220 B |
@@ -0,0 +1 @@
|
|||||||
|
xΪν›Aƒ E»φΦMX0;Έ�άnVP4ΪHSS»xίU3±/O΄ύLiJ4��±VβJC�%ύ‰6VR&ΓήD‘B�HjDω‚JΟ??™―κBlcΗ±ρ½§'σUλXοUοή�0ζΓywΝΔ―χj¬ιλ�³€3Ε›Ύλ�cj†ω£{¨¥½:GqΔG�έρψ�ϋΪ°N†v;Ή¶η¬“J‡ΔΠ<ϋ‡Ι]�κλΘσ�#�8β�#�8βH'§“ΣΙωΝΑGqΔGιδtr:9Ο#�8β�#�8βΨ“h�―NΤt”�΄Φ_έΨ>tΉeλμS―¦ζ�ω^�\g―υΞQe?ωvuφΜoοΥ;�ο>μ�*οwlςΧmΡ
|
||||||
|
After Width: | Height: | Size: 242 B |
@@ -0,0 +1,3 @@
|
|||||||
|
xÚíÛA
|
||||||
|
à …á¬së‚‹™]rƒx½Y51mMÈBG
|
||||||
|
ÿ¸*Sx|Ua5Ƶ‚Z—Š„-,Ž1ä²HÑPÒRj–šX5§®i†©’áG©>W¥ŽžRïöÕ/Ëâ+uT廯åÏӯ嗴ªuæÏ¥Ú[Sía£[kví÷5•+5n§Á´JêÜ%+V¬X±bÅŠõ߬u'Á�±þÔû SRýå÷štzZ»ì+÷+V¬X±bÅŠ•ٟٟٟûŠ+V¬X±bÅÊìÏìÏìÏ}ÅŠ+V¬X±ö±ª¤¥ÖVI©¢ÖÖ‘+k«qÿ[úËtŽ·oVZÍþvoNV³wÇ}µ{³r<ýRÞ"�RÍÞ]ê
|
||||||
|
After Width: | Height: | Size: 242 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xÚí›A
|
||||||
|
à E³öÖ…,t§7ˆ7Ñ›U� E)i7ï»*~cÃüÅÄXÖEBÆè°FC–˜³6¡:&çL,å¬Mv.ŽÂÎæKgŸÕ¸ãYMç>ŸÎí>ûmÛš·?ª•vô¹¾mg?�ßÒ±Îþ³æÎ·ªd˜“Cµ¹U¦ÏIk•ÚÚE\ÕÙMs†f˜a†f˜a>œ[sÓˆ9쬩ެ8bö<kÕÙ7œ}ç†k³™§õ™ÿ3Ì0Ã3Ì0Ã3Ìä*r¹Š\Å7f˜a†f˜a†fr¹Š\Å7f˜a†f˜a†YÆÙ�Îæd›4ƒ9kíÆÌÔÝyûX y‰gŒØÙ)›«dw�nÌ¢ûU×>Ëî”]ßöLgÉÝÁ›³è¾äEo‚ w1
|
||||||
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 237 B |
|
After Width: | Height: | Size: 234 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÜA� …a×Ţş ‹™ťÜ@n7+*¶šÖÚ4‘!Í?®Jšđň ł�”抮«]Ş—ÉSźâTf)–ŮsŠIÂ"…Č”bžÝ0…Š|•"Luٸî,Ž×EÇ1\6®*ĎuQŢ?Ľ>aĚĎ…ăţńŽÄRő-r“÷n.ďꯋ\®Tżü:Ó*)|)°Ŕ,°Ŕ,ţŃâęóĺéx_ă¬}:^R„�Uoɢ‰uÁ~ÁމX`�XĐŹĐŹĐŹĐŹ°_`�X`�XĐŹĐŹĐŹ°_`�X`�XĐŹĐŹĐŹĐŹ°wb�X`�żĄPUőö)DÔŢ"cČ{‹zçÎő3ę›é<}¸óˇ^?b÷m˙ÎÂěž�íş°»óaűŽ´’Âę.�]
|
||||||
|
ł{Q6uáT,9
|
||||||
|
After Width: | Height: | Size: 232 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚí“Á
|
||||||
|
After Width: | Height: | Size: 147 B |
|
After Width: | Height: | Size: 255 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚíÜAƒ …a×Þº ØÉ
|
||||||
|
After Width: | Height: | Size: 260 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xЪнЬБ
|
||||||
|
„ …бЦѕхЂ‹л.Я ЯDЯl¬,¦љMz‰я6›†Г‡ gcJЛD;ф'.®A’IqћЮ‰ДI,IrўYЁ»‘ЛFk%‰DюOжy|EDЄDЧы(LУ_YЌК>*Яљ?aКOѓїk±L_Ј<[c—с¶п>КcЛ�хuФLIдХ%В#Њ0В#Њ0В#ЊЮotСўљхµ}ЕЬ4Нfќv_)‰ВEўpъЏ¬h5R·Џ8Џ8і1В#Њ0В#Њ0ўУТiйґtZО#Њ0В#Њ0В#Њ0ўУТiйґtZО#Њ0В#Њ0В#Њ0ўУТiйґtZОlЊ0В#Њ0ВЈч9q"ўЙHЬњH™Qюќµп"ЫХL5}-ЭЬYЧѕУкёkм`¤в>¶zйёі®юЦ4&Тpчб!‘Љы!«щ`ї:5
|
||||||
|
After Width: | Height: | Size: 262 B |
@@ -0,0 +1,14 @@
|
|||||||
|
xЪнЬAѓ …aЧЮє‰‹™ќЬ@n7+*L++Ужџ®ут‰МbbЬ*LCп‘°‡‰ck™HҐrљ”j•ІђJ5Yнi~0•_«тЊыЧTКTх}е—e©>эц5‘b_еwРНџ?ї¤Ямж§ЦЬщ†\эRaЖi+7хЯW©¦\гюwLUNеL¦В
|
||||||
|
+¬°В
|
||||||
|
+¬°ВкяjЯТO·џkcлЮсфз\Л©|%•o<б‹k–Lо+О+Оv¬°В
|
||||||
|
+¬°В
|
||||||
|
+¬°ВЉ>}ъф8Ї°В
|
||||||
|
+¬°В
|
||||||
|
+¬°В
|
||||||
|
+ъфи3РgајВ
|
||||||
|
+¬°В
|
||||||
|
+¬°В
|
||||||
|
+¬и3Рg П@џЃу
|
||||||
|
+¬°В
|
||||||
|
+¬°В
|
||||||
|
+¬°:R‰ЁЄXіЪB‰9«”IФ=зkЮЏ±o/SwзШ�™ЩЇП`g¶бЕКМИr_Щ™™YѕѓVSY™ЕzIefnmQoz
|
||||||
|
After Width: | Height: | Size: 253 B |
|
After Width: | Height: | Size: 256 B |
|
After Width: | Height: | Size: 243 B |
|
After Width: | Height: | Size: 272 B |
|
After Width: | Height: | Size: 279 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚíÝAªƒ0ÐŽÝuÁA2«;Ð�èÎkü(üg¾Ày•tp9Äï$Ëò™¹Dœ”ò¼\ºe^'tÒ-aIºŠFMšSškÂðIóŤÓ:7®¤|LúkŸNã8N7®œöi}ö‡×Ÿi,Ÿ[W†¿g®Ó´Ì°ë?3ô1÷i™¾N·}}=ÂOM:4“”)S¦L™2eÊ”)S¦L#$½ÿ
|
||||||
|
After Width: | Height: | Size: 279 B |
|
After Width: | Height: | Size: 264 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚí”Á
|
||||||
|
After Width: | Height: | Size: 149 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xΪνέA�ƒ@Π¬½υ€‹ξ�ή@oΆ7“�`“QfeΊδ•«PA>�¦ΐΪτ<?jjo5WNiz�›yΊWύ‰σ΄&]ί…C?“I�rώWβρ^;ο8·—
|
||||||
|
γύs<Γ°ϋφS{Ε9^gEί}>γ°<]ίΥΠλί³bZ«nγ¥^A›φQ}[χ9^�]«yώμnajMά‡KΜ�1cΖ�3fΜ�1γΈΖ{ίW5}η½{ΝΡ7lMί�οή�xάI<ΌαK½¨ΖαΞ±yl3fΜ�1cΖ�3fΜ�1γ«Ϋ»Ω»={·“Ξ±yl3fΜ�1cΖ�3fΜ�1γ«Ϋ»Ω»={·“Ξ±yl3fΜ�1cΖ�3fΜ�1γ«Ϋ»Ω»={·“Ξ±yl3fΜ�1cΖ�3fΜ�1γ«Ϋ»Ω»={·“Ξ±yl3fΜ�1cΖ�3fΜ�ρχη�SΚ‘�Σ’7¥HΖKήΌg\ηΎβuυίΟ_��r'4ά[ηή-Ζ]›…q�ϋL·η8Ζ�±ΫY1q„»�‹Δ!ξ—ήΤ/(%ϋ
|
||||||
|
After Width: | Height: | Size: 267 B |
@@ -0,0 +1 @@
|
|||||||
|
xÚí”1À E�½u 7ЛÀÍZµ‡|N†—üDB0@R$l,-™>VKZ[<ýØÚz—qÆŽ¨ØYJ&ƒi�åš‚‹ZyË:Y'ë¯YµÁVÿ&—e•RÄ"§sj©Ýrþö+Ëé‰ù.·MÆŽ»–Ó9ÓòzµsŽ”É,
|
||||||
|
After Width: | Height: | Size: 150 B |
|
After Width: | Height: | Size: 151 B |
|
After Width: | Height: | Size: 189 B |
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 199 B |
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÚ=
|
||||||
|
€0н§iï9'Åb‡$ ¾tËýáÚû^#i�ª¥Ëi?³ÅôÛbúK[AUØFå¾�Ƶijx]mŸ]2Ž������-Ä–�KŽ~ÏVw}¶X›ûÆÆÆÆÆÆÆ&O²É“Þ666666yRž”'½%lllll/´åhœl…Ãîm ¹¤ê�ádël™¶´3Ù+ïÛmÍ«
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÚ;
|
||||||
|
…0Đ>«Iöż9+Eń�‚sá=ϤL1Ě„[¤÷ąFáZU‹4‡?i<˙�ç;7Ťçňç;‡ĆPĄŚ#ýW-[ńÝŻ6÷ʵddddddüc",;í"ťĽźskŤć‘‘‘‘‘‘‘‘Q&—Éerw######ŁL.ŻĘäć‘‘‘‘‘‘‘±Đ�yĽ1†^˲\ňŤîĆŘ3ĆâłÚÓóřĎĆ ‘Ńv
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÚA
|
||||||
|
„0Ð}OÓÞÿr³R,#3öñ¥Ë,âÃþ¢½o5ŸCµØÐq:õõÖ;;¬wvNÁJZGÅ=Œm�»û}Úö
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
xÚíÛ1„ ОÓÀý/·•w
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xΪνΫA
|
||||||
|
€ Π½§Ρϋ_®•‘TH`3AO—L�4όkν£ΝΓ(αΝΫewφ›GWΦΩΧΧ.ν #Γή2Ώϋ΅} \ληYϊ»¤΄gggggggggg_d�>Οοµςj^™ΥΨsνφ;;;;;;;;;;»'ΗΙqφ;;;;;;;;;»'Λ°ΛqώuμμμμμμμμµΗ_Pμ‰Νηφ—ΟσYwΔ{e��=dΝΧΜύώGϋ/ύ“Έ
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÛ1
|
||||||
|
Å ÀÞÓèý/—*Ÿ„DøEØ'ÉhgõtÙ-ì}_£pV‹· \"Ìb=sþ—ÁÌå™ó[ƒÐJŒô=8DhÅoàºÛž'�0XÐ ÑüÎÛ´�©è‘¬e 0`À€˜ôÊÌj"0`ÀÀ¼ Wf`^P0`À€æ½2ó‚šÈ€¼Ò óÉôd07(ì“<O�ÁŠåo¡§ëÁ—
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÛ1
|
||||||
|
€0н§Iï9§Š¢ÚTyí–)<4ä�h§N¾‡SÒš¨·]°èZŒ?¶[¿µH<™u…ïâÐFIø7®·´žRÛ`Á‚,X°ø±EÖÞ¹×Ë´]»Wg±¦…yÁ‚,X°`!�ØÁYÈ#æ,X°`Á‚…<"�È#æ,X°`Á‚…<bg!�˜�,X°`Á‚‹WyÉO4Ñ·˜¸wf¿á>Y‹/XLÿGb…yÁ"êpT�
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
xÚíÜ1„ ОÓÀý/·•+FÉZ?®JšÉLæ7Ôº¬ØÝ*ÑBÚa%L~šŒË»òä”ÉØéÊ“C“ðJ›´YîIWJ ½™ý.K]ñR˜0a„ “›$ç“ïINTwÎlLža¢Ÿè±L˜0a„ &Ld@PÔO˜0a„ &L˜0‘e@P?a„ &L˜0aÂD”e@ý„ &L˜0aÂäÏM²ŸIlL&)dl˜ígøÃacR™<É$övê,ý„ɺ?U2ç]
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
xÚíÜ=
|
||||||
|
€0н§iï9'EÑúÖDx͘%<lð[Zë|ZPN ¦NÃæ‘MÌ7;·múfovmœ6-Ów³§Þ¥}•y¶ã°aÆ
|
||||||