-- phpMyAdmin SQL Dump -- version 5.1.1 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1:3306 -- Generation Time: May 06, 2023 at 07:34 AM -- Server version: 5.7.36 -- PHP Version: 7.4.26 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `book_reviews` -- DELIMITER $$ -- -- Procedures -- DROP PROCEDURE IF EXISTS `allAuthors`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `allAuthors` () BEGIN SELECT * FROM authors; END$$ DROP PROCEDURE IF EXISTS `bookListing`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `bookListing` () BEGIN SELECT b.book_id, b.title, b.cover, b.release_date, bookRating(b.book_id) AS "rating" FROM books b; END$$ DROP PROCEDURE IF EXISTS `booksForAuthor`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `booksForAuthor` (IN `authorFirstName` VARCHAR(120), IN `authorLastName` VARCHAR(120)) BEGIN SELECT * FROM books b INNER JOIN authors_books ab ON b.book_id = ab.book_id AND ab.author_id IN (SELECT a.author_id FROM authors a WHERE a.first_name = authorFirstName AND a.last_name = authorLastName); END$$ DROP PROCEDURE IF EXISTS `insertAuthor`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `insertAuthor` (IN `valFirstName` VARCHAR(120), IN `valMiddleName` VARCHAR(200), IN `valLastName` VARCHAR(120), IN `valBorn` DATE, IN `valDied` DATE, IN `valPhoto` MEDIUMBLOB, IN `valBiography` MEDIUMTEXT) BEGIN DECLARE errState CHAR(5); DECLARE errText TEXT; DECLARE errLine INT; DECLARE authorExists INT DEFAULT 0; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 errState = RETURNED_SQLSTATE, errText = MESSAGE_TEXT, errLine = MYSQL_ERRNO; ROLLBACK; SELECT errState AS "error", errText AS "message", errLine AS "line"; END; SELECT author_id INTO authorExists FROM authors WHERE STRCMP(TRIM(first_name), TRIM(valFirstName)) = 0 AND (ISNULL(middle_name) = 1 OR STRCMP(TRIM(middle_name), TRIM(valMiddleName)) = 0) AND STRCMP(TRIM(last_name), TRIM(valLastName)) = 0; IF authorExists > 0 THEN SIGNAL SQLSTATE '23000' SET MESSAGE_TEXT="Author already exists."; END IF; START TRANSACTION; INSERT INTO authors VALUES(NULL, valFirstName, valMiddleName, valLastName, valBorn, valDied, valPhoto, valBiography); COMMIT; SELECT * FROM authors ORDER BY authors.author_id DESC LIMIT 1; END$$ DROP PROCEDURE IF EXISTS `names_authors`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `names_authors` () BEGIN DECLARE done INT DEFAULT FALSE; DECLARE authorsNames TEXT; DECLARE fn VARCHAR(120); DECLARE ln VARCHAR(120) DEFAULT ""; DECLARE cursorNames CURSOR FOR SELECT first_name, last_name FROM authors; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE; OPEN cursorNames; SET authorsNames = ""; read_authors: LOOP FETCH cursorNames INTO fn, ln; IF done = TRUE THEN LEAVE read_authors; END IF; SET authorsNames = CONCAT(authorsNames, fn," ", ln, "\n"); END LOOP; CLOSE cursorNames; SELECT authorsNames AS "List of all Authors"; END$$ DROP PROCEDURE IF EXISTS `oneAuthor`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `oneAuthor` (IN `authorId` INT) BEGIN SELECT * FROM authors WHERE authors.author_id = authorId; END$$ DROP PROCEDURE IF EXISTS `updateAuthor`$$ CREATE DEFINER=`u9untau`@`localhost` PROCEDURE `updateAuthor` (IN `valFN` VARCHAR(120), IN `valMN` VARCHAR(200), IN `valLN` VARCHAR(120), IN `valBorn` DATE, IN `valDied` DATE, IN `valPhoto` MEDIUMBLOB, IN `valBio` MEDIUMTEXT, IN `valId` INT) BEGIN DECLARE errState CHAR(5); DECLARE errText TEXT; DECLARE errLine INT; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 errState = RETURNED_SQLSTATE, errText = MESSAGE_TEXT, errLine = MYSQL_ERRNO; ROLLBACK; SELECT errState AS "error", errText AS "message", errLine AS "line"; END; START TRANSACTION; UPDATE authors SET first_name=valFN WHERE NOT ISNULL(valFN) AND (valFN != "" OR valFN != first_name) AND author_id = valId; UPDATE authors SET middle_name=valMN WHERE NOT ISNULL(valMN) AND (valMN != "" OR valMN != middle_name) AND author_id = valId; UPDATE authors SET last_name=valLN WHERE NOT ISNULL(valLN) AND (valFN != "" OR valLN != last_name) AND author_id = valId; UPDATE authors SET born=valBorn WHERE NOT ISNULL(valBorn) AND valBorn != born AND author_id = valId; UPDATE authors SET died=valDied WHERE NOT ISNULL(valDied) AND valDied != died AND author_id = valId; UPDATE authors SET photo=valPhoto WHERE NOT ISNULL(valPhoto) AND author_id = valId; UPDATE authors SET biography=valBio WHERE NOT ISNULL(valBio) AND valBio != biography AND author_id = valId; COMMIT; SELECT "OK" AS "message"; END$$ -- -- Functions -- DROP FUNCTION IF EXISTS `bookRating`$$ CREATE DEFINER=`u9untau`@`localhost` FUNCTION `bookRating` (`selectedBookId` INT) RETURNS DECIMAL(4,2) BEGIN DECLARE calculatedRating DECIMAL(4,2); SELECT AVG(reviews.rating) INTO calculatedRating FROM reviews WHERE reviews.book_id = selectedBookId; RETURN calculatedRating; END$$ DELIMITER ; -- -------------------------------------------------------- -- -- Table structure for table `authors` -- DROP TABLE IF EXISTS `authors`; CREATE TABLE IF NOT EXISTS `authors` ( `author_id` int(5) NOT NULL AUTO_INCREMENT, `first_name` varchar(120) DEFAULT NULL, `middle_name` varchar(200) DEFAULT NULL, `last_name` varchar(120) DEFAULT NULL, `born` date DEFAULT NULL, `died` date DEFAULT NULL, `photo` mediumblob, `biography` mediumtext, PRIMARY KEY (`author_id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4; -- -- Dumping data for table `authors` -- INSERT INTO `authors` (`author_id`, `first_name`, `middle_name`, `last_name`, `born`, `died`, `photo`, `biography`) VALUES (1, 'Terry', NULL, 'Pratchett', '1948-04-28', '2015-03-12', 0x524946466a10000057454250565038205e100000d04e009d012a9a00c8003e6d309346242321a1ab12dd40800d896306f81b77d89fbc624906e9f248d0f1f291e8d9cd95d081d71fe801faefd74569dcd94f90bc8edd3dc2ccc4173ca556c13c77832acd181e1a1db25148e377328f1eff78c5e7dce59fd29ad146e01c4ca0bf5898f91840b7372fd153850a47eff835051028aba252a0977c9d148be6e7811d09aa3cf6b6beb67345942a64e73eb0925b8d7de58f2c0168e39000fd25949391ffe1e4dc1ef4f247a85041a359b36d4092530cdc564c2b54c74f09686b2174c473d4c6db7101a63c0f116af4e474f2c604adf6186961054c7ab01e78bf9e232251144c7d77be366c2dccec9bab769a53edf69d2c193be212c505f2e918f4ba52e0a22b1fa25861b6757272466b90997eed1fd6c9fb43a755b0a3287c32f1e8e881075dad890eee1ffe403a0aa1a4864e17b76c4ff0561ebd15fd66e87f13dd73e70377bdbdf53cf0447001f879419bfe281eddb9e270b34ab401f59685add1788b9561b10f676ff1a8dfd99366dc7f440473e1cfc508d2d3cb3a65f122bdc5285d07cb38760ce6e63a120d0b77f3edfac08c803f64afb4c1d2615485dddf8a75da0cbda49934c5a3490a0d7312ed137f8d6ec6951373c9870f9c7097cce1bb6842f2f02d462057273e4fff67c55ff7d3fd107d9f2442b6d17fd4db1ede3bfacd5098d44ce8d5ae1b1eba54ac60827ecf90f83ea8c42e06e150ecbc29160901397ff3017bf84e958fb8a7251c9561871bebc2cc6ea52c894dee6a57070f544b0dabf2501cda2864fc5fb05a7c83fbc20412b05e1863fa00d79b4e3a84d8eb5001ae4bf99f1ec3752c8ff7835b6d3bcbc31bc3ab611cde1bb9685046f9a16ba22f5de90d88f4f2b588b1ce4fb2fdf045c114e28000feed12c7699484a953f2f73f1f8d1db6cdd0f461ab813639cd1de38d678c0a3a553777e4170c6613ff75e132cd3a9391cb9768f0ad5d11fd12e38ece41f145bde9b36d43d5e56e61c2dd4a3c43a1075b8b65da59e4b5ae7dd8527a40eb878617909de0f5ffbfaf3069b71e0f50e7822a0316e9e6a16bc1ab83236ebc4d8c7dd4fc91d9c288f38704af4b9dbae2ce2ec1df4d2c38a5fe47dad72851114f7ca5e52cf0e899096c9f96eeb72cd6cafca93d11a2ae3841f14b36299ca217d0745be6471230e043757db37a2d7c3eb14ecdf56cb95d48880f9e274744d6fd8d5016d15623089b16d1843ef8403343549bb426ce39e0c2cf1f2e5d92e6dd32dfdd15a299bbc08de3b703c0a3efb907d3476dc5d62f70b1901c163f3cb40f2b56d8a47a0e7740f90bda40c4f8d194de3a4128fb08a2d11969390295abfca5770f2121d3cd87da7c404180dae92c3643b9862de25a5d99d32afaee1470f9d00b8910036ffb52e9fe04e575993605e7b2f16dd87dfbb0c0ed7f785a1be31225c1d298355249f73f5950486f95b8bc3c84ce0264a2b83568b6ac51537a059f8f12b24863ec19e103411ffd4d5a0758abc3cc3952aaca661fbf6945d4e7550a5910117fc40a4d479790f5c1459f191b6ca787eb1b8cd3b392a6c84d9f1e4a0202df034e8a3f941a2eb56149f022fc768717c68f9e4fdbc48c94ebad9a348cf408fb5547fa638f2efde343e4743305dec6ae41997545cad8c88c22f4cb8230457c87eb28f13acecd42ee74fb66aa3c20b84fe33bc143bfa9043ab101f35619ad3674ca24d00b5d77df2ae937dae8aa18c176120ad4215a5ed2bb143be5862fdd49d3d7e043ad326f176509139eacf0d3e5a69ac4f67e0bcbae68f68647c6e2b8afc6fac1ab2c02fa22a29fcdf235f568b6c267196e85ddd38efd1278e80ffc81077bae8199ba3394f6a834208fbe3129731fee9f18e28ee02ef66d26f9e5271146488d41ac5c6286f5fc16c1ae7c44288503843fd8263ca61b82e3cdbc07b2e46fc22b0153603f20e8cc802991299990e61f811fd3477df9bc1a44499a47b5970fe67db68e8f94f3d702972a5ef57fcd68057832ac66fcfe7bec5a11733d8e0906749a01eec1b63c7e7cec3e6f8a1ce58dffce0ec48314f94dba9867c3a6162b5426ecdda7bca03d87c5e710211b48c34d40dc66af415ecaf5096d37eadccedb6ffee758c8613406d3a2c5bb5ceb6de43ba25b44fe888f7c059085089920fda3ca946069bbbbf01b66505daf82c3a24bf4b8567941e3c2d1bd043a7b7c62a9e86a8a8a28f2ee929e94c3e34909b39e19812cc0af95773de2c10b5d8e02b55a696a30ac340962f7efb525d24a6bfba992a39ad85d26335a95eaeffc38d01fdd2df0213b7e966dda93b6462b2c5d74385033c6e2affff033c95612c68a3300671bbc8b162058b4ba5fa0b6b955da053523aebd54ea5b8e994332ba6ffb33810de3e5e372cb15065544ccfccb1c6526603538c00f9d81c5e805afa63829dcc50e40a63bf782be109a314c52c72b70219c420077d0a6f228308bc2b9b072546a121ab145efa1e4891440d5342da173e2e4ca1b75778ca4afc36f807762427f3c056abd4d5fc1f94674e5fd6f9000ed0656abe6e007d0e6a3b00165c454712279b2a5ea5f6745e2f0cf2f63e642411f7b8a6109ce34aab7f3a0cf65c2657dd2fe58d06b86d087088f1cf70a49399a3008ded1976a1270ff794a9ac677846a4e7521375f423e46cdf9c0707c1d2a286f9ce653f06591cfc1d34f829378f9fd3def2ad2637b096a4899987f8968d7faafd8c585b0f69bfca13fa67e554f5999dafc3bd48dd45f54d01924caa31d6b7a23b20681f316ffbaf4d44dcce25de1546e5f5a47c85cb635c20bf497a731fc19bc551681638147bf5e849ff4fa78ec71d1d2dd02d571cc69b1d1bdfd47213a29a5498b514b2e5863056eaa3966b6a8200e84489238c93e74d9d0c0cc4b990b54b6b02902656f313e751c522751dc44166fe5f9a4f86a9f666753e6dc790c0a0e4a7d720b3468f2d5a94fef89cebe4a7d4b8410124e9862bfeeb0d2a23704fab8d47306029e38f3b4eed32c8013164f47e0024871b1b2e9bf0b3ebb567f4b116e0cf4f3d3218a294dfb17914a570b13812b68e23f0c1e2d4c4350f88ed6695f72c5c6810a4e6314e30272fc825201b65f742fd5ba279e655162e4849940d210f81cc327eda5a474fc4bcff4f44d08b39061f727fe656f06ed53c93a9f06458bef6f69397824cc11a1201893c4352c36e62800ae973d88d5597550208beb2923144c56b7a56ab266d8400b76d0ff24a2a8f77cef13db2101e12a53a770e4db489beef1c7cee8910ff19a9c5a91e6e6e028c523434f6df4ea973eb04a1e2b9b0205d06fd3679f47ede357b99fc1b4154cc35b069f8a43c8e59091c8b8f39ab478d661d23709ac24ab7fc4ceb80db19b74fa34a6f911fa964e7afdf2775f81fd0903981baf3f43d347045a73e8df02bd8d7bd4da10f2cd58d784caa64d434b134a73e95660bf21bc87bc37ddc1e2e2cacbd4cdceaeed95c82335f0e1e1619758a38b8265f10ad1bcf94dabdda659a986b8737725041d3d1cb8a4bc9ab38f93e3a0d070dda3022985880c96d89e79f251528551acdd03d29a36c9f6f06c24e86a8f6381cbe1274c3c1624c31e0379fe17c731faaa0d374f2438c5195db401b398bdcc2641df6580421a546874b61012f1304768a129221bb74171203d9b96ea396b4bb26e2fc73bdb5d1c669e6526b74d32fae39bc1e13d570884260d56ee720df4a0851865a99569dc408954768d537fff34166d0bec7aa6155264db72db5994ac5d3c563bac15784ee89bd95aa758ee124f13f68062ca1ed42161ed896d36b92d3e8d0ebb063f1b5948bdb8b0356bf7946fe272104cf1edadabb878b1fe488383f0e1aa4b1a2793c71fffee37f435f2d33edcffdd20d86d254536d9e8078d99bef776a22ff2231dee16e8240b88f315b5739d3149c071330879890257569cf254efaf2e0abe36c76c46b2d63eb9b27dcd24651a82f2c84bc35746058fac2171a68f4c43b28a45d275d2c0df74d1835ef0da2d8659f87f259a3148c8275831eb5dfc10be7f773036ce75b23c76f4ac66cd31816f863e8c4be145f81f7ee72cb2c63db6b2aaf3a31fecce280b15ab290a95174029b68726decb64fe3b52503564cba38fb7f7bb0b70e51f3fa9496b1626e8cb6565eb377315d39e317194728848c76fbeb1a744c3b01e57eef485a717af93997f3a437507e2e48b5ef48ccfbaa728b047b8389c3bd15b79320895526f3da90d6fd2d75a596eb96bb77eb5bf01611be89bba35d0961ee4d3a77d0e5905deb138dc2897a888b7d7964b03703abcadd622e986762b63f36a12a67e04cfb30af11a62e1f80ab0ebe0c9c0b6bb4bdf24a15f1b7d080adedaef807d6ece13ecf245f07b37df58347717395c94110f37c2541fead8c42eb8e5c6177fc5b3da5696685e7b3c3a6e5b90c27eef46e4349f09dd025f9f18a92b61943cea14d425ae655da8ac53a9504f36acfece257f74526cf222619409373b0117423efd88532e3a9d4f1c2b527c56929c4b2d8f99771ee43d26d36b8a1758ffdfa35a520336153a5c355d736c08bd35fde52b7ce688c9d32d01e27009e77f636fed09d1454626eba90bca84feca0d7d92ca78e49a8470b60cce9aa08ce4499486e4a4e9e77b3bf68cfd5b0c5af4e66734885c661eca90a210de3e703ae6c051c811cf4e27734fc44830415655a45b62e81bd01965bbea431eda1e788ab070769a1ddc25fcabb56debe7445be60b6a477dbd5000d4928e34fa55382270e7392ea2d5694f9efb06456343f0c1eafbcd448bb5017f8c8079f905c553ea19eeda6de0d041cae22f5e0bdd94bada302425f0d3db03b387d1994cbcf5b9ef24557492f72886840a61eca32d9fa1b469425683b1f102bdc8accea5aa7f44558ac9620d3cff40d5400930badf6e45941cc97ffe135a1455a16a4e95c5085a6523cfee77b65df864f1f42ebff2e6ee35e0811ea0527a307ff9dd5c8c3e94fdc829e2abac70a39d233853c0e03e0e719e09ac0170306a6b167f62a56a184fca7d1cdda10d2a55f785cdf6908a0c2b2c7b8e0c7a87dce0d88a678ffc8ea139f6190153b66b15b23171fb937febb08c4dab0cdba020f9aea377a337a6883fefddab4442fcbac1f736cc6d114ee134985efe229dfdf650a17e4e8765700b35d9e5e711b0c6a1e00e1af20091e3be066722ecfeccb65c8cc5667010980ab61b7b5f49fb255d7b1302d8b8e0c3f76f0416bac3d64b820181c387615eb7f3ee96b0eedc744f61fcc20bfccc189ea84129420afa2c71baa957076587b4e3f58a58fedda0feb7ea17f6fec50526fe5ac92fb0f84285a720b892dc3828221279f3a2597b0904ef99effb19926d6d04baa733fda468be9a437b36274c117281c09a4064026c72c11fe62f013ea41192075182d6009dabdaedd18b7d732673a7317b5a9212a88452c126279e1ab5ae202918b6d626112d608d0e0ba52454e59502b03297373ca771420be759305469f415739d366b52f3f784fb8916fb55cfd91ea7f46ca7ece5ec3bdcf16a82a245e9077365057923024710d6ddad1d939164f4f9044ca29f925209a5ac90fb7ae7cdfb798cc234ebdbed4375696efc7610a583929d262a1c3a0ba736d9f826ba8162a027cb9cf9356f874c2f5dc1a4a4fd545c01cdbb5e59a0b361af0460d41f997be9604cd5dac2edbae3f7b141c560ae2831b68db4b964936f6e6b2e44fc56d76e84fa779b42809e2c95ddd21c740b9b524519531f42cddb0c8f1d83827f1834476d298c8f2f8f35334ccf008d0be991263acbfe978611a77866e3a8417c0e413cb340d16a7279d9cab829447ebad1fa11d442cad5f87da62f56ca91a1664318b226ed3b0c5d5bb8aee8ad451beaed1e4bf2679a33b344f4a38a836da9466bc2a85b0321472b6c8bc5cc000000, 'Born Terence David John Pratchett, Sir Terry Pratchett sold his first story when he was thirteen, which earned him enough money to buy a second-hand typewriter. His first novel, a humorous fantasy entitled The Carpet People, appeared in 1971 from the publisher Colin Smythe.\r\n\r\nTerry worked for many years as a journalist and press officer, writing in his spare time and publishing a number of novels, including his first Discworld novel, The Color of Magic, in 1983. In 1987, he turned to writing full time.\r\n\r\nRegarded as one of the most significant contemporary English-language satirists, Pratchett has won numerous literary awards, was named an Officer of the British Empire (OBE) “for services to literature” in 1998, and has received honorary doctorates from the University of Warwick in 1999, the University of Portsmouth in 2001, the University of Bath in 2003, the University of Bristol in 2004, Buckinghamshire New University in 2008, the University of Dublin in 2008, Bradford University in 2009, the University of Winchester in 2009, and The Open University in 2013 for his contribution to Public Service.'), (2, 'Agatha', NULL, 'Christie', '1890-09-15', '1976-01-12', 0x524946468c1b000057454250565038580a00000008000000e800002b010056503820b81a00003095009d012ae9002c013e6d20884330ac905b0f1d390b06c4f4833dea76c51167bdec186ee794202fe123b91f9de9f13d9fbcef7d0942f768db77877e236a289da7c11b3f8f746878d70ec24519489be97d8aaefbad3ea2dd56050b614ed8e98262749f90f6769a21b4d2bf9d6244ad44a884d328a4c24230c1c08d52a5e700b9e18a13299de6f57c9c7ae9bc533c4756d69b7cc5e5cb087fcbf851a026e16798d113be956485ad464762c4e782b55708958f509018854cd4dd615bf8783c54a1f66e9c0008bd9b27a39047c4a483ad4f579f83460f6e0e7cad775dbc0e9fe4184a95e40db1f9024b078dcc73c8fdffdd2c3bf59c66ee945541660438d1472982b1cc5148b7bca8b4acbe841f3f53b6c78c272e1f55060c14bd5474b3d552772a47210747eb8dd0385be1b97279a6a71712788c041c2a5ed3d7ce5071914e3d0da5aab5ace376d07be191eb30c604fb5ea18908196a47ac2f9af3ce898bf151681d31bbd4ae0c79942f683acb27e21106916792d714a3ceacc6e4dfc04a46b5854369cff459166a0ce8a59e26d00c1a6e718b9c54b7115e66c220cd4105b5ace1127227ee31a64bb4783484b67bed69cd4ccb40e062f400f6ffddcc2b246fe7142580e3e3f91315db7c54599b5ab6ffc7b3cac6c71aeb6aabc92bb71a02a95dce0a024fcf0828a602b2ea8acc5fe84acfa584b64dad9ac3ad3ca305baac8078e197c1377eb252da34a6140da6109c9f2d0657b7017067fe3553fede53ef1e9ef8397c4b846f4a3a0d5cb570b8074d41478fb754641c6dbdfb5a6a30bb92e1e9082a00911888df9e5aba770821d4e2c77ea568ac3c8d364b55924ba154122849c104d0459628b6cf5a100cb6830233aa236718f45a9d95671d4ddbdd1a53baf6bb9e3100d07ec6445054d2ae32473cc1937139f1796e8c52ce66fd9277ed7ee43afa3a95dc29637969f3256a9d93e88cb21691b75d68da8661e1a27e7bd04bb37bfbe7f90425eff9b733890705c1df01f63600264cdd7d80111a6c56653ffc22892aa04dbb740d1f99f75ced465415c053e34abf0025bfa6f05862a309ba7ff0fdf8fb78a89355269060207d86198687747e7f2f87c1cbcbd703ca39ba74ec4bb0a8ff779621854c22eee0d53cefe8ecd5978a1efc93f0b4e3e2c78162e18003d9b730ab87b133a6dcbadb47989282760cac7fb0386673f6e05404948aa80ad5c619e8e4fd1949d556d582a45694547cd3bca349f13d3a2852b0c5513e85a755b9761a4ea19220078507936442118f3fd73a09a4c040e00d0698ab77ad4c05ffb6f45576a791ff2ffd34e085c068d94a372f50b7025b52ddb243b3b9296816986c02008c54e19a71e88cf30fc0de45257b71dc9bd74791b63c7d8c123c70ede7c0ecd4d58a60d4d043f5ffd723d58c0d2672ab2dd7e30cd45fbabb37362e87d14c93cd4ee10ea078f48e40001f7f424a2c5991b40df12d4dd35f58f54215b34b3f052a46fcb53aabe3bdc3363b3bb74dfc00093c4f674fdcaf62e7dfb5ac9973817525567c8f24074247a7a68930de367b431b4d00ae9937edca91fb131552d2e780c694cd46fb608bda49865c15191abfcb273af218a7f6f47f57bb2e516ce50e13fa99f5c4760f272e06387f8cda4593398b97f3b332eab85bf9791d015e4c18068a07ed1de618ecbccbf8064b2c31600000fef829bd1c694e4c7397aa769976aba1d23765a39d021f4c86f0796d9a7cb9aa912ef7dca55c446d332b34ca4fb4dbf9606436d477989fb19d15fdc4e8fbd9ca7ce814d894c68d58567d2cf3403de678a0ab7bb162bb50239c27ab4c1af24a27b46e24940edc5543efb8dd6892a8579b2e4a7bb124ec1f133d2615ce588f99ba8700c68eedf5299aa855c1b9d5616ba219427b133e4ad9ae9d16729c1840a28a5e47a6b0546f00cc201b351e2e99d38bf7f6eaf5f8d69cb2d53fcff12454e023edc6f0f2736a21f449092fd16ab4fa07fa3bfb62acad08a502cc3dc65b6ea153a9267b9c7c3e7b379306569135a1e68653311c147e5bd6557ad2f7fc5e063246a2a92e8cfb5e9b400c63f2ad5572b7f7d885be5affec0ff6a4a87925c6303b6aa545c4132e3ed0a191ffb01930dbc5537ae8b66dbe6b29e21441398498067534ddfe8fddac57aa905bf4709634ea8e2b5902cb75b39a2ef79a7dca0e050a88eeab15b710e162c1caa626ca422149b0b23959e0f33086b4af01403de55bed6149eef5d451400fce02959577099ca3fb6d7d7b927085e475ab26d5a3c6366fea2760fec0308404767964d0fca07998ce318c5775b060d0e6f0e1dcf316390db1fc9a2ed80a2a42d23d66378adb29d8beae2175b696233f20eed6e1226ad350eb78cda161c6aeac5febce42c178ebb346e4e0fc1e8ef86d2887205616031da651f1de7a3193c3aee24f09fd4a7e4696993cda5b2dd70aa184af94aacbd6232acec3fe8e926cc165d640427c0c61f5cab99434a6e853be6f89d63ef0470b45c283814841a137c455ee3fd364eedcec2b73b261884faeea26f5c403321fc7ce65dfad8a4e05be514c01b4936b8f5ef727529c4cb305e7e66ec9cac856b561c83358eed21a65a5379e96669871f2c820cedc2b366d937a7d2c0e3e0ecfc8b99b8c591822674e7700b0a0d6d4d6ad80db73fc7a86afc38dba0d27c29a65ead2e6b781516648da4e589361f32081a50ebf9c5ccd597b19a5a1571b9b70d5be26ee5256d151dc67fa1a8d63e48e1661ab3f0634e67d9d26dd318936de16661bec2e6da4a72bbad24a35ac71e849684e2081606e374ff37569293d306ed93b00476b4555add846af0b7532627648710c305987546477651e341618bab0856bd2e6b5aad0483dfc46a19af9d20d3dd3c1470a3180acd7600cb3287736b54fbc35607f27e1c056dadff9b9c68c097f9f5c790be4bd523686d8eef7eab4d4d764f248728a5478eee3565c916b98e905bd388114a2c0eb26c0f97a80c5e43f92be4fe48f48fb9ca5bd554285543f998548a8fe99f85710ce8850c81aefcb44e9b619e94b0a96294938abce7ef23fd6645b01a70abde1e4490d6f1144f01ec8c9bf144e0b41b4d42f2adb05e688c7dd372f9d60816b6665b5b264d831f7818a09fd145e8db8ca95bb835aa2cd595909f0690a0c1664013030dbad1cd74033bc6cbb57fba928e2a57852a0b901427e2959f1c3898f827aad3999aca132d171aa2bdbcafbee50d4cc913793fb203fa216b7e54f3d4e39e80f24c8550978b0faa3f825459a18b72a28f26cb3c3957e7155344cae7a331c065489823f73d3a5dd0bd5c9f2449077a408de6d68ce15af0c32adf5567de942f9566a58105e13f186442b51620e991949928dec5d676ea6753f7ccb8f7167d1cbb57ae377aeaa6c312a85b07ce654b7958de5f6a59a0be41e48857bb2337b81bfbd5122c60a0f5090f52c97c984900c45af69f341dd5dc412d18bb292300a369139553f83a26c4a0352ba09974844fa53f7c7f6f6f523c0d712928e0867375455a08ab6ad569e00a33e6d813d43dd9632a33d152aa958627e7d33109880aca00f387f8ff5457be87ad90f5c65341191910cc90325bcc9de7be09c4e79813ca104631c92bfd10336217318185557284b4272fd4943f4cbc71fd2b427247ea180c5bda83ba2ce85550090ea5eedcceb3f830b587fe6279cf8745b5f787ce6df1ff5c887bcc762449a3c401cbab16cdf4c949a65f3d5a982a9bc4e064af0651e9ae5495faae4e198f1abf51e91da2e1e3313a95c6f619aa9d58d73f4091ed8e47a551d18ab08768d750ffd549775740267c291d8e9f1a3eb3289d89ef034dddf4f4b6b9dfae92f387b99df37f7568370dbf8b389ffc8e7be203ccc91bf359e601be61868a4818ae897f2001682513ac028866daa1c6ab443ebe4bc2703effc1c97e0cede5e20610422b9f10066f61a455d4c292784efea3f3ed7e0db71181378d2122caf2f6c7bf64bf1c911a42d4e2b6d2332825c879d88495c6b78da67c3d2257785810bc55780e48269f8671810ecb0e96379fbc09f0a90aa7606839cfd2e110166c942d9bc7e283e77ae91a8ef32342f752b30afd674805ddb1e0c878d6c8b6739152d06bb4e838ae2a1b18e68c26cc5e2cf3d18721c1645f226eb32894c0aa4854d69c28121b039bf1ccf353a650981eb2a4bce2788ec226914f741e77b45675e75153c1b7b4af5e46d9c73ff66bc56f388b0529f4b22a7d5485eb0396df91d677faf34bfa769d870dd598e20825367470b7d0d9fd57cbf5ae0cc74687d253a4ecf125c84b83b3d671adb979fa1fc3c0a0848ad47edbdbadc3c90d4937d1521b7c8d36da6ec2fd4f32cead27a011a7853dea406fb984a6f586f6e91c31ee24e3aa065f8771e4a64f25dbfaf7d8d27f2c1558724a4b2681880aac2d562412cba6006da5d088e1f44183f755452bce5d372c8314e732eaac2f5751af1dd3785dcc8e67555d71d42bea51596dd0d27f3abb4a15ee472a735c2c51c6fdecb2453130b197226336427f691e2640f1c15ade8c8f16f1384ec427783958f3775940f01e7a658b2f3b72b2d802dbe40290a3082bf75884f806cde217ab54cc5fab311596a493e70aa8fbcfaa9d39120c479360209ddc725e1fea12846d3cf0cd66d6b4e4b339d27af9d8204f3b5e9d09ae571e222a912887803b310f566308cc97f76ee787c338bd6b387e0cdc8d10d81085e2e926c7b260cdb19161524b11e1902be5632abd8580d7708b280ff97573ae0a2d853a4e86eafc839b45853ae8a58328480d9d07dfbc06c13413d9b198b47a6d65bfdccd0331e6fb492a38e4abd483bcc00332a7a2397b41ebb23c6f1ce3f3e8088b13fd34b9b1d94487df794e0144cedcff2597b467aede4cd88dde2c429249035301d989748437fc3458044868f951518b52d860e8c5592da34391ce3852726614c41717f90acfa5653f1765dc637fb1b63440299cbd79bcf710e2c3a605090c9ab24a238685eb9e0eb8607c5d814214269964080aadcc8a38491595d0b13c5ac23011dd4bc62dfe8c3e3ffa907ff5e6f673b7d52ad3f78c174bb7c949bc94743e97b6aa8a767dbf67fc136a0801ee4eac18e3b422e7d5ae7dbdddedc5071a9f466d9cbdd9f6ba3e30ab4b814bf462e589419f0288256e0778e5e3525dce1732e04af4192ce8793d050e37373df671736a8d9acbbeeb30b1b68199753954398fea78b4a1b8d21d5ef82a929ee2a7794418f7c696024683838708b926ba857401ef8c4a2888b0fcf1ea5e3e69d00fe636c7682be985c96347e630c7e91d59fd0b509367bce17a8271a0af62bda6102033d5b8c9494b61ef3b1389b2e467d325ebeac43a92ecf53ea735eda3a405e8f698cd04fbd453c31649fa2d7ab95ba259540b8ca0a9664285900d4b3d20a34068d93afaf301990a3ff1edc192a3dc7fbcfe96ec23afb589277acba3da13e292e54ee802ffa58f7b1f9c20fd915f094c81622fd83f07540184c54059f2b0503a626a55360a1c2c83e64ae9cd2e283160e76f775930f6b619f168f807f83af212b220bc844d88a0f65ac8e2ee744cfb51d8519eee4276941083297e81af3d680a3bcff725dedcef149ab8a17cfb642702f2a8bf7b38f97f2332ab8db1821a6b841154fc54b2899416036c65fcdb9611703cd7aead0640ec23ea38b7d13e55f1f2ddf9a78a775948b39c9abf7f2fcece22bc700134c555da9d21c8fb5f5320573b0620a4ec94f3bd3ce6e98d92c67fdfc6bfbcf715e1fd56552c28f6dd371a2bfdbab54e952f44aa269ea366c2d247ab1a176c4fdda0d6d96ac4933ad6b76857a814c3c089321252ee4bb641f8e94f16855f715640cb4ebc5203945496bceb3f9765aa1953e4eae42c043347270a6dd4ab1db52948bf851db9863ad46f5b2db19c23dd4cae2423206a048455fd106fb91874a91beed860286281535003680c99a50472bd79c21c4c7ec51730881c419c49638e50696be44a4b290f4f1529dec0cb1634fce07d6998561ede4577bed7126ebbf00b0e17377d774b0527fde01ad6f457d6ef80ad99037d0c80d067a9f0e9dd833a6ebaa08927940b1ac92aa91194b180cb9a6a9e0b2e5364d236557d523b063860487fa9e932d8ed0c8a4b402c13e7005e4ea6105645356e7bab80ab25c8bcc77d73e4ea852bc8e3e2337aa48a10ba55ea394ea31465d39dca6bb111e9bc0ca839a55e8154a0ad509072ea50501b9af0117b857c3a006b62e5ed5c5b49060546f1cd9b4e2a1acbda57e41ed53527a920b6aa35e4518f86c6665a991b6dc1cf9e59a5e2497f5cc020905a24ed16c1b595a2f71ba91f2553072c69d4f9d6b02ea34ba32b47a6e234cd9de3cf40be28815ff4d65a267013e96420b11378f00401fb5243b43d483318eaa07f0066235dbc582051a8e35fd855881a7c2e8eab14a5bf406ef239c4ea2caf3438963333e692d15f1b9c05fe7e3110a1ff6f50429d22ce162b9e4f8d3078a007d364798c3451c004b0139aa2f883e402a1399d97a3386e74686320a29a682bd23e027728c8a6144d4cc454e90a7d520d0509d494ee89f0b6b1ba45c277134d418eb28cfbf2a6d07577611ae7788fdfb90aa47b2d77773213e7daaf619b42835b7a45c689a7f62c8274d1a2abf5befc459e1e7a5f500c5ac2099942e6d99e863efe5583f1b9f959301adc838d971610c71c065302754ad45938cf3b11d18c786233ee81f9243fbff9e9eef6f5fce98be4e631e3d4ee98d96b0914aa1112574b09580f438f3bce1e7e64e7bdaf0cefd96e580aad1c6c90c68aee9f897a2c0d8752291cbd01b77bca48770e937382a703114e735eda5100e46de6faa42b9925107ab4b7bc905a75d9eed76c7afd57562ddc3a1a11ab62c3abd3b1f3bc4a0e853b48b80d076b7e50babcad5d16fe7305b0565f0f693ad33745eed4f63b1d3a1705c9c50b35a2c2991f471e18a77d2e69006884b0adda52d038ebe4f448ecd6ee96049423b3afa6748b8d2342ec9b66db6a738875896e81c4794a47e2d48d65106336622749b217e7ad7c1f5a9d693b063a822d40cad5a4f1a811bdbd7f8c61dd4473854bc8148b866c4cb4710fbbc11fd6de8bbf498da06e6f8c88b83f71b367237714c02b62bac374687936607e4a645386fb42a4a7ebdc252cd05530c69897f7e84a755086feae0590774605c92f3613b6db45a315aacfb087313caf76ed9e02114bbb7d1182be84c8e32f1c18815b387eae96e5594d0aba25ee648ede0023989dff5861edb4ddc542fa4245b3415a35e4f0a9d27a2e02fc5ab23a53d6f77cf18beedd26cf53213b4aabeab24f5b064be0525efbaff007f8be67a5598525ccb52bd95aefb2185b0e3d38ba6792439cbed887bbcb10409c54877a33b974aa10b03a52ec56b32074827a339541c8cc523652414108f320122b64e4a9547e60a833c1623d6e1331a11f78ce8f11e94e42ef8f95084134b310cb601495c3a534003b0d249e54716fc4aabda04ee1c21a3923ebc6cf32b0d8023f98b6734707277ae78c6e093efd2f8f663f8cb8b466c3402458d730c54f7e81039612bea6a6fe1530f94f4c85eb435fc075341bd500d60276e1e50ad2dce3493d4f1254274fd137ac1163b14670e074985eea8e47562965d9699f5a56002cee343db8e0cf85965c96686ce0efad3a7b306deadd5dae5592c4af22fa5e4e2daba9f5519e232fe7acbe5b8f64db614ebbcbfbfe1b2728d410f302171a61dcd9801ed3ca922253c30567c48869e95e439776579fa3a65c5762f4249646e54ab62aab83cecaa23f0d73c65312aa1cf8e60a09b0006cdb5a7a219ca78dc1671a82cb5b380972f07062ed65ca1e78283ddfa6591d53d08a702c81f4aa93cf9aa565e6bd9c6d3eed8202b9df93765c589ae8e604e4de17af906f4bfae2d456da12cd8aa2ff372013ec11f1b89a7178f7a9c66bc7d8ca59c40a11bd10be340dae97ec9b5e7510a26932cf918d21890d8574e61952a910d4a9237a2b0f76c1551e865fa6abdfe9949aee851ed5bb09c23936ce2a76835fbcea0022acb4d2b0aa1c12d12adacf75a0abb8648367b999e8bc4ca91b3f7c0a7ff361b4cf61710f58eaeb48d8d6a5aec256f54836b0d05c7f1d6f7a3b2e073b2511f7f3c7a20e1f43776e37d9edfa9e87720eb65ff38c5aaba31efb5b54a0727ce610614228980f5e36a9ae2e4c45acc80d5cfae414a3ac363483be9df1ebf659a72e6ae317be650b65dc1d5c11d237817cdb24b9f5e41bfcdfbb1ca834eae2d4ae10f2fd7854309b41b1e9219c4e62eba61079976890a52f97296af5fb7dac36f481917c9c0223cfd31d4a3f42797caf0e6e01c34827f4f62ef01245c241698b3d57b71769d8f566ef80037100d5c28411775c8c0894c7e56d91df165743b86ecd001a00769b9b1538387d39ff0c7db23e5bdd08c6a80c3b61829d72cb687625ca8b998ca3b8cc4d82d670dd1c6bdcc5fe3c9d0b138f4ba67f81e6e6f92ff6dac2fc1f6cf894ded2022e8b2194450265abbf497b2de76e67abf31ce2d50bb58cb6bc8782cd2f24dba7d36a9e6c17c1ab8e59ae0def1654bbb369de86aded8786d016ebfb1160e5b4fdbfbb2e8536a1900fda80b9e9a3779d124c12021f55fee51105afa15750ab77956b299cb6e81fdf9c2152841fa89140e4d6267da51a07451ec955ed9d3d7da36cfb787e442e5d37f954a01018afcf29328a270dbd04032011350df07025aba4c810edcc28bb692a6830189f4d1d34cd3971a69a00a35d4d8568e4c850b80d990b632265280a5a3cb5622b6c3b1e93266788c37ea82d567abf7f7271cc11b22f3442966bda3fd99e3440b5f12a7a9fd8f3e10fdcd7f2f10746e0a5954a2465c3196afdaee35966832f735ce4f5a9fad5313dbe4fd1c46b530015302ac375d37cf5106474c8378fc9bfb6257401f1e9b04b8dd2ba827e1812bca1453eff1d889343cb5c0f85b4fac7b767177cffdfdac13dbd1649c2e7bba67df8d8f0c8c8e70186f8fccca7d606a2efbc19e4c0395665af1f73b5e6b68181d7e81cdcefe4f536fb7e5bdbf59ca6a0c0133d0348a855a896c5535c3bdb91a502164ec68d648ffc3a44412d0cd76c465a5bea3058a33a4fb111036b3f8e380bde9daafc09f5fbf0aa439f36d68c1dc4550d19288047201786ff9dd3cef6d409a02286306cd872d47b9e73ff0adbbb7e87ae81f58422bee202798504f74332ed2b6f680d28a5b7b9e99fc1ef643b0065354317de6acc20f51f1383a0cca0b6afadea0f9447c0bdc4936e68c0db1a93c36e9724bb752d868373031f6f2c70b183720ada15861b6ec50b506e06dcbecaadc715f1932672c2a4a294bafede73caa445c772b8234c4b13bd8e2dfa0058c60072a0274568be44109a47e27c3c77751df736f2ff308ddb169d69ad5bbd61091da410d6325746fd848c7332de6f682a60da42f3ad0a3ed5b48347ae17a612add6cc1885229bb3345b14e1818c84875261a025c32bc769077d30d3b10263509638a46653d98eb71baf07fcc6972ff027e99e7b177b42f5a0dd834ca65cfad2cbbaf6e646aadc9705f1b6a0353a6285488a431acde542b76469458590783080a131bf440002b40039d066c5ba7941dfbb400000cd1001c382a02472ba82a4400a500002b900045584946ae00000049492a000800000006001201030001000000010000001a01050001000000560000001b010500010000005e00000028010300010000000200000031010200110000006600000069870400010000007800000000000000480000000100000048000000010000007061696e742e6e657420342e322e31330000040000900700040000003032333001a00300010000000100000002a0040001000000e900000003a00400010000002c01000000000000, 'Dame Agatha Mary Clarissa Christie is the best-selling author of all time. She wrote 66 crime novels and story collections, fourteen plays, and six novels under a pseudonym in Romance. Her books have sold over a billion copies in the English language and a billion in translation. According to Index Translationum, she remains the most-translated individual author, having been translated into at least 103 languages. She is the creator of two of the most enduring figures in crime literature-Hercule Poirot and Miss Jane Marple-and author of The Mousetrap, the longest-running play in the history of modern theatre.\r\n\r\nBefore marrying and starting a family in London, she had served in a Devon hospital during the First World War, tending to troops coming back from the trenches. During the First World War, she worked at a hospital as a nurse; later working at a hospital pharmacy, a job that influenced her work, as many of the murders in her books are carried out with poison. During the Second World War, she worked as a pharmacy assistant at University College Hospital, London, acquiring a good knowledge of poisons which feature in many of her novels.\r\n\r\nTo honour her many literary works, she was appointed Commander of the Order of the British Empire in the 1956 New Year Honours. The next year, she became the President of the Detection Club.'); INSERT INTO `authors` (`author_id`, `first_name`, `middle_name`, `last_name`, `born`, `died`, `photo`, `biography`) VALUES (6, 'Dan', NULL, 'Simmons', '1948-04-04', NULL, 0x524946464a35000057454250565038580a00000028000000e100002b010049434350480c000000000c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a00000218000000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d6561730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d322e31000000000000000000000012735247422049454336313936362d322e31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058595a20000000000000f35100010000000116cc58595a200000000000000000000000000000000058595a200000000000006fa2000038f50000039058595a2000000000000062990000b785000018da58595a2000000000000024a000000f840000b6cf64657363000000000000001649454320687474703a2f2f7777772e6965632e636800000000000000000000001649454320687474703a2f2f7777772e6965632e63680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064657363000000000000002e4945432036313936362d322e312044656661756c742052474220636f6c6f7572207370616365202d207352474200000000000000000000002e4945432036313936362d322e312044656661756c742052474220636f6c6f7572207370616365202d20735247420000000000000000000000000000000000000000000064657363000000000000002c5265666572656e63652056696577696e6720436f6e646974696f6e20696e2049454336313936362d322e3100000000000000000000002c5265666572656e63652056696577696e6720436f6e646974696f6e20696e2049454336313936362d322e31000000000000000000000000000000000000000000000000000076696577000000000013a4fe00145f2e0010cf140003edcc0004130b00035c9e0000000158595a2000000000004c09560050000000571fe76d6561730000000000000001000000000000000000000000000000000000028f0000000273696720000000004352542063757276000000000000040000000005000a000f00140019001e00230028002d00320037003b00400045004a004f00540059005e00630068006d00720077007c00810086008b00900095009a009f00a400a900ae00b200b700bc00c100c600cb00d000d500db00e000e500eb00f000f600fb01010107010d01130119011f0125012b01320138013e0145014c0152015901600167016e0175017c0183018b0192019a01a101a901b101b901c101c901d101d901e101e901f201fa0203020c0214021d0226022f02380241024b0254025d02670271027a0284028e029802a202ac02b602c102cb02d502e002eb02f50300030b03160321032d03380343034f035a03660372037e038a039603a203ae03ba03c703d303e003ec03f9040604130420042d043b0448045504630471047e048c049a04a804b604c404d304e104f004fe050d051c052b053a05490558056705770586059605a605b505c505d505e505f6060606160627063706480659066a067b068c069d06af06c006d106e306f507070719072b073d074f076107740786079907ac07bf07d207e507f8080b081f08320846085a086e0882089608aa08be08d208e708fb09100925093a094f09640979098f09a409ba09cf09e509fb0a110a270a3d0a540a6a0a810a980aae0ac50adc0af30b0b0b220b390b510b690b800b980bb00bc80be10bf90c120c2a0c430c5c0c750c8e0ca70cc00cd90cf30d0d0d260d400d5a0d740d8e0da90dc30dde0df80e130e2e0e490e640e7f0e9b0eb60ed20eee0f090f250f410f5e0f7a0f960fb30fcf0fec1009102610431061107e109b10b910d710f511131131114f116d118c11aa11c911e81207122612451264128412a312c312e31303132313431363138313a413c513e5140614271449146a148b14ad14ce14f01512153415561578159b15bd15e0160316261649166c168f16b216d616fa171d17411765178917ae17d217f7181b18401865188a18af18d518fa19201945196b199119b719dd1a041a2a1a511a771a9e1ac51aec1b141b3b1b631b8a1bb21bda1c021c2a1c521c7b1ca31ccc1cf51d1e1d471d701d991dc31dec1e161e401e6a1e941ebe1ee91f131f3e1f691f941fbf1fea20152041206c209820c420f0211c2148217521a121ce21fb22272255228222af22dd230a23382366239423c223f0241f244d247c24ab24da250925382568259725c725f726272657268726b726e827182749277a27ab27dc280d283f287128a228d429062938296b299d29d02a022a352a682a9b2acf2b022b362b692b9d2bd12c052c392c6e2ca22cd72d0c2d412d762dab2de12e162e4c2e822eb72eee2f242f5a2f912fc72ffe3035306c30a430db3112314a318231ba31f2322a3263329b32d4330d3346337f33b833f1342b3465349e34d83513354d358735c235fd3637367236ae36e937243760379c37d738143850388c38c839053942397f39bc39f93a363a743ab23aef3b2d3b6b3baa3be83c273c653ca43ce33d223d613da13de03e203e603ea03ee03f213f613fa23fe24023406440a640e74129416a41ac41ee4230427242b542f7433a437d43c044034447448a44ce45124555459a45de4622466746ab46f04735477b47c04805484b489148d7491d496349a949f04a374a7d4ac44b0c4b534b9a4be24c2a4c724cba4d024d4a4d934ddc4e254e6e4eb74f004f494f934fdd5027507150bb51065150519b51e65231527c52c75313535f53aa53f65442548f54db5528557555c2560f565c56a956f75744579257e0582f587d58cb591a596959b85a075a565aa65af55b455b955be55c355c865cd65d275d785dc95e1a5e6c5ebd5f0f5f615fb36005605760aa60fc614f61a261f56249629c62f06343639763eb6440649464e9653d659265e7663d669266e8673d679367e9683f689668ec6943699a69f16a486a9f6af76b4f6ba76bff6c576caf6d086d606db96e126e6b6ec46f1e6f786fd1702b708670e0713a719571f0724b72a67301735d73b87414747074cc7528758575e1763e769b76f8775677b37811786e78cc792a798979e77a467aa57b047b637bc27c217c817ce17d417da17e017e627ec27f237f847fe5804780a8810a816b81cd8230829282f4835783ba841d848084e3854785ab860e867286d7873b879f8804886988ce8933899989fe8a648aca8b308b968bfc8c638cca8d318d988dff8e668ece8f368f9e9006906e90d6913f91a89211927a92e3934d93b69420948a94f4955f95c99634969f970a977597e0984c98b89924999099fc9a689ad59b429baf9c1c9c899cf79d649dd29e409eae9f1d9f8b9ffaa069a0d8a147a1b6a226a296a306a376a3e6a456a4c7a538a5a9a61aa68ba6fda76ea7e0a852a8c4a937a9a9aa1caa8fab02ab75abe9ac5cacd0ad44adb8ae2daea1af16af8bb000b075b0eab160b1d6b24bb2c2b338b3aeb425b49cb513b58ab601b679b6f0b768b7e0b859b8d1b94ab9c2ba3bbab5bb2ebba7bc21bc9bbd15bd8fbe0abe84beffbf7abff5c070c0ecc167c1e3c25fc2dbc358c3d4c451c4cec54bc5c8c646c6c3c741c7bfc83dc8bcc93ac9b9ca38cab7cb36cbb6cc35ccb5cd35cdb5ce36ceb6cf37cfb8d039d0bad13cd1bed23fd2c1d344d3c6d449d4cbd54ed5d1d655d6d8d75cd7e0d864d8e8d96cd9f1da76dafbdb80dc05dc8add10dd96de1cdea2df29dfafe036e0bde144e1cce253e2dbe363e3ebe473e4fce584e60de696e71fe7a9e832e8bce946e9d0ea5beae5eb70ebfbec86ed11ed9cee28eeb4ef40efccf058f0e5f172f1fff28cf319f3a7f434f4c2f550f5def66df6fbf78af819f8a8f938f9c7fa57fae7fb77fc07fc98fd29fdbafe4bfedcff6dffff565038201a28000070bc009d012ae2002c013e551286432187bbe606c1513ca7dc9b6ad00bb033af92d6bfd74f625203cbfe744767005ebbcd3ec9de9bfcc3ba0cf9b0f373f52bfe177edf7ac7fbc63d2ca3f99b8cd6e61c96d85c219876a4c6ae2b30c823e36935bf0f5e7abf580fc6e85f088ce5a2de3853c382a5e9cebbe8bccbd857beaa1b64f3dac9504bddbc373284ffa2f71c404a95dd3b2a0beac5b0bff61b76ce5cc876b4fbf3f46614c1e0d23646a892b43320ed397378958e642d8921b4a5df3be92e77169beb2848c16e9d174d730bd9c70cc4cc8a9187e50d84f67a7221db1ffe3a582d7a5109702b213002b31475800505ecda8040647f7207c7a67666a4433a6547c03655a4cd1002e2a8b37b48ed653a299d86b4fbb04c22fdf56547271751aaa57359994a61c2997ecdb52b634c9d027a93113e7ab336adb0bf987881bb45f0fa4424f048db4cbb0b5ededd6c98a68e57c164e6647c5f69e508524889b18e29af47b795276341753813a4e1e332771e7ccc51b1fe8b97a74b252ad8f35d2cfeb7ae020ad8a1b8fcde312e8547e9bb9fc9abced1c363f4d0cd1b8a1a9651e6b1124bd9055c753d525bd6ba60b528978f0cda284b0a0b27e3dbfca250e55966d0930702a21190c5bde541b7bad47b2cff18d9674b2f9c7368db7c5144052f7cfa800972bd88b0edc35d5a1a4d68a8bb1bd19fe1c9da5f5ef3881011e6ea39779839594bbcd03134e2b634b1c27cfddac3b52c696d087cdf2d01900d3215afe50f624826fb99fbf1cb34296300ef2ec5929a1c2a442d60bc027b73fb1faaae9dc6c546d45e06ac193b33155b6da43ae07ffaaa4aceeb0b2c1f1aa350551ca202313ffadf70bfeebbbe956c30be92a72b0f4b7ccfd1fc3efd1665665b1753a6ed882ecc33788b4c68ba34fbc4195bb59ee62638d4a729fda4f575ba9dd739ba210f94306f1c79d562d1799b1180470a2299f2e585a37b65901697e7a5606591de80396c13ee8208d0ef9ba40bfbcf707f21231574677c147102443166a3db69aad556c37b1065509923ebb8b7b795cb5d104b5499fccc03f2743fc085e5c747e009fe7b0508123f743fa674ba3897cdb6c756ce4938e549c17fca28228d0f77e7f9751a57adec0ca4085e31a535d35f5ea257ffe0a1c15eb65429e6c8c63e5c6f94fada04dad821a654764b6e82433cc2139439f648f4c0370402025fe6dca2b629d2cd2d8ed9c87e7d714a54fde7386df193baf51fea71041d98404519424daccbf1fcb45ff0be91b9ff0f2e3ef0b4a9929c665ffabeb06cef7c0511ec3dffe6ff393bd214065cac3d5ab1794e74a337808e2f48821d957590a36bc0fdfb785ef9ea2e5d1490b49e87d00aff8cd02bafba4c4bf510a59e3eb33ac5dd4dc49faad162a46450b5c3a4e0bc719cea1ba68cb25ceaa367308d763a972f311de7e3b62cbb36e313047c115c5ab24d98eac8b8f97ebd91ae08d589d3d8072c5741f4c88ffc8f1e0d101e1a58c9271075b0c59d4cc90ec0b313f2724925dda9b24ff8a036310625b814c2f6e4909849a15e9c4340dae759e1839f5ae379a2473b731ec41e7a7c86b9c73967a400447d5896a5f7896b08b917454b008f4c87fb0bf52e992ba11b4f95a361d98cd7b6efa797f03e69b61cbd7559d243913e6643daa2c4cbead50c723907ae7f1d4badf3f4591bf8ec64f2548d31f539871a4bf90ddba42a949faf2e565f01f46a9aa4342e4e186149fa29b1926f2e2f33fe46139c32b12523c41d160bf18fcaca8e4845030a29663e0c10084a827aa8ec39273127b86fa205ca8635af38312efc9d7c56ae2d1d05708a27105af4553bb5c36ef0c0b239e9eaa1be837ac3004f1c647ab2cb66cbb5a34e0b31a58d7129310bf95695c951dc1c138ce07e4b1af7ef95ebb11c403838771163f116b0bb512ab6c63367a618bf227cb4a6259210dd12c73dc6d03af77f0b0fe3675409f524718dbec2ef845c6d56a1e75961bd8c7ae38d1b0e1c78ddbc9bdf2a8dfee7cadc14826ddafcc7ecc0103410360d00d504f0e5ac9386b2b1124c844afc639aec38ab1f75d61f8535b77a521e2106a0417c9eaa34f10ca02b962b53875ab6ef5b8b0d5120fea0c9b63a15c481f1b43eb74b5d43a6a7b000fefb76c32070b5ae8e5e4f8e3803bffe8916829e595b678b7f9bcd10c01a7d8be4ebdf2ce6fd08121cdac4991ffb3eb4668a071929c16a26d08f69b1ac5a9babfed64dc816b64a49559a7cae641c3e6686a1a02c854d32d469f71ced66035a39a614d5ee70017be18c5c1bcc39a2511cd71425f404231a43c032ef4afa26d21e39bdb1dd53f30672fb1e88108bd963f099a83c0d029efa242c2c061d3994dba3f930a6af3e93934062cb41978ca271c689703abe75481baf9987bbb22cbaddc0b626cfb81d37ebc8c9304535440a7741be17318ef924e9dcdab1a924db035210dafde82eb5f7dafd5f72948fba21034bb43cbd18c7fcd1657ea70993d344954d3c60473a9dc1e3996f54fb1ced565fb04da517f5c937f85a46fe62fb97fe03d3adea9c8e572ba00a14b244835654556fe87d16b1b25fcbd041ba3eb86ddcdf407ce81974554f8af0725decd51ef4e93fe4059e547e8dda4c634ad67bb6a01d88ca09f5fcefe1d1f8d26aba13e9b776c262541d04196ac43517fea0f7ce1d54a6e9c258c9d09e9b350c792e72c440d35d17f09a50f27a8f97d56e6e9c593008fcb9831ac6cde9447174d75670e82e0425330bce223e5c1f41e888c3dbb7b62222bac484a1bcb223cd33c469c086b8395d52e83270e044fa90ba18cef2b39a02037c6b0b0d27f1da6c09ba28b3285e4bc3a359dc72c1ba7e1759a0fe7cea447fd7ac13bac56c5c8f8bff029f9cfa4389c5ebf4c2de4c928a0500877cb5d5c65a623a1ead788415711e36ae0ab5287277f93a8a035e70528235ac8360f953882a098240185f4cb3e8fb4a1aaa566a7231845365d704ea852a3f135bdab467d45ed05f756709cbb4849aafab27a987bcc2460528f8ecaa6053690a56ae500d9896a749aa471978f3983b62e2de4f43f2cbf335090cebc33b1b4936947b974ed907ef23caa226c5e356f3e49e7c1e7f70ba93b6d30f8d6bfbfe6b81ead52c8ee2a6aa4d7bb1e65b31ee3b536163d7789ee0e189654e287bd7c203c05b1d53c2f0fc17fcac3225a36d48d6ff28e9295ac5d91e03222ddd3bb7ce6fbee2144e2a5a25db77ad166f72af5cb3002e37fe8dafde373aafa7d8ec9861b1617655053afb0e13e9351046c4878eb604481dbc6fdbcff38b7e103684dcf42842e47e289aa0712bde33a8928d62c1378eea9c2eee482a9b8d7f9bdc4b2758224aba02c0ab0ec4596317b44eaa50a9cb2cf5a5907281a7ead0f025469823fa00f5364bd84d1a45657fa50668f17892555972963897211bbe6e2794c85905b642198bb451598e4eb6c726fcada0bf2df80f1e3fdbb2eb9350def9ce879e602641b38ef5545ee8fdc25be4d2eefe4fe42d3fe0a740d5aafc2f9d4cb7bb10f5e5ebc17a52917652a3cb4b0e6f7fbe28f296274aac770fc12d3e199701e8dd43c62339ca545f73888fa2ef2e265f6bec26198bb0deb27e8b054a8936fed5bb73d6d6bcdaa963f02de1c34eb7f471e9f8886d269e63d1831cb4892c5a83e33568e29483aeabab2ab7677af3d1da31555a98e9c9bfdc7d20207c53dedcc8b21f47ece503102d70c7682e2be9e615e096967a6b1e6ad371005e00d94d84d9443f112711f60c0113095671c63d624d4e7bdf0ddf630d0829acb0fc75ebefa72f44122109255c8b9a86d6910446c80634fe9e7357067b7a2e8c8f454d38c17cf61608687a0ffeafdf7ef35ca32f2c5d70d8563021a5aadc3ce65495ff5865f6c55417386ea23c76a0e3e70de7ac263c2009b663bb89c904690c2da7470bc52969556102f23c96e48dafaa66927f01839dc669c27d6af299030f271cb5a7b99874fb02c59c7176f9dfcb28d4609792252627d19b88595c168b73e37501d64dd2a38e4e6e71aec577275adb1c4bc373ea21f073d9adadbf6f4a332074e199a8622efaf826f9fad18a0389ef425298dd71acd825ef0b2c7538a6b23185e36406cfc92e1ad71123d844346141701292ca1ebc4fd97c08b950b4781d23e7cf24002ff615370f9dc51de333737c29fd91e5c5018fa2aba6e6adc2c080ddd89619f5e684ec843d1c9c92f8fcc809a832f0b7d4c6370c285f0fd5d8ee5ef498d5c08b53e6b99763eec9a0773338b5b98fab5e86840254b87aa38df9a322591c26a5a7348564fae4ac980a4361b65d2d7226f1008370e623399d4bd990819089c6a1121e1b1195154e550c9c776dd9b377be35f068820f3e7a30ea687db877d3b3eff40079a47f30fee283edd153d562498d202cea6cf808a3c6089d1172e757bc72bc9186b27d58c9e27b95c4b2a727ba00833447080831c2ffb8526b2e98bfbb06f6348f70994acd9530cd66bf319dfdfae6e4a6678f72782f567694310acc148018fbbcaa0ce9cd86d4dfb98cdaa9956d9a6445db987314bc9baa8b263fbe2ae0f47f37ff450bdeb16b7372130cb4e29d98b18da22418f5c3b8c58dae4400397228e42e4ba0ca3758ca63b454f387c3e5cfdff016791d1cc75fc99c23d443d317f4ad3e937dad1ab801a7c8967dc63fa789ce47e7e74fce55190f49f4c67858968ab48fcaeabd371af3829f69a59f02d2bdb460c70741c006f4ae376ff39d2b0f45450d5645518cd8e9278fb475ec057f1ea7763b587ea28f94d6a27ab393825cbad825259dd49bb698776cf64debd42d5d6dd16b7545d83764f7f92347d3d6dfb1ea7d71dbca68e5299bbdd359458043755aa4b04da4c4661dad8503835ff37602f0037bffd44de7806ed020dc7b84a21f7e622a7200efdccbf8f36c4e6099157609e7bf9a49d87c98a22b4225d20b9fb1e326830e8566c3e61c3fc6853e58a2a6a2c6f33a86cecebeddf603c3229153bdf339cc780e7fc3cda96957782ef74bf48e866ffcd707d6eea917c636d7895e77f355bc95166a646c7cad821c5a505840566b375649fe04c034cb4a1491021bde3d4983f8766bd37cf894c958f7628d180501a6d31c4ae2e05133dd309267babd248176f9288eefab679e897923964b32b102f3efd544cc5471af25d24a5bcf845403d2d01f7f4aa32cb0f04067baf4037639aa72e9fd7e2cbf24c8d33e0eda47b66434843d71bd87e3fa252b1df76d5e1ffbd5d30e5835b792b3698e59855905e94a9739fbe43db7ee762998fdba4f1c988734b8b07625f9caae885d73cfe0578ca196cf4347ea22f1af64b1589821ff4c6faa13c2d87087067aa1203030149c55be69b971ce3beacfaa187febb1f758a8c303eb436d13cc15088611d3f37a510f8a33dfdf592a36fa72500763deb6a8bafae8e8a4b3d040f23f373ce19fac0545266d43ab342aa57d2b05298c89f23a649295d3650858c179feb45283e5e9f279412abe9bc519aed5879f8e4c61c608098c11a44e3727785919eb805d91d93058f4e6422b3563c360bc22ba488bd8493e44a48c3fb26c77cfbf21a44402d13a7c7c15e59e4549898dd3830cd697c18bcff2ea16c6d60ed7e2d426328ca0400992a6c27c170f3a7c9e59636b6c51221acf77eb8a627ddd26b4ca9c9585a55fed0d5c784bc17b1e5c1233ce485d7439b3f540c2765e4605e567cca18592152dc54d5ab53276294f377a7158efdfe4e8a522e6bd79d8e8ca79b813f566efedea4c11c56121f70b2e85674bf1556de191367fcad16bd627c9f3949e3a76a6c95c34853c53072aaf8910d01a8344ee46a2cb80ea23e8decfec887752a644436f3d9b8320f96f47c10decc543218d461ad6754b720c879b5913abb640f2c68f2d5c3c12921569e8a434ad8cb4153909948f1e693fbd7ace5fa568c82c47560f2af15b113ab343cb1ff847a94ea601b32a8d9abaea50557fd61654c8a619edcb20beaa7a037f6cbb882ef31437a1074a977587e89f69c4b74d2d3eac8926c115438e117ef7d68abe6c24f5bc9bb24b1e9055a2e7e5b8a2dfc227ad97422acef9be2cef94f87615ed0417b000005ae8bce1561d055aef800137947fbda659b1f77aca4a3828de46953c14533cc14ebdda26e014a535794354bbadd9a7ca671e06ef7defb3db204f5ab4eb631053f5eab7dd8708dcf3647e82d81a06c06c279c1ace1dda4612fc99427f8e14b255a39ff5c8cc5f04db5efe4880f5a4ab6fa6d6e23a93fe49dc42e6260af0275a2cb8d0afc75568006ab2c2493d4086fb71cfa5c353a232283b3e2cb23bdae3854cfacbd1aeaa62a7bce9fec09e887153341e92b7e7d8952d1e7ddef9d60ec6e0ee605db00c8bc94db82cf6762b0412a10a4eebe25a9101200f335532975d71e4ab2d5239e6479e55465f6fde70a395e03477d66e48bffad85d7ffb63b9647e1e0c700fdfda0b47426216793d914043faf934d921f6cd3cec4bfe2250d47a95a36ce63229b573bf00726b2c5284372d72c23a47f71fdd7675d27338379903fff68e3093168aa669c26c0f14eb72cc041c0e87835d15c0c657dd7f0d60eb44f2a7fde3965efcf65fe4fb4670eeff6c053a0a9090c39dd5a862a8daae23588870f4ba720014729bc5696a315a7d67c7fa51c37cd9577c88af64d1abb62dbbe3560cbeb81b787e6d4fb5997424e3a208aba86523194f912560948413549e409d089e1af4315bdc2ae5b19a5e787b306ab1dd0cc590c5c984731d8a40c3506b9f973e10caa52e2ff5bdd7c04431e2f3786acf90c8c556bf7f2c363e8aee8c938aa085d3100ce6f0b6d2acb136c2ed4adcadd779e8fa625ece8cb7efa61139183011f1271cb80abd89ab1acc01b01dba1e34a9711db7187ddea357fa6f53fc0422424569f7ff9979056083c2fe8b0d163a532ffbe37c5fb725e7f342aeaf4902ee3909ceffb363817948557d19a548c18978d6a47ff2e8f107a93c092394a35eef7f77efb1cf4dd59e3932066f409de7b386db60b06352e67c4e812433d15ec703737318b386aa9c965bbf204af5d3f2f113d56e3e54727860819d154ac4461fd2ebbe382a440816c141ac1b852e7cb65973f1306dfed31b04ecde80438a306763ec0a91924575cec604f7d5536a47ef1112a2367a0c131790e2891347ff13af2fbb7432d1c93e2b070255d60b5f018762f5ce06b372f30178c49221aae177d536b34427e1cd91d13afb99c30dc7bfbcb0f2cfb0a234bf3ceef5f2b38ea02bd958158ddbeb05cd8849577010de678ba950c0205ed905a6a8ae1012ebbf57bd92f30f1cf897d02b5d5a3037d9586cd6c4db2f5407b6a05d0a1a3d975008b51a6dd8bee3abefbb9707a80c61d40880557a1db9db2ca9d0aaae868ce4bd5fb4a4424f7efae74d3c48baa91c301dcda6ab49d2de958f41008c24142896b7d3cf5a49e292b25890f79d64304377c74100caa27e675bfb5b640b7869b11378921578bae244bc367740ef2b4925ce8eb946c356c1cccbc446e105f7a81a670a5444e062b7ace8ed3eb08613f50d4a653a044f0b90c5ca0a1b94256e0211dca76ec21edcd29eac7236f1708620514d1b0c088ce41c21247fa6688bc406f4f4a0ebad092e12a469ae89587c34d0555049658d443a9f40899184ba1c57f5a2ac74a86720be100e8b4d69d73791d3367f9cec3a95ad4f1b2b6971d35fb29aadddbedaf879bff456ffe0d7d7e1c6f578ce32142b2456b0da05667d558084cc233d6dffa4b4fc546b2591ff69fd158a970a5baea702c08b9e79728f0e1d17f4741b9acda0cbf1bca402ad649835b309c8d798adb2a56c55be0e84a790cc87b43ef3a564c49c797c90efe2011d9495e4a4883a37f2dbb7c587cffcdc244e869d79e955279496e36052729368816c26bc43281995d0becae1f5fae77fb0399d65a160a27156119899235ee287f3ac3e003c59dbb1662f0e262169511d64c70aabea1676e19939db985bed24fa70ba00ebaba4538a9a65b2fd188afbdc108815ac4e1d955cab77c12565b25c0afd12031007e2151772cf7e5333543004e6b70a351fafec1338c87db9ce5e58714af49a0f2848cc03f2c37adfb378ae93cf07f54e2fc9b4cf8189360f59c64d507e1fdc933eb292f9a1f9655724cb2083ad18b537077c2a334c6f1d8c1619d524c159d44190e389df1c8152afcb09d2589e29ef7872967c705bdda77b65beb3a9c57a0bd0b41dd9035ed1b3984035b96eaa2170316d2461a78e5eb79c6ff04bb75f3a97a70f559d21b0f5b617359e0bf93f3e793cdb1a3b967fafe032bf8c4333bb0fe671883e408c414e3fcf51289ef95699302d948e824f8d3266f525a35dc18eee084a054691d9f306d8d736781299e2b85d4ed3d3237b5adcc710e9055d7f33b997c087e7ac66d79ddc004c74af30fe26a1ccfa9b68f9d2abff47a1e2e4ed779f8e13f2d583e6ce3be1e9e1dfeba01a6fae1cf1580df6a7a16252a5c08db738d5d1010ddad0f2add2f97f1d8a0de8b6d490e88e99367df482df46c8b2c2c196d452f9561f2a7843f91dca6308a7e2e8d8edc9b6a872cd242c12ec34f8232a7ba3cca58a892eb62e8640332c1ec3a6c5fe2c31c6c2fe1e0fba1c7b7982fbf6597f929bb7e55d1b7b2ad0f38857da28846058590c6b5e83dff3cddb9a8e1bd74172ab3323a558c5d774621283055003311e4ac3105bc780edf3742d94257ccf296292b6d786de7ff8768ec8ec6b5ad899299a9a5eb2a97635d4fbe37f9d4e88b133f6c737b2bc7011ea0118ad9ee7a18e3d4b70f1d56e2e14781690fd60d4c6ea57c25bc906189a2f49f14dbd6f7c31b7f41e6bd23a7b115878b33be840be0e91b79f6b3791695000073a375d2cbc000db44b9014a0e897127502f084f461ea1097700282e8de04b838bdcf317aeb2caadd968f1ea32ea538a7a46a9cb99514900b9258865d7d63df7168eaefd77e547187dc8ea0a81c063d2cbb86a3dba2d1fcb21b82c85a2de5b106a9bae933095e2c4131062783076e26b73162ca0d27f46c0d0251f6e15928cd1876299dc6acd5a7e91c33e86c3d704dec8d0b89bff1dfc81103d74f832139e7104c6d357f999d5efe2ff69b851ec1cd6f787f2d0cef5f24477bdc54d7732a0470e382ad69282d86e1f7a1defd67e26ee71a41d948cea20e057c5535c475d0da8022943d3ebfa73373c14102ee126e4d7ae9a764f23c46b47b33e5554831ad7858660b230437c968689c83a8561a47757cb9951e792fc237dee74c70e8218fdf53f9b032b91c3793fc754a8d0cb7dfd846b9fbaffccb0c8786a4879893eafd603d1a38319bf5d8d9af76e5c7bd89a9e0c1e84abd97c769b8932171e0e174a94c242f5b058e2cb4bc8a8e162c83df3c24a579f8ea3a6423093081ee3fee86d6a90d4b4eb36db88a268416c9d69537e85c353e0032ab982d3b81fca13a6ec4d155bc6f04b94b02e34fe73fac18700dfddca0884c5b472686dbffab4bac5acfc048e047acac615f910be5ec9ca8aba14b7be42bc825231c0932954985862301056026245387b7b5e18d89ad0c55676fc24da35e106cf0e2ab0cf5c95c917f966d97db8f1cd4bbec9c1c2ef453c3960da31b0b87e46947f048754eb562b25b981f7e75ed7dc11bcc17fe20494439efa9f5638ed2d29d2d967d69c3f800ee9f198fccefccd1f3763547a1757c285365bd988cb4a161f1ca49f9c614c9dd25540fcfa9819186adbb02a00eaca680fd6d7b85f9262dc3ca513927839bf2bb8563369f0083f955c78ffaf634e51e1c8f4829581bd250769b57b3e5ce9cb744fb1de1b9aac30ea824f9463001e32a8d4d140226d9b9e5bccc0c6df00d924316fa014a228f7d8bab5d35aaf726ac2a076573e315282bb3812c0e0c9c36e716af8592ae3e5bcfe612c2b7503f60e75bc3b8f192089e216ac7aa79f0767d6df115f93d4ab4b93db7fdb03d1fd0794870d181b04d4442f4f5ce9aefa8733e1e72fd64e35b046d130266277e9e73c6511379709ceb498dca25d0ad46193a330e0e1febe91b472331361a53789c44960b7a0f85a76973f44be4d5ea5052f9fa096187c8a05d78962a1c764cb9570fa7d7a63c3562f68c478c8e518e8f714fbf1ef6a1de7a3a7cd41a26965a54524fb9bafdf3016e56507c1a8be6f87e75bc2d4a9949abdbcf966fdfbe696ba8efa4f0d2c695b1e75a62c937ee1fd4c8604b51a33b8f9b0a827bef38d26a28e9ae0c3695c4a2682879f3caaf182d24d2fc48584d00cb7a50f28536a57a9af2d86bae80cf44fdda30e822eb43672612ec861d9f788842a0e7dd509913824d670184d600d7f9e6f2550df40ab1f91177f39a93f7b03eb531ff1eda6de05eef466dab16c7544ede676e11400fc1518e7256f4b1ea3939930ef339be2b344022e08828375afcb15f106d32d797aac15b30100a0ce495405eb7dbdc7106bc7e41148eed533eca5a0b0e9b192399ce7a94ba08bc27eee5728e1435bbceeab3317f5da62455818489ab3ce152046e508c2598ff1a4c1b544305c191b30ee1e038ef59cdabed10501120283515ecdac22a3b697613aa8caa3c20b66b5dfcae937e05630a20790c9f60235f7d06205f5eb4dc2bfa85e2ff3677a46553c3678a5a9edbf28604dcfad98f60bfd0967380038c5c4e3c2609e1d1b6402d4df2d2c5f08aecb2a9c98d9b759abfbdbb645fbbc34f69975749878da36f2be717821a313979916862a58cec8157f0b4229e54741a007f1cf51cc2993413e76283885ef552c3fd271438693c31888706f37c199079b481a6ecc71f8e64d985f1f3b421aa2ef4e1d47d71613177d9a6fefc1bb16c6043479e4556d3a27ec33d098f8c0f7965f095793d29eca373946e9594a32eecc0f600239e3a4b6b50a03e6253892d94fe326a6ea090da89ac5d6b2cb51d38ca8caa69ffd64565ea86aa56b52d26a51eaf1968b3f400fc986508a07c806bb95064ca67af23490faa933836e6d633ff1d5f0fd85140965cfac7a97e7fb014bea3c7166159be190a98194a93cf5644f7cf4cf20e9b9c3017c475425f34037400f197afa507d21ab29cd9050f4330a8823b18ca4e22e47ef20e35c4ddbb76b30b383bb628de70d6eacbc2bd55f6f2abc6496ff0f954f8faf0b78d6561ed7c85d949c313d627de246981451abc4df90e13b563c880b0259075d13ffc095351919208ff45742646070a031ac2dcb6012b207e3585180f1db61ea99db5630521ea2e6b091d77f4dbeb83137ed6201dc38ca26fa0522c44ee9d3a9bb7fd05b16ed46322245e97e135fc1a7f646dd19ca6c9bdf0a692f5a48802a007de64a2a622c817824f5d8c760ffb1f07bc76e5c4238219f632bfa662ea4616fe547b53df6caea381924ad2d25d03b656e5f353f43a9272b03890f1520d34e57af1bbe7b83d94ce0f201b556f476b1521e9b63a691ab8c452e6fc2a65a81e4b2380e819871a46b929d6f8b15e6e71d531b95a10e454e02a7d4e005ee39c5f605fbdec255672c595ac21e7c99eb0a1cb4a5cb6b002e7abf0964cf6321b5a54ddf372f87fc8f31e024415bf9b513430eb9864583b826475b713837df9b7240248831a7b8f5de281eb1737565cf34c68163111ca30b2728d72cd0ec6d6363814cfe792d817248fe985514ceac502057f1a85555a129436d63ede9b9cb2f2f86c9b72de004a37da2cc32d29fbea554e1465733545dee0eb9eb9689b222b597afa1408cefa68e9ed30349f56d3731f536cb4852c96d361cad5f39616e79d78f1347d1686a21f6acdee40c492269dbee79e9a6a7ca4c2117aab03da0a71f2cc0181929b8d68630fd25d6511905d8a3b5f7f3ca8d08b4627b1a74a672a8d144da3c2074f234d528038d1f79c7e1095c5071ee689141bd868bc28b487355db1cfcc58454d60afe27da3bc79bcbece67382b729d80f3b3bb3ad478598576eb07d24ec6fcf38f6a73522e55f4d717eec9559822111c3260c63fc3661f91aada814fe051668a7f68b7df5ad355c20c05ab782a42e769a12420f1a00095c6ee749727431aebade0e401084dfa5a4f5b9bd910edf7f84fbab5d2c5cf9ed8de74d136bf6e16e15848854487ee56fa7de8c11e0d2681b9ba03fe00fc16b45a86565413d0058a958f3d52c8aafaab46b9eeef9b94fbd4fffd4ff14889cf46100ffcc3c810aa3a6aefe1f896b48af365edc7754d4f302c43951918627d52b31ce0bbe487d646de78a3f8d6e3d7356e02b1adab61f3476bfd775320f0c12b21eb62a32aaefd8e104e3a2e77dbf1527142dbf35730fd8c6a9b3e298fba310de753781a3ff0e75feaa0a4ea48dcef72fd664d446e9730847e5fccd525002d1c241df151886713d5fede336afa5cc33e647bd772ec51284007225f34c1d46899138afa739a80ae6b8517add3cfa6bc68417dd1b28543da06a7f4d1187a199de63b3bb9ebe33337b66cd9655db7d67a9cc2ea5f199681e6dbbad175aef618689715bcfb8330eee2e3feb2d861f965782bcb8e50aacbde57d06aee35c1fbdaf21da2d88ec1732fc5acd8b439ac0433214f5215f6b90ed240494ee7c9f39f5b76e0700d95d9e174be7f95e086ab0f96b74d6aa3be5e269f036cff61bed69e5aa047578a477eb40fe464de27ce00d0cea6d1c6b106ca6249b03687b7483d6b45b3fa5786a427087038f5bc5d58f75dcaf5321a7d9e8be2ffec8363c9be458c1414bb8fa7fd3ad1e152cb47667adb341ed3162d2c71cfccfe5dae1473b98db7e9ec68679711100f00465abe44bd1083652b09562a5377e911cc00c363f6a1ba965a54aeb43518fe6e51baa1c3268199137808d5396112b24a9f780ccd268f1994552a642e8ab10b9faea86582f8352ec604fdc68411e1ec50ba40ac23fb92c00006aa542229fbff5e6fe95eae843ca64d1740c00068b8219e0043a147486bb25497fd6331b96ae401d21796c3fcfa47328770999f61dacbd4aafe202db2902a04f7585e769ccf48939727a6d2cab7c3f119bea6fa4562a2cdb77dfd9eb2ca90dea08a1945b7fb78b0eea94a2e519a0730b7e007e706033f89082f2afcbb9a4392f23a416b974ee3fa8f736fa9b9bcfbe5d0943c8cc63467d01a92fd536344c5640d371d4a14527f5baaddb954c3eafaef836d4a8e17e4b7bf7e88a80647dfae1cb161700b5fb81c71699329584947e53f899abcd8cc26aa93ed95a1c3dc081126e52d9e7bd89b3fd89821fae2e10f1abd180111c054bc2ead972ab843eb20baff41ba639858537345053437d985c6ca117f9520b9710fecf749e1913d1d903507fab9aea4c11d405132895631c9fb8dd9e64e6c8542a453baa6415c2f2b3277d638e16428873c2c2ab9847c5d3a2cce228c2218cb221869cb1f37276ce27ef50d107a39fe89c19301547f0822e79fc71b54d4be495a9289d841ad8cfc53bdc0312b9e62aaad785c37b42f96b703f1465a2799eaec049de751cc58f2c2cf7900dc8ef231a161155f971bbc5ecb66f9907ac49f202ac51126394ab25ebaf96d4535982b24cf815e389c149be4bff47a4c8e8209aee1e4dfec1b65e2053610d74eb206d1f7122af94af1cbb3d083e5d90561d4c90d5b30a8f46e9764d9add1ed62e15b424d8c9664cf5eab34f879aaede3dbb2aba6e5dd2216854109879323f76f21418e460b527509c037f3fbee2a23ec94180e6cbcef062f143532fac0e81b5f54aaf49c0383086de6c65865e7fb584db4e4b7d28850644940506a547922798561fde5534237a61ca1497b3b4ef71a3bbbf773076ec3821158a84e40268d64a518a781c75ce4dc07f016b8a9dbf1cc33ae5ff3844e43b4a481bb178da0dc89db43c70e88639db9ffb84eb956a2c7161062c9ac1069ffb9b7f1eb9caf77905d0e779e44403ac8ebbf3e0e434204c132d02e48bf3de28c5aae3e3f0102e396b5bc404dfbcc8d100001b00cd5cf1f2e579afb6a959c7b320dd26bfe96fdbd609f151cdb55784f7127699495129d5a7321eba9bc304cb0230679063ed5cbd5b414c7f89889787388e8b04b8d0eb32e4c9865d1b315ba3ad2bdaffcf6561ec6b83b7c9ae96f1a1ff040e430b761423792d5806003a474abe86ce840fe616355010c1d180e4ac5b4333f7c5d4196826e5ce0a9ec4581d51597f4783ca79446e1b671f936b6d1efaae4d8345d04890ecc8b2a565f6cf3fee5c8ab6426ef2763fc30d2a74a281b61b30c78095b5e711df114c348dd3201231f23b7a7062819a3ffe00990f06485e445f8317292ba4b8de880cb548c5f369f73d5e8f551a2a4a5ed7365ab0cf8fe2d256fd93ea929a0b9f839407ae1c0a2d2bcf6dedb9b680f441d88fe70e8a7c1f7d0551e29a588e2a9a5f84d27e868c4537e354c5af1af9871a1e66c1e0f95ee79097253e646f1ea9506f672e0d5b852b028fc5d25ed093f95e88b08f78f40240f0fffb3c341c601b0db1cbe58c32d8db5e9daec98d8edc937d37f1b4368f4b9aed49756229af1e98bb0da6fbffc4177052bbafa5c748ee0000045584946ba00000049492a000800000007001201030001000000010000001a01050001000000620000001b010500010000006a00000028010300010000000200000031010200110000007200000012020300020000000100010069870400010000008400000000000000960000000100000096000000010000007061696e742e6e657420342e322e31330000040000900700040000003032323001a0030001000000ffff000002a0040001000000e200000003a00400010000002c01000000000000, 'Dan Simmons grew up in various cities and small towns in the Midwest, including Brimfield, Illinois, which was the source of his fictional \"Elm Haven\" in 1991\'s SUMMER OF NIGHT and 2002\'s A WINTER HAUNTING. Dan received a B.A. in English from Wabash College in 1970, winning a national Phi Beta Kappa Award during his senior year for excellence in fiction, journalism and art.\n\nDan received his Masters in Education from Washington University in St. Louis in 1971. He then worked in elementary education for 18 years—2 years in Missouri, 2 years in Buffalo, New York—one year as a specially trained BOCES \"resource teacher\" and another as a sixth-grade teacher—and 14 years in Colorado. '), (7, 'J.R.R.', NULL, 'Tolkien', '1892-01-03', '1973-09-02', 0x524946464028000057454250565038580a0000002c000000ce00002b010049434350480c000000000c484c696e6f021000006d6e74725247422058595a2007ce00020009000600310000616373704d5346540000000049454320735247420000000000000000000000000000f6d6000100000000d32d4850202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001163707274000001500000003364657363000001840000006c77747074000001f000000014626b707400000204000000147258595a00000218000000146758595a0000022c000000146258595a0000024000000014646d6e640000025400000070646d6464000002c400000088767565640000034c0000008676696577000003d4000000246c756d69000003f8000000146d6561730000040c0000002474656368000004300000000c725452430000043c0000080c675452430000043c0000080c625452430000043c0000080c7465787400000000436f70797269676874202863292031393938204865776c6574742d5061636b61726420436f6d70616e790000646573630000000000000012735247422049454336313936362d322e31000000000000000000000012735247422049454336313936362d322e31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058595a20000000000000f35100010000000116cc58595a200000000000000000000000000000000058595a200000000000006fa2000038f50000039058595a2000000000000062990000b785000018da58595a2000000000000024a000000f840000b6cf64657363000000000000001649454320687474703a2f2f7777772e6965632e636800000000000000000000001649454320687474703a2f2f7777772e6965632e63680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064657363000000000000002e4945432036313936362d322e312044656661756c742052474220636f6c6f7572207370616365202d207352474200000000000000000000002e4945432036313936362d322e312044656661756c742052474220636f6c6f7572207370616365202d20735247420000000000000000000000000000000000000000000064657363000000000000002c5265666572656e63652056696577696e6720436f6e646974696f6e20696e2049454336313936362d322e3100000000000000000000002c5265666572656e63652056696577696e6720436f6e646974696f6e20696e2049454336313936362d322e31000000000000000000000000000000000000000000000000000076696577000000000013a4fe00145f2e0010cf140003edcc0004130b00035c9e0000000158595a2000000000004c09560050000000571fe76d6561730000000000000001000000000000000000000000000000000000028f0000000273696720000000004352542063757276000000000000040000000005000a000f00140019001e00230028002d00320037003b00400045004a004f00540059005e00630068006d00720077007c00810086008b00900095009a009f00a400a900ae00b200b700bc00c100c600cb00d000d500db00e000e500eb00f000f600fb01010107010d01130119011f0125012b01320138013e0145014c0152015901600167016e0175017c0183018b0192019a01a101a901b101b901c101c901d101d901e101e901f201fa0203020c0214021d0226022f02380241024b0254025d02670271027a0284028e029802a202ac02b602c102cb02d502e002eb02f50300030b03160321032d03380343034f035a03660372037e038a039603a203ae03ba03c703d303e003ec03f9040604130420042d043b0448045504630471047e048c049a04a804b604c404d304e104f004fe050d051c052b053a05490558056705770586059605a605b505c505d505e505f6060606160627063706480659066a067b068c069d06af06c006d106e306f507070719072b073d074f076107740786079907ac07bf07d207e507f8080b081f08320846085a086e0882089608aa08be08d208e708fb09100925093a094f09640979098f09a409ba09cf09e509fb0a110a270a3d0a540a6a0a810a980aae0ac50adc0af30b0b0b220b390b510b690b800b980bb00bc80be10bf90c120c2a0c430c5c0c750c8e0ca70cc00cd90cf30d0d0d260d400d5a0d740d8e0da90dc30dde0df80e130e2e0e490e640e7f0e9b0eb60ed20eee0f090f250f410f5e0f7a0f960fb30fcf0fec1009102610431061107e109b10b910d710f511131131114f116d118c11aa11c911e81207122612451264128412a312c312e31303132313431363138313a413c513e5140614271449146a148b14ad14ce14f01512153415561578159b15bd15e0160316261649166c168f16b216d616fa171d17411765178917ae17d217f7181b18401865188a18af18d518fa19201945196b199119b719dd1a041a2a1a511a771a9e1ac51aec1b141b3b1b631b8a1bb21bda1c021c2a1c521c7b1ca31ccc1cf51d1e1d471d701d991dc31dec1e161e401e6a1e941ebe1ee91f131f3e1f691f941fbf1fea20152041206c209820c420f0211c2148217521a121ce21fb22272255228222af22dd230a23382366239423c223f0241f244d247c24ab24da250925382568259725c725f726272657268726b726e827182749277a27ab27dc280d283f287128a228d429062938296b299d29d02a022a352a682a9b2acf2b022b362b692b9d2bd12c052c392c6e2ca22cd72d0c2d412d762dab2de12e162e4c2e822eb72eee2f242f5a2f912fc72ffe3035306c30a430db3112314a318231ba31f2322a3263329b32d4330d3346337f33b833f1342b3465349e34d83513354d358735c235fd3637367236ae36e937243760379c37d738143850388c38c839053942397f39bc39f93a363a743ab23aef3b2d3b6b3baa3be83c273c653ca43ce33d223d613da13de03e203e603ea03ee03f213f613fa23fe24023406440a640e74129416a41ac41ee4230427242b542f7433a437d43c044034447448a44ce45124555459a45de4622466746ab46f04735477b47c04805484b489148d7491d496349a949f04a374a7d4ac44b0c4b534b9a4be24c2a4c724cba4d024d4a4d934ddc4e254e6e4eb74f004f494f934fdd5027507150bb51065150519b51e65231527c52c75313535f53aa53f65442548f54db5528557555c2560f565c56a956f75744579257e0582f587d58cb591a596959b85a075a565aa65af55b455b955be55c355c865cd65d275d785dc95e1a5e6c5ebd5f0f5f615fb36005605760aa60fc614f61a261f56249629c62f06343639763eb6440649464e9653d659265e7663d669266e8673d679367e9683f689668ec6943699a69f16a486a9f6af76b4f6ba76bff6c576caf6d086d606db96e126e6b6ec46f1e6f786fd1702b708670e0713a719571f0724b72a67301735d73b87414747074cc7528758575e1763e769b76f8775677b37811786e78cc792a798979e77a467aa57b047b637bc27c217c817ce17d417da17e017e627ec27f237f847fe5804780a8810a816b81cd8230829282f4835783ba841d848084e3854785ab860e867286d7873b879f8804886988ce8933899989fe8a648aca8b308b968bfc8c638cca8d318d988dff8e668ece8f368f9e9006906e90d6913f91a89211927a92e3934d93b69420948a94f4955f95c99634969f970a977597e0984c98b89924999099fc9a689ad59b429baf9c1c9c899cf79d649dd29e409eae9f1d9f8b9ffaa069a0d8a147a1b6a226a296a306a376a3e6a456a4c7a538a5a9a61aa68ba6fda76ea7e0a852a8c4a937a9a9aa1caa8fab02ab75abe9ac5cacd0ad44adb8ae2daea1af16af8bb000b075b0eab160b1d6b24bb2c2b338b3aeb425b49cb513b58ab601b679b6f0b768b7e0b859b8d1b94ab9c2ba3bbab5bb2ebba7bc21bc9bbd15bd8fbe0abe84beffbf7abff5c070c0ecc167c1e3c25fc2dbc358c3d4c451c4cec54bc5c8c646c6c3c741c7bfc83dc8bcc93ac9b9ca38cab7cb36cbb6cc35ccb5cd35cdb5ce36ceb6cf37cfb8d039d0bad13cd1bed23fd2c1d344d3c6d449d4cbd54ed5d1d655d6d8d75cd7e0d864d8e8d96cd9f1da76dafbdb80dc05dc8add10dd96de1cdea2df29dfafe036e0bde144e1cce253e2dbe363e3ebe473e4fce584e60de696e71fe7a9e832e8bce946e9d0ea5beae5eb70ebfbec86ed11ed9cee28eeb4ef40efccf058f0e5f172f1fff28cf319f3a7f434f4c2f550f5def66df6fbf78af819f8a8f938f9c7fa57fae7fb77fc07fc98fd29fdbafe4bfedcff6dffff56503820b0180000307c009d012acf002c013e651a86432aa38e57885583227a5b5e31967965e5b873dee9b58afc39029f2c7d065fc61d97fa6f1b1b8cdadb80bbfaed23bf4f13f50e4edbe02b5132c5f38ff031d2564a7cee48fccab4de4056008881fa017f8dec44b6ba833f7f41ed8c0d103f3d78e77f59b6115d107ad71a71a1ee7e0d790be693369c466e2f2c32aa263b7991dd8185442d982872820a331bb939267dc62befb13758929da154275dce877fc19f844adc0e48450466a6bdde59c9bd0a2c7c364df9f1167c22cbebf1286bdfa3689a51903ac761880f83f7c648f355cd3ecb7ebac71fb657175d2518b8c853d6ef9d18dedbbc2565685d36d190d237b2f09c22f25cd542592f597d0a017bdd39e8b56870cd626dd5a8f3fb162adcba782bcab059c3243ec32ec07e5e278b32614d83dabba7f99c465f1ac44eb2ef6b88986adc53e833c4aeab3bd6812526fa1143edf68579590e3c0d07befbc78d62594bf58dda588fc9427bc18c1b6321c8ad55058af498114275521c30fc54043701e9f407b1d8fb10b87ee08eef49a5bfdb7a2c02c2f1f11519e57985be78fff7464e3108dfab379e4be3aec8883b037e3a8f24b902df4b9e5bf1d4b02b041a94a251b2e8ebced279ff38f947323d022b1013f49ca9c95ea8a4035a8b4e26a0fa0cedb6c61895877fd8cf08852772999330412775398ec034d28499880a5e50a613581fe39f9caf4cb5df4d09993dc224b8ee741579c60de4948d393369623d18cf48282ec8151822012aa1652e99a3e2d02721ca883d331b3d605928f45259c1d1e8ce4c1f24aeecd7ec13bd029ea5fa9195a7b8c0e4a87a3ea691908f439a581fc8e99341a717b67dfb48f860cf8ba0495c594f2be861106230357dc8c611c79f7934e0c7de6869ef6c6ffc8ace80f9841b3315d68e4fbdb022c310df9d2bdddf9375f332b0f55b66ed83d8857fd6357fff40f408505dcb97f27776ed45b475c734e89f11b57928ef7bba91cc62a87fd2041cbe0c18bec85e10494b5e596650a913cd12c16423fea9228e95590f857dab3d95fe05322c46a95fb10b42cca860e82d68b3058aa231142cbad49e30f45e7d4dc133140f0a93ce3a1338771dc9e96e4f46f03ad0e4706025d2a9899b3c931d58e7d21cc3e3472bb6fa7a4ca57f7fe18eb1647bb744678613851d896ad53d7fb07fbe2c5a89023714fc4e784112e350c264031a07ed28195c4ac07f0cecab1501813ed79a37744aa563fba037b0dba01e462c96e299e09dc52c14dea7e6f766089cd5333c081e9d9655cac719c8103e9b0bdffd29d03cde09bedc7d088030bf3e9acfbbb8a2a72b3f63bfb01982bf1910fd7e932095d407682fa7796f658e23920ee5257993736d13831290dce89197dac3abf5ac5f69a8e714f3560000fef8e8e7bc60819d698e36766ef76bfc5d9742518ad8f1b941d8603d30106952224c362c1c8718fad164f32e0687c30bc86f42a4b68a68633dcaae038942c3b8fca998db7e9c44aba1ad490704faab75b21549987cc3a8ab31bb129f7e6c1618ffcc5b80d049925796db2f191a60a88ccb6b5dea05fa518860f73773be3b62dadc78228b0a366c5ef88efbcdd6a5d4371ba3313381ce89141299961f6ca16071c41bc6d02de06908e63ae47f309eb75de3c50fae011a329df5836f86ba2f58247797ddef90d9143037f336755851cb14043886e0fadb948abb044ba881517b8e829b67d2b09c9c294acd49e2df7131a13cff1f49f157fe34f78605f8c0e054768b519bb972a4eb5e2d4f6c0f642132bec2c7f106f3f78fbe0d5d07ff0a21ee5b4e76999338c22d2dffcd5abdead73675ae6d86c2ecd4a4a561bc6910206506d63d99e8a1362bd9d374349bc58f1ed3db5509704f6d6aa78d9afac361d1797e416f40b1df348a97ced936fff570e0b4b73f36db7c2e20237a7261e65134d5e82bdb4412ee61b97496542d0092992c539682846f790d38fb3707a7ac34b22193a5ce5d8807b346e969031ab3a3134356156e4a441838fd0ee46f329608ac9e2ac6a2765f0fe96b134c10532be82f6561235b51dfa46aba9956b0f489b918c1399c29b17531a0db551b506b87877e5ba20b1a2bd47669ca57825301d2d0b7ad73782b8e4dc6d55d81f4f0054add30091b623999cd8c6f8c260c263c0dc07d8c7141a020f28947216d57bd60430b88d9ee064ed25e060cce0e1f903835b16194c775a66962d49de14f39bb1f82425909e2b39501b10ec5d186e7a4d559783759b744ce5461eb439e8615971be95c6e2e308cd84cbe484db8fc275d6bed9935238064626c4aa32a8b8ec8d19cdde2111c1b4db2078c05c9ed37fa4b6f32b5c7a5a88311d45d370cc92ccce46e076470bdd6bb825cab74f4d6366e03dd5e2180de820687b88ccc34fb5c0feb325a49ab947ad550e045c16a3c575c559ae88d86f5ccc10d6742ab1e6db45e79d9972a6ec5e7df80ada98ba2d9fc1733f554e544ceda160c0bcbfa53f80e3c54c8f5ee67db7e8ed113d19d7e5e59149a6a44dbae882dc48277ae38e7ef0ee11628544223f21ec326b247987753b81419979036400824fe420c0c994dce2a7e6ec5bbfe1d0f2e66ef871d94d7403365e1a6dca848771b6e726968e91f9d7ede566c553394d10117df5e79a66bb5e247bd47d304fd26eeeb7370bf617ef9fcd33fe0635fa400a9005991de5e67b14f56eab63350fccee36b0c3e2bc60e16757a51ee46c94e64cc8194b968bbc482d049a414e100fd07273286495b3d0e55fd6b24b56bfe6ab906636ce66aa7acd4ee4027fcb2130b21ca3454f1b45b96f03df329a31f98dd7a73a69d8dece0cd86cbd49690784fab63c62f86c81de0159116d84f3f300c8c3d0cc6dcef5d85db074119dc9afa090152b94d7c032d905fed42d03f6bd72157c7f49198b10f68a732d72e3822813857b32794d4d974d72c4740367bab592090f92b98a6aada7404cad040c9b3a79307e377defc090c3f2524a766a5351a7051385fd40ced2f674d8d62773c4b488a7fdfc4210800c5074341afa99eed8534990c3d450dfd927db4467899a79763a79ba89de79974b9405f588d5821bb343018b1d322b0fd2b0337711737d467efefe9cc333545d0d310bf373aa06d7b3cecd89b1fb0948456709b07e6a2087ec0d2c7950055484f9c904de5f118b43de28c09970f892ce994a91134ce6af8f0e8e2c53d31d6139ba3cc31e38358e39fbc70106ddb03d0be27507b74b0546d20bfe8bdfa9315ee08126cba4dc9e7d36f8274e8ef33b6d6f35177ba86d260d06d7f5b81da0ee60b9658365e086cc42bab2f7e39b44b22cf5d0aee536d91c8bf3231350852f60d961431c5bd30d284f18d35600ee7635128f779a864a525381c76b2ff4876dc06222c0d3eb6888de5debb6af93ecdfcb580ca2e0784be9b028a28f28c7a84dcf246519f58c982da37c4dff477153369a6965ce84cb8f8b4eb11e5ea6a5ffa2d56f3d487c3c6c434d1564d22d77258574ee2ddeb81c8b2884935321861172add2fd979c671f3fcb65e9994ba8486ec237881279feb1a4663069c46d115c99fa1140589f173a1698f6a3ca9dc1b7e0346f9eb0776ceb25e2f734f11428f3b89ffefa85d14b862a0f36c1a865b5352b792c4058db853bfe17b78392b5c6e4f28a916ae8cdda344ef4fce0f7f498061bed712a987d1b03e49f92db8b51c812a0199acdffffed693614983b1a8225c281a7d56a006aefa160bbd5c13e9e3f89a39fb8211401f888461305f69793efe8c912c4014137bc9566f569b4888283a7b98eb8ad8c1b676734d91795a71f97e6edf2e63cad66e86a94947cedf5c8f844f305aa63a1cca21d1a86dcbddc491d5aa874cfdf8362fa4c4d0749ae8ae2a17b8ed4b73f60f9146dc86623bcacfe7149b2f2b0cfd366631f0265ab2cf59ab35100940ffd166d7262c7a4c15e49a95d71358b124b1fd78e9dc12efc976e78cc8ce777f6c23cbdd76730feebb22881d4f32e1147bbbb0e1d70dd3ea8b5e4681a140dfc530bd28421be1227f74a7f9714f4d160320a3ee2c303b67e027aff09033c0f4f1ba4a9ed0944304afb8b913c33519174e73a69ed904f66e369121415921db13906890c853ae3cd68fad8ef497e0d19ec25820b30d6933b1d1c082dfe4c1569c6afaa2d4641120b715e30515c50aa3dea00975a3638c0f4140599e320fb82947996d3e1c934a0af5d594561a75c9d3666ec6654e51f1f91c95a21b6fb554b3023ee725f10670ba8f30e9a9fde0c02a6d2b6979a7194f698bc7b454de60db0a8e500a9cc512c5cf0c9a48c83a167131a06be44473628ed7247081906e82a73da4cdd9bead9256c7c489fe9c3b11820554727b151744ca9be7dbdd3b8cab931d08ceb11bd983442186d3aca2a78f223729f7e3e1d66e288e427c7940940fb668b3322190fee3a0ffd600db576c2ae95c24a0c9dcd7ef5c8c239152ef34f02453266041a62a2b5e3af51161a5dd01527c0df769374f2cbe0fd6893bb6b7e61341e812e0219dc3522c3efc157fbc5e816d3ab8048d3a279a47da19fb8a65b978c294555051fb7c79061d5cffaeb8e4987821eda44a11dab6f0f5ff60aef1a6caf4838bdeb9f9ec245c82a8186d215963c96ab0e92aceb6db1c80a753a62bd26536bfadab45012e396aa5254711060e4f734e62360fccaa7381a6a4eabba6ba01d4f43ea8ed4aa7961bee1eb168a168537b3dc4e8ddf9ed9ae861cfce9fc69108ad056c70cca89afe6b09085f0128e8e3bf9a3059bcde748418792ccb45831b8ff863e5c7839850a78a181597cd01a57ddbe0b6d80980c98dca6b8ade1af958e8c30c2acff2a0fef1ad6eb6adc8ea8335f2dc12a21979cd75f8aab775c04e5e79ed3b08c223ddb5b35f4e9382b819a3cc5c280879206cc87a217a14bd54f32bcfb23ba20de29af470b8a760f527538a0f864aab8fe2e467707185bbd71ebe0ca3cb8e563844a514af83f0bd5694bf9ed866be47ab999af2ed4e5bc77ff01e78814f24c3354f814c2f11c733013cf1395bf31c378c952c07ad8756a5cc4abfc80e1dc096535c2134487e6d674f6bad74843e2106948935a59a8ff150ce7b83558a1f69a8a91f06a88bcb4e3af604b76a57aa7ebd91b52ea1c44800085fb1685b1fa97d9f0e703e83ea919098361fdf9d5cc324da2f1218c9c33d5f31ea7369e11748cb7767c6a5a408e3467bc7bafc409de4fae1cab89a3f2c148114ec627457be73de119949a712fb7aefa0c81dd7a5438096b32863530ec61185bf77c9cf4c4d78f2197ca191e2e992a7a0da504df38f918b6635455b9ea06dbf6d67e2f1c70bfd26b5f247bcfec2e99feb2768c0d1b08d76bbbb22cd64a8862c3800973476d2817820b1ef3eb7332ee8cb647c72f567709ab7131c4ca99070fc78d2d3be241bbd6f55dffa2cb3abc7565965a620d2ecfba13731684ee7c0eb042a2df9c47a4e15f51534ee351d620132123594f149ce8d07a1e1473ec1719923ab35e016616d408da104faade220625fdb5f6944329c20af2b348895753e55e9202749fbe18aabec03a93de65d10f8548bd2f04aacbb926362f6f3c0b30d2ad72e0de410dcab779785805360676d9323c890b56ad1feaa9290d0bd4c22a8fa8ca54f0782e25de0976b83b7595e2cdb288b464c1b0c2b1999761e5a7599a9f10c4b0e96f60da881c3db956ecf93252039d3943a2fefbf344c9803f84b06a73dad7374f8385e1666e67fcf8d3b563da2bffbfc0adf6c329d2e50937894238a447f04e28c97cad608b32395037c81c4e242f7a04ea346fc4ccdc6b96ae5bf4ace1de286218fd8f74cdb88f4624b8bfa17b0aa74f37b14b5abe6be8caac6b7b392e940c6e88b25c93a3e56a9bfb809617e00c85afb04197226dbc3feb86fd729046781956cec5526813261d27e78a41c7fe7159b11ec70f4182695fa5e97fed3109590ef1b316a7adf7eeb95e407a042999dd40d106ee59f319af6a60e8013833c425867e914605e2c8326654ede7b0053aabcaea16b0f8e4e2150b593d4177b38c0b7cece07e83a4d487c0c741d00f3e4c24759299fa986469943eef996045f479c14a00882227646aa8cde8cb2cdf91094b115f83dabbcd0d15adf3ce5e18162c5062b5ff732e60ca5f451e8496b205af5d23a8170a894346b4197ab8af50885fe7049a69614a3312ce54ec54dddc88fe180ad8c6e08a21aabe4d7405d669eff5a7b436631a5f881ad827d586d6667f6b860330e189a9fa87205025957745f5d3a0ebc8f194374ece27b3a0f88fec569a40ec88a9cb90ac65a8108d8a9b50c57f77b51aadcba4092653afe527bac06def6f15a03842ad0d372c803b0b67168a22f3ef35e7f90ab7d96be0ef3f4723772896517cd2222076147351e1ff4ffd9d6f7b9447aa84a06aaff55b47bdeea5b43e59deb75a241c5535ff7faf1ba3f7c249baeed8f1456621283f721f131f16dee817ab5261d2b94c9cdff1dbfdf89b99954ae71d784e19397f23fb8391592cb72169cdc5b354eccf3265f34f2be8e9407ab7e0aeda717a18ca9901889f5f10ba94f2c290bf476ab9586b78c2f5fb01a6a3b92249c6b344eebe3799506081efdc0f91364c71d14afd27cc12f7dd88e472968ba8512f82c8ddddc452b0f3983a8002c37d764bac62d7bf863fb459b7cdd26a650f85d928743671e464e7c9967f41254e74a619387eff74a27367df76d72f8f62a6321fc261efa0b853f6570fef265aae693b2cd5fd6d496656e168b2ed0f8490e1a279dd096b5def913487684acaf83274366346bffcd14cd7b79df0ade3285729a94cab62b387deb43129250998971c592bc7bd01ecaef863350a01b4c6d467aad377765d835f6eb51cc18a9c3586156544761637267e89bcddb238f6ab7e88d65eea2ec233ac90db4736c94d1ade95c535ff22f96c68b09a677d31155c8b11a75cfb61ec341df4ef76415bd6a7e686a52684e78f034a723c56575c3bc9bfb5e6d69d05c36577fef64037fb173eb0387312e388f0ad1bf5089cdc5515449de0cd8826a60f5c875233a31ecde3c74c27a40df3b22fb48a66ca88f33a208728f3d2d8b07e8acb45b887a114b307b2c8b2f203fe82d3647017d5002435b62b194c475861d1e9494bb6b1612a45fc178d6d93738e9ae339f1e497fbc3a3a1f99e1bfbe4d96b57a0210b7f8e3af36b3e9b1fc21c9b7831151cb2218c5e22b4976c6e3ad594d4151f6b0a3ea33370339e816cfb2ee2c779ce9d08e6db9c04c62f5cfc755514e905cabe6fa7097a5347d1334160fcbec46bcc7e651f06e88213e22f1e389fc743c976ea97a3e6fe8edebe38acf245b8739ddff4e5c8c8d6bc20c284155804d8b4e14cfb5e0c27b304603405434a36be5b0a0665621f99b110737728bda3a08e76832dd1d4c23d38e99fcae114aead2263ba25b7ffd5a7b05f552545cef069b28713923b5cac4d7c8136dd001c8e809f81d3bee0095fddd1613d032d08bbc90fbe1ce0ea03b75d7bfafa35ae93c3654074f7ca1779df5cb452569f2fcf6b3656390974920321cdb4fc5ea3f2cebfa992e33c8627b476efee2c1e781f1c670d7e27028518fc3db3300c3d920e634b1cd3f9974a9504dac1a6805f138d345e002d6d55dc89cb3ee494ef25b625fcb7ceeb26a7e74e3791ec41ffb5609581d1e0226004ba80dde0eec444e1c1809b96259faf8ac5595137b8eea71271d1e1bb5b82ebc414c9abe6402340ad55cefffe5c738f0812de01b544cf7440e6712da78f82168b7a77bf8d3c55b642633d642cfa5f95b211ab746fd78e7ce28af7ffbf55157845d7587cf74e8349f25ba9d9895f9f4d6ea87ee2459e2b5a6a529e9d1d3db16ebb306133ac6d015da69439128c3a9dc19aec621733f097570de3c6c0aaec34453c2c7853431163b42080e913b5ddabbcdcd9232e14fc9d7e614322af9474bb7714d9d5ebc8a49c6e42264c45f384639eb9eafa0a4ee043dff2ddb76deb80f9439a3002e789715a88ae9c3ffc48d525997f38346fa6467af05b358642e0faaf1a6ff662cc3f2521f02a97388a146f3bb10b812e4d8672a8162342938f622bc9e05f65450132732f9ee1029328a54e18682a5ab93b1eeb9b2f73f250fcd71a82267f349700e5c9046cf2728bb638394f44091a0eed924babac96c6112965cfbd484838e006270b021f1b42e92a78ee6f30f4df3b63ee730b27addab66dc3bf53147028b72df0320be5282e129222e921fb11b24149202dad894f2ccbf9b40466681efd6a0ca2d5b9101e202775c8ba842189bb056297a4a2886d05d596205a4378d208828865d876e407d273fb9059678b123b8306bb0b328e73041dd7162739d1a05a681f49400df0baff2844d36930e11c9ed1f96b05f64678292cd2bd749b3a90853e88075eae7c74d1469123615328c22f6a8bf130388ac7a2e48e3bd5c40cae38daa057a188d90368d37c5d54db50f8e392adc909f2e62099a0efcc18383a13fef5b42b0aa171ae0a32d3d44c74c6805f3d819fbadcf961f0098f4ea4cca4c6c4a29061c207e905ec003f62912cca9834524f46b962b7a5ea9e0d8d2fe4e7a60ac23b8ac846b46abf455848626d7b0b7770bb1dbea22bad916e6182545eca5dd15bb62e0f21960cbbf6961118f371e980783472bbebfb3c3f2551f623d6ba4d76f36da2e5e1732b195bec0719bee0ca19bf6ab9c7dab2bd85017a8860790031f63439fe5c80caeccd4901d8c9727a24e9d3eeca9eb8cd8f7ac5cbabf3beef61efdcfb7a6a47e4f769c91a6efa720ed8c540dc736ac66fd260bd0d120bf274895fcccf751aae5324db34d590ad6405cd6ab91d962c72bd642aeee4b392cbc3e7ab2741f548b9d04605e65a2a00a189dc97da039691e3a2bf0e0e75c95b6be062b59f398d55af74d0000455849460e01000049492a000800000007001201030001000000010000001a01050001000000620000001b010500010000006a00000028010300010000000200000031010200110000007200000032010200140000008400000069870400010000009800000000000000480000000100000048000000010000007061696e742e6e657420342e322e31330000323032323a30343a30322032333a34333a34390006000090070004000000303233300390020014000000e60000000490020014000000fa00000001a00300010000000100000002a0040001000000cf00000003a00400010000002c01000000000000323032323a30343a30322032333a34333a343900323032323a30343a30322032333a34333a343900584d5020030200003c3f787061636b657420626567696e3d22efbbbf222069643d2257354d304d7043656869487a7265537a4e54637a6b633964223f3e0d0a3c783a786d706d65746120786d6c6e733a783d2261646f62653a6e733a6d6574612f2220783a786d70746b3d22584d5020436f726520352e342e30223e0d0a20203c7264663a52444620786d6c6e733a7264663d22687474703a2f2f7777772e77332e6f72672f313939392f30322f32322d7264662d73796e7461782d6e7323223e0d0a202020203c7264663a4465736372697074696f6e207264663a61626f75743d222220786d6c6e733a786d703d22687474703a2f2f6e732e61646f62652e636f6d2f7861702f312e302f2220786d6c6e733a70686f746f73686f703d22687474703a2f2f6e732e61646f62652e636f6d2f70686f746f73686f702f312e302f2220786d703a437265617465446174653d22323032322d30342d30325432333a34333a34392220786d703a43726561746f72546f6f6c3d2250686f746f7320312e302e312220786d703a4d6f64696679446174653d22323032322d30342d30325432333a34333a3439222070686f746f73686f703a44617465437265617465643d22323032322d30342d30325432333a34333a343922202f3e0d0a20203c2f7264663a5244463e0d0a3c2f783a786d706d6574613e0d0a3c3f787061636b657420656e643d2272223f3e00, 'John Ronald Reuel Tolkien: writer, artist, scholar, linguist. Known to millions around the world as the author of The Lord of the Rings, Tolkien spent most of his life teaching at the University of Oxford where he was a distinguished academic in the fields of Old and Middle English and Old Norse. His creativity, confined to his spare time, found its outlet in fantasy works, stories for children, poetry, illustration and invented languages and alphabets.\n\nTolkien’s most popular works, The Hobbit and The Lord of the Rings are set in Middle-earth, an imagined world with strangely familiar settings inhabited by ancient and extraordinary peoples. Through this secondary world Tolkien writes perceptively of universal human concerns – love and loss, courage and betrayal, humility and pride – giving his books a wide and enduring appeal.'); INSERT INTO `authors` (`author_id`, `first_name`, `middle_name`, `last_name`, `born`, `died`, `photo`, `biography`) VALUES (8, 'Isaac', NULL, 'Asimov', '1920-01-02', '1992-04-06', 0x524946466a0c000057454250565038205e0c0000103f009d012a9f00c8003e6d329447a4232223a9d4d968800d89696d5db80e6c85cbe3dfe7f351384fb2a90665a3008787da2f6a46ad6ae15017c65b45dfb47a88946d9043e0a9768a71ff6d4518ace1d36528d0a94ab83642efb7ec6509c0af311a74e204acca7e10f0ca194314adadedbed5f899b6a0e8189a702dfb33bc90a427c2561e1a9974d75ee4191ac9a21f75a97b970254ebc9151252efcd01fad3d05131d6274d4b4adc5c7441c404d4967b3c39756d5734b78d937308ea554d0e659d22729c13097770250ea49b1015eee2ece50d19c652191426ef0221c80e309b4ef35bdd642f39d06f6468a23de17f230b1a619ef237d41a773509626ec5f09b67e30bb5aefd8c5d3e8b9f8a359b025399129e2568004b6bce68eed7fe4bd95a7a626ae3657bd4347719daf6ff21c219bc1432a0ece0638b9d6f9f8094ce39434e6e31953394468b961c2cb77370292ef13fc2a3b9eda6cdfde50241fac1f8f85912ce6b909fd8a85e8fb7e63dc6734cdf8b61015a75ebfcf8bf2eedde5adad4b1269953cb8b7b71f04135bd7e77a8fb6c10ea9dcb426043b4af3af5c1ca6969214478e5b1adca3766839eabb5b7a8b8613c8afe753890c2b2eaa05d2aafb5a53be3e0292209cb5ad1a04ffe5667fcb76e7273ce2fd19ea5eedb5aa8722e37336a56e62eb5a526ba8dd829b460d7a7e7c4ca4d61042a84dad67931307884e50000fefb7f2d2565183b6aed4fdc2ec0eae8383d93f86b25d2f4963f09f12e8ff6e1ada1e5cca7a8a9c4cadc570b2ef50461d523a1d4ca5f99cc1d3cdcbca8e93ab15fc6ede7f07624722a82379cf1d33d660b5175ab940beb19deffb0eff8b35bf89a72a2dd8daac5bce110b1f792ead31f94ce793b6124505279247654b48aaa05a51071b77fd47c5f6283ade0a2ebd8588bf4fb05779ea0c4c3e197712e1d3150085e37bbb7eeaf83ae04027475f32a1ae506b32d5c9f739691280496a8ad27164a311371ba1d630f47b5ddfdea52bb367b77c45dad331addcfc776bd6a184197391339d458f59adf2fcba9ec3b0b90bcb4b0d154e43c0920305246afbe97b70f37a67948b0c8d35e5866b16ab5e272d0e4b7df16889025ffc9710e1f1c151dea3edf5d0757ce251d084618b49247d77a0e40b59edefddc1a51750af89469e5f017bf5c4ea6306c52dc6fdd599c3720cc82600c8ec71d63462c6c90735873b59a92a928e7b25ca6995bb1de9b9ac2bf4ba16663584d7d57ad870ca8f94950ab81e4f02185691eec391c0a2c0569b69f040c81498cf9182e5dec649b7ff2a0795191f76df77ea97bbdb5bec0816d8bb66a01f014f42d4a1b164a56e033dbd259b01823f1c981841c2582c9472bda3b6f9a47beb4bbe1336c6f828433f65b73750aedeedd295e6f1e6ed657c3861b24125a76ac5095a1306fefe0d89fcaf03851a69b966fa766d94dc9c0bf115ed3ae7d7691a5dc78e836f3147af00b229f1e793de94f9900d98de4ff7a55683e7e8933c01eba21a10b6e1fb2c6019888232637db899e21b0a3baeee00c5dc4868e1b0155a656e6e0b1f96ae9d0dc8cfb012e4b9ad9f99d44558567299f60e3c04f23befd96d749880d175eae49ea3b49cdd215aa8e10719210e8c0ad70d61c0356a64613208ada17a2500aa33e5fd2388a0149442c461d462a5ff41da7da352afcf5d938064b5f35c6fe41e1b136747fe50c240ee2c4f777cea2010fb58e0dabf4120c41f51ebeda0b88e83dce379b6be9b6499134cde77ec2b2f97acf9d7be3b19d4f5f17f629d1c49dddcc03cd3a4e3131b1e49e3622a94dc373341a5a506e0b424f012680e933d7e5a074913d5d6b1dbe9854b499151aa096438daab21144f46f4f9bd5bdcaecfd57401fd5807bf70db1aa051774c5967a289ab6ea2b0857d6b6891dae630f868fa2eb059a386a78f97e67ef90ede69ef5efcee90a1ed0d539a986d308ec913f180b5d029ccc3733e37a9a0abcacfac8f875e804cad2d912c8b546785b2097b3e6c785064b4f9e4b2784674cbf5da9b20fa983beed0031dcb21fa76f5a90bd62052130eb1555c4beb134f54c988b13ccfb246f34a1b02b8b7b045e66b7283b4de6850429754935312a41180eb884b148c361878722d8a211208a602d0a85ad8b0c0aab61faf3ac5c450056d556d797060d9b36fc7de05eab5d1137e001aa1921ccd943302529cf4d5804dc5c57c3e9a263a9f2b6ba6224a4866c26a394fea2e0327afded6771fae13ac05a8415719aea5f33544e65bb6665892aa000d67a22ec26aafb2185aece20d0c63fc8a54813d86df64107498884dc004768a207e0ac490e0659a52a34336d7cc1b3a083f58edbba1f24305d943aff7928c6794081fd8f78ffb37a48260392f23a0445bbdbc0132723056a5244972847db95cd52567e45394755143feaefbff1e1bab71ba0a8d4dd775cfa0cc291ba4aaaac55598955d67fbfc5769b3f84e56be4edd1553d975f79b83435354fac897b49839c1c75fc8980e88234e7985bef91eee7090c8b0eab5136b113d8d33283d1778d92da32c5f3dc8a333dc9f9c3c574b20b9732acc4ee0dc5a18bc81141381be1cbf176349bc03050c56c86fb92d4afe781f60b43d2a77bc5a7f846d99b5cc69a96ff4ddfdf520bbb8bae07fac7f995f80129ebae032b9466603bae335e10ff83b46cb076fd24d551edb4d6aa957b79658091fea648af4aac197e7bc758d07e63016ec41d4b15378935b4019005f62f91b26abe2ce91087b6b740f0e7aa7fa6dbd4106f0aaae31399cf0779ba2f4709683437bfbf75814cdf92f1e2c9942fd5254fe20711567573244342c8474d64237700a3544ee228697fd55a2275b25b485dbd95c147ab4cf433a7687780f31af31383c6a0b0531944c3b7291945598f354741062bf7c29d9b753cfe29f625f4732470a46bf01a02bf012e0e588178154c4a6e0e04131e86d86323e4728f7f7c45b9208f0f4639c169cf3c4ea92561e1ecd96c463b9b35d10b503316ea70225c867e468e4feddc875ca005eb4b61a4203cb0ca5c5fcb65b90d4f781f51c16040b1b4978f0bdcafab8e82ae551f5a5240a3954be9384c4a6532ff973a63aa1de39ee388eb6d4c9be78a33e9e7406e56b2d254915b066c149d4e18c6297c9011d68534285cf7e7ec014167a81bbe6dcb1b8ed7e53ab466cf63cbe59ea1ba9f58602d79235af22b7198338b4006764abc03568c4812b5ab12545158491a5451cf0696c20eb92cfaf61242a71b43f3c67960080a548ccc54a9b970e19c86d859e7fe42c12265ce32583b8fb1cbc47e98e70c201101af36fdd6d0477212c7310302df8f67802ecc232f6e56493b6dc4af747ba697f0b4729ae96d66751786f69db3a62b747e3ec9e84a8034f8dcda61f64992de6a7ec6e82bb22030ab64826e2c765a83d477ec3742eb2b52bb4fa0f3e6915a87f65a2a32f240020455aff9e145584e574bdf852d40c9fb67dc9b41729c8a712addd54a31436b7516b17174cf842e12a40774b8bbe5408b5b7ea9abb3ba826ec5c22358684f81c9f69742deb670cbd5002854439a98d99989ab8d720b741a839c18e3d93fc76e6c55715a673003140a1c33fa36362d5c5c0b9d9b1583d8e6ea02e11cd0f74d6f535082621d2670b29d228c62cffc8ce468635b95e136f88f704993e8d15107123b201fa1b40ae0db70452931cbd3e78e4d32b16f63bf40ac6cc51042677dce07b51ca49137c37df2dae74925effcc9006abf0b59e9b20c9833cbb6948a11b09f19360bdacf6b088d2df7b6a3fe3a92447df342284a1e6e20bc3ec5495234464a6ccdf7b4dfb16ad42803e8a967e484a69687f41a0e835091613938d8e0ec2f80b55cc09695e6a49e7f792e0ceadb87adc33a6c1b12052d7f91f3af8324f40b8cc369e9738e82e504ac6f3a9fe0948dd8096a0488e17fc71c62077b3a4c32110ea22227bf05fb98f82d855cb432fbc1c99b0d0e5afc32962715ec460b41e83e06292289ddd6f3438ee0039f180961cb6a58b43d3a4d1ab8a6d7966f9106dc1c6e079d7be90ec41adc8a333779caba81053dc0af098220473bd5c3171a3c14b402d827a33dc57d3c8427cf58e48f30b0ddb9cf89d00a66b5d26daa4c34cb1c1635e319c77b0b890486cf48b018c4499807ae485f5d80247ec3d1d828db384cb046756cce06745b34da2fc161f8715af8aadb1001b75cc11da3adfba3c8aec0b0bcf5962d6f0f7a5d2931a73ae3044c75a053e8a2273044bbaf78541a9db5d4888c567009b35171e787d8bc644e4670db7f1905c9bfc2f704dfbfa28ca01ddfaa71f50178c10b5a8411a23f610868f96439909fbd546382f41e56722e8c5ca7bf9fdf2e5098bfe0edb42651e9af1e4d306856e0302f3c97eff7f12cadf31382c9c386149e28513db997f48f2a8db57c064d031a2a6d27ea9b6ec3d1ae4ce4bc8d3c28423d435f0bc40000, 'Isaac Asimov was a Russian-born, American author, a professor of biochemistry, and a highly successful writer, best known for his works of science fiction and for his popular science books.\n\nProfessor Asimov is generally considered one of the most prolific writers of all time, having written or edited more than 500 books and an estimated 90,000 letters and postcards. He has works published in nine of the ten major categories of the Dewey Decimal System (lacking only an entry in the 100s category of Philosophy).\n\nMost of Asimov\'s popularized science books explain scientific concepts in a historical way, going as far back as possible to a time when the science in question was at its simplest stage. He often provides nationalities, birth dates, and death dates for the scientists he mentions, as well as etymologies and pronunciation guides for technical terms. Examples include his Guide to Science, the three volume set Understanding Physics, and Asimov\'s Chronology of Science and Discovery.'), (10, 'Neil', NULL, 'Gaiman', '1960-11-10', NULL, 0x52494646780b000057454250565038206c0b0000703b009d012a8200c8003e6d349547a4232221a6146b70800d896507070d042ca4a72eda1013ef161eddbf9cf3da733bd273fb9ca1de7ee2663f0be6560b517075c6f25f44895074ccadfdebdc21deb318d0544fc26fd9f5263831e7f0631096abf0af4d1dd5a77b49f3114f68a2e27c02f0e3eec9aa123b78b491f82468b98f7a7e49c89dd7b671946879bbb078b184713132dd701d445760755ade3b57fab6a241fb3a5906153802d14de3cbd156a2b3035765ad645397dfbca45fbf8361720d89ad760afa7a21cab7c11d430932870ed76f060271955bee74e498bef4b7ddcca87ea1e118628444e07f4dbef6c661336e684ba3ef97a08bd88dc07c09e203bbca442ad3322ca9cfe92ee46cf79963932fb0dfe64927c08cf9539afbbdec1de76e933e40d360f2ea528d1cab7da22c7d3bbc58e9ba0f901a3d48b7e883b3148d002c71962f0c0a33ea23df0a2c884c563d2fc32244610b92a74f9537487f411617a6a5c8de998c87aae0d5b3d630c87daafed4cd9ed8eac348a204aded91f9eb2de94caa57f59fb8fa92c50c8bb485e630562cb31aef21101271ab3a1995b07148f971899fe77f40ebf23ab976367937057776205ed7d38ba04e89a357cee7ece37f57f8dc940ee37f7ea57b13ad4632a648bd8837946ff60ad10c93e1580f06fce00000fef0b76c5afe81261d9ffda96f668e9f6c92b62e3f39c8932f3e63e1af7a382589fb64ed62e24edc5ac75d495fd54f2f6d47e9f6188579959a2db0fa5e36ca61ecc867bc62a272e3434c9175e241e474f3cd888667a621befffbf3897482f0414c65754c5dfb713e3ef40400f855eb3123636dc049dee4b03235f4197804e61ccd89382fad6381ecd424b9867a9465bfb6e653d75783fc265501f1e015b2bb83118b3f863e9675cdfd8e438067e6457b413edb930139ed1b6aae155b88884d3279ed32548c31a87bd7e8ae4e0706ded38f75b18b22c0d6a03e26a793bcecf6225598fb9fa309f346bbc459e21ab8b3a387eea18da5f0e69e6802bbdb3bd5b6f06ebd5e199f9c1b5a2b938abe67fa25dd54cc5c2a8e5b0590565b9e71ce607f15b1c57d794af4cec4243caf08f6971841b041cc47bfe6b4cc6382be1dd75f5d1d32f92a8cef5dc5691d1c6a9a01592c13723c497bb7a94c0a00879fddbe7bf9be9e1d8ad42e7e443361fa834e1b9eb9f8ee67c7c209d3fb1949e3895eff2abf145bf4cb2787bc83e0e17cb65b2437150e8ac0c3a381c3190c0df62b2e25ede7f45cbf5fad1baf8393d2ff65c9528a0e9f898d35a23a41a5a8388e8e839d54d04f28292d36595820b1ba1f4f0b0f62b6fc4bbec02b51ebefc0dac24b2c0b09d87b499c909b9da40e5e0d38e76915e15d1ddaa024716ec8e28309a46b390733e6018a84ab6e8d49b0a62b24d19e969252040d40f6b0dd96f55216a251eb011d6570af343bdf4ac8b7d2e80b89bde32ba2c7d1345cbd582647b501daac0af862058759525ddb74b29b4575c482c8ae850365e645287926d0d81b3c650e7075606564e5d6601a7a1ca31ed042c8f7d369c3bcca9222681aaa09ff2f8ec291db06fb7d99e7e83c5c1890c0826e96aed0ad60c0db5eace76e7da42b2510d5d7eed621db22c55895a960232b27c1ddca69f7eb8160ca38fa942c42184941bc37518ccd538d9b0010be58604e1d4610a39ed0e97be3848c54cee8d1f8d5e055e001f8c49f4bfbeafc5199b42b46063447dd530c600117f7b6c6bd7a79a43521ea75e8b1665b4c3d0a2852e142b19c973bdb0e585f264e0dde20f06e290f6135a283d25a21db55db6c0550544978255d6742b3976144bd8555847804e860f19f4cea5d657b638e01ad80d423617886edead9d7f565df0eb1c58457523496f4c2d53fcf0b17f379d131de1c248a0d07e18167f98cc1a919afbc7b971414d60dc2613d6b0cc36ec0a2e6218c1469f77c6d178c5aa0ab283f0e0d6b866a465a7bdab4269a80399e33dfcd6549af1c3afb3c76e3e05118b3b079d1fc8194fe67272f822a3441e6fde90fdee6332dfc0b483c578f4538fa5460be97587495c6c87ada03959379a796f4bb0d41511ce02f18091ec95f73a348341f13a1985c91e684a6db9aa4922f5a5192c3aa290f40144840eb5155bc90d4891395f66f8d70cfb257a51c8aeca5ef445bc09346404734acb81ae93a6bb7f7e023314301d5a13f0ddde982dec6b9ed7cb2d931b0fb9433b6ae2f5ea4d494b3160b6c4523526cb6096a73aeafa953b1bd2e1ea5bf25a8eef0488b38ee10598824edd19fceaf510d2d0d4cfafa45acf78e6d62d785cf8604ce36d49aa1753d7dab006d68c0c955ad1438ecb4959e8a803eea09a416abe7f9579a7e25c70e41d1a324d66964f9625540336c16a88891401bfac5378bb646068bec04559b843b893d451d29415c0cce26f979ebc0311eac9f421d1b0f51c667c95ae7a8a0d8e4342771e4087dde49533275a46b6670f4132395b5f7c260ad51d5fd744c9792727ea6187bce1c30dc807323854a6f200ca5ec8c72601be7aa454798b8f13075c4c51cf6774a63d02d3c3c6e1351c5276e99c2ee778ff5c9b412c2af8f59fbb102231ad9c8eb938b1946b15a9c1d3ccd68bb6d8bc902fbe444b5f0dad304f86fbb6ec91a4c6ef6e97314ff7de77bcafc6fd67fddbcd68afc47c018dcae0fc56c07b82b69a5f53afab4ad691861ada4135e43ae85886994057443e60709c4981980539078edf7373c940888df5cad9fd54c9078764cc8171f47886b2e2ebe964bf5e74574a6fb72c98429ab23393d504d8f56640cca2adde7bf59ca4ee42dc069f46fb387a483877dbad4606e789b5af744ae22df57313fed91045a588b37662c8c913d0f1e4dd8571103f8db6fed505af65e73b6aac9cd4ca9f614ca6b5fab30a61fb00081945eec4c03c599030efa124cd13359809edba00a6dd36fdf2642a3aa5cf37041ad5483c5680229bd34cc121448e54d433095f4a706594e02c1c25a6cae56cd4800dee1c8503121fe83f348b5ff348ee63b5af2905be5848168163d0fd12f84dc7f48800beab065cb9317c99270f3e2f79f5d8ab6d9dce5e5932ec592366e23207862d3c7892885ac6770f4df293f9195d93d80111add78cc2b609494d5093039e4b92af17605bb7e9ed1ee9f3c82a6063a2765a47f6f0a417d9d94e2fe23065f7c89cd0cb2c7bb1215f4d2d1627e574f5b1e127ec20fe0d4cce90610d08a44d1e532e0502e4122a2f4ad1dea489829a4c43d9361b29160521d11e126d5e1248d050f52f53de3ff0ba66c92741b1d114c812d406b304b9c2e7fa9d8b5920ea24e3ab94ce2678a556928f11815251512bd35d12e697d80837ae8cbae296ab10ad17aeb7ee694e8a2de56b012f3d5569f602f8132736b1479098971015bfddf1cd385b5db712eeb37ea3f028d9ca93bcea5973d551b438b395ca290dcf994fd91ffe916e5cc4b1b37cb3b0250a367ae71d0cca0cc8fdb8554264db44e58054a3a9ead913c4417196c3260c5730788447d67dfcb1ed35f4815c608c485dfd16d7b0f354fd4c5d4508bda75b4036475e049f38ac6c507bf09319e6e7bee3ceb6c79ce5692f5425d424995e2036dd992d6e404fe358779e727913d6935b267a521729ff432a70a5b6c82c09045efcb2e2d3bdb6364d1ae5e742955e36e9632c4c07191e64e6e1e44ddf7c948a8c48cdda6b30bad98622ad604ae024507fcc8ee6e0822312e21513f78fc777ba70242b5afd6b83fcf049ada2eb4104d45a5648f0350af3e285c620c61996ddf0e60920cf7b82f25f1a31175d0d606384bab9df521e59031787ae69c71f7c4115cae29bfd8a0ec0dba1da9dfa66131f8f39eeea894c05b3f06090606385a810affabe7253f4b0d60932c0388b6daf2df7f9cb99466861e5e70751f7aeac16b112ab0cefc6d17655f4a85e1294b5e2bb06feaad38a21a14596723cb6c4ebc32ea8605747437ded9221e17f9730f3c0f47daa1ca821ebcb02eed7a66cec945d38ef7054bd46dd7540e7a3d18a882632739b36f19c9974258faf0e5a7785742868ed3e866414f989b1d1c972fe2409063ca7d2601b9f46fde572fc798d88a598a1686a96550b73f26740000, NULL), (11, 'Douglas', NULL, 'Adams', '1952-03-11', '2001-05-11', NULL, NULL), (13, 'Marion', 'Eleanor', 'Zimmer Bradley', '1930-06-03', '1999-09-25', 0x52494646b81500005745425056503820ac150000705f009d012aa400c8003e6d309346a422a1a12a54ec18800d894019210c8d77f49918b5e645808b835bd26a7e27437f279779c47da1fe879dde07fcdcd439f86e607da7fcef4d74cc7d4ba2434a3f607b09f4c938f6720a84de920656ab6aa8f91964707952a0aaa715ed0d4709cef7a2dc729a83119f2ac63386c252ae01195113e45fba0c907b38245c23f67615e06bd4c9183c8e470bb82dec1dbe41486ae199d126ea28a6684a9f63d313bc13fb9102d2d28713390be036a7b8f76d6e50ff07f343140e9a8a6bfc58ce3f8b47dc4d49a24d5213976c3af9401b052e638897121cf97ad871f508b4228b9955b83a0d34e65435724ac4c425d6cc8babc0f601ad4c27ee910bb7c1e4b9213fc6a4e13a23b85e48c5b2543b945148ed42cd01f120ec8777bbd5ea2de0135a1135666074a8708ff72c9dac7e4eaeb4881cf1bbaf16d51b67b8732d7f91deab69c5e229c9b32fcee55e838789d1e604ae98e02185f6015804fabb1c2be18980a1bd8b6777ad71e324abb6bef0c99b6c2abc851bd4cefd8e567d2352396b207b813584808757f853eb784478518c6a2c616951b6faafb33c430c7e3f58428d27ad4f24f1f57e0e9c2c591a678945572000c60bc151a0f434a98c3b70243b435d99875878c97af89d804c4d04ff0cf205b9b518eefa8fd62e3ae8268ad9c92fba9b2efd1f6efb5d629662bdf07d874286f5b02133476b9e2c87345ea459e6a758292e6d21064d826680a762ae216709231e38f9d130def6b452db05d70549510d7a03ffc2f6a701c7f46241ef4c0566fa5b7e0c0a39d053342655ada6e7c91f76880809e2dea3edb7f32f87f6e739689be5921d6dbc5010eb3e358263211c2be09eb70faaf73978ad686a64b1e88c313f46248794741227bdb131b2eec8f67897c06d04e756028352c9f2430652ed6cbc8acdc8edfeff46440294049a1c523195654841212ec51e529ed6b155b2da3c030714823206cba6e465e86af15ca7cbfef2d97cc4fb95d358246a2a093d9fa04ec110a2619a3606dc24028f8bc07b40371c74ace811117b58540205297af126aec139a98ff5230f9000feff2a7997d83e52b252fddbfd2c17f9e8ed925c5e1fd62206042e20907ee9bb0d16549b302a2317f7e64c1e373ad3c17745845be5353df82186dbd1144c0372bc403e2863bdc60ae23f583e24d46d3ed1703583f91613f18515e79a678fd3f89ce2f932b87e2b502ceb88b510456976688d88d0a19c7e013d7b46d53f5d00b5e3f0d85aa615ad77d8cb3a061911513dd663c772092a788c87e37c1f0c04d068d5abe9a9fccc5ce10186fd0481bb31885034763336dcb008395acb82d6556bf8c4d5c6f8995b57f2669cc8b8a936065179fd591dba4763563972f4a2a3513d46718aaa12729f440d619c1e24d40b1dd8cb9962148c79bf997399985068fcc338590b65cd95ae129b3bd9707c63b406dda2ea5e5a3a3bde3c4799c0844335f2cc369dde374169db7a43846612910261ccc0da6154799eef56212798d14760b9f57576e6e0576504665690841cc907c70553fcc750339b9503623a20020f3e1d023fd4512e37d54e0ea82f48615424787bded207db43154b4eeb3caef31648e33b830f2ab4c4c60e3015688203d1f00074d43fb73aeb87ae2c69d76655887e41ab0fcbc72760e51cb0941ca648c8f1238b71907664806a1d67922ad5bdf086f23bac780d5d94c203bf9553c06f04d35074fefbb985dfd33cd51be1a128e6248da34acdc3437eff2878cb0412c4132533266e3fd828682838e8d0956d57b5bef261b4a808c37c9e345d4df7b7c8dc332b81408ef8cb6c250237132df9fd6f4fa8e5607bd734bdabc4b2b2fafbb947e29bbe4d5f4b02c64c761b3af14edb7fef4513f64ece84316af91e7387258512f0e88c8a0454ad9bd2038210cd59fd11932a3f0bd30b948fa2f5cf2554c280792ec6262341ef2b6d820dfa39f65c47a2e607109e7cc800c6d71bec828153d7264de824805bd966fbabfc785ab0595f5e32d6a34ab8a262e5f2df008dc5c992c42051e4e127864d9031259796d0af0e92139476ad72eccb8b08b96df5acf9d31bce2e7ce07edfa20f0dd064fe03fa106947983aa2aef09c1864ef0e9051247d8da837c8dcac74aff6f929fbf15c4418da658729280e61037e05a40425b427ecdadac0880959e715b2fcc5b9370d4c2ac346b418da46eabc4c7a5f91e7e65f1260b350f07be4cb987819b3cb379f82bd6a3c23badc45f4e508ee44bfe0a59b7f90ddfdadfc9b38fcb951c3a41cefd27b6a57a56a4062e2d18b6d37ffe7702987a644b9e981cdc6f0b19cca60cee29dfd27a3148813b400d9728bdc841ad2a8499a00080ddd58f5a8136c5b04a15fae22d759fa31f8de1b138f1c10f725864bd4a8dd963b8f86120d4b09301cc8cd99aaf29cba431d207e665a021fcc6c609f0e1aba89122d8177caa9fb0e5a5c51b7776e3c6800c53b93d4c6cc6ff2bd3b09b295f551d492cfa67b367a6f49f1175576cf4f5b9adbd4441bce2c7d0feadcfc63d10b265050affe9a1feaf19cbf93e1f914c618d4f9c44200fe2a0408353eea8851784a756e7872c455f4a3619bb0850876b3fece71fc3536b7ea95935da7dfe09216bf084587e736c35b1ced9071391ea19fe2e161ebaf2ccf46b62bc999c698cd6f217ad4f3eebdd6c6b4de3ab31c57a88df7b8f1ad792e84ffebb554427f932eaff5e6b019cab0017b665f4bd96aabacdc4abfa23a7ef464d5ad31f69e696393cf8c1f6a79712a316b7090264a1cc1c40f69f70430adbc5efa5d973d8bb4c115443c00815eb3b787a4fcee2d185725ddca0d2fb827bf979fd189fefe9ffda228cef32f4ffc6390f7b5f742049e56a5ee895af7c2a28820da111d0659420dc2d81a65627acc8e3f75297a7a82eba09af70515a93db8cb56316ef2d969728294c5af22be7532dc748206587c806eb98935de0e0dfea2e0f97ce07fc13846156701d14dced12185e93166685a273e2dafe540ced5a0eaef9b17d055a8010491cc4cd2bf9a730681c929ea577ed4f45662084771f4c3dfea00f6c7b30db1e5ad89f31d94a560d58050b10337d898f3cbfc4af857e618b59812a7ff6e0a0cc63bddcba3fde8ebe164c8da4aff25b91a7ec61b4761fa689580f0ad4aea26108a2d6789afb00b8176174145e36fc4ca3f83ab1aea770bba7923c4800c46037784fe5d33dbd8b500fc184530ead10d272e73d2973fd49deb7d0cfdfe9bbf4d81d8c8014507429b3cea337f031c5d9895752030858ea3d394d744f27fce0d0cbe7ef67556e58188e7eee930a9066d1d629b75f6936452b7d74d0fb00ddf8dc323458ea58dc32c6c45d8479d04061e3bab83082ee1c283f41a01bd3e29229a3b2474b91c3e63a4477e51190c9a4df4ff9e777f1b3b557abab7ac525ad49c821d889ad672f1472ccc7acf67e1dc0ef30fd6ee84fcd09c7847fd405b6798429bf128619df1c3348865f7c376a978c8ab7c14c46e6813624886ee71b7d6e132d33fb11435bbdf7e16aab6a843a4767d06a7b7e3738694a2f13cc18e99cc5c1dd12d6f4e3fe10d61f91be2524bba46e3a3f3a5e5dfd8e871cfa027982762dd1e5b39b364ce8416fb16115957eefb472163109122be4d5763721cdc3bd1456d56d5eee407118d0257ff5b53a2ec5dd3704d92e17bbd5ac24b1ff9b9d2d6d065e37b09c2d5639c7ae80f6f99307dc7e585991290b23ce7afc629bdd245d827c182260072aae40faadc9b529bd69be9fec50a269227747b362d6314aa7e8ae534956692083d1e5f30226042bc5cceddc25313d2dc4e1566c4417691e51fb2540262828d6461dd0f8f74eb87d620992d7f86df8c8975a0e027eaf92577f13d47f20bb1938efd17440374c859e9113a70ec4ff2d96c5d798b0a84043762546a79b607f94c80b4314fdbf4d2ebfa3f066d0f740eab4231560626f71c4f9c5dfc6ddedcfc5714f1bb2ecd4a231b6102b0e9d5c8c189c19044554903f68f53fa42be58b27ee72b6bd8128124cd549a34a8c757d1c389ae82335f690387baab15ec0915a18dbc0e2ee87944278cdf47ed052d7fcee816a3853864870abe69422b087c5808877fa9c84872e4af7d6b1a4d9bd6f0bc072ec2700d95bc735ddcd79d6f9b82e2bbac7f7211db7b429383db517e17ccd76be1a7a3d02355d9733a14cbae52b8b9722c1a417d7cd297389e6063f70389d8e6fe9db0fa9691a0e64a4a723954cef895ae31d9e1dd2a4e111363941a30016a2d0125f74893812640653b900712ff16cc75c9a1e7ed62895ce35869842bf5284d6727276f7eda9d66165e0f6def502d1110ffddab1d64f630f9deb00000ae3675f0bfac2d34ac137f80f760db2bd9ac641645e5420fb13f815591f9c766ba6e787af95ba22731acca2e2e83cf5adde180a4795f20cb2099df52cb45fbabc65d0591b7d1df9f50f216724fb988ec4a77c47a38ac84ecadd3f650919f7500be6584f08fc3021c270d57a5be17c78c30acc60cb721b3687a2399b8d5c7f9af46a3b8b10f88475b4dbbbfa1f77e91ffc294353bad645d2825cb7fb20f3ca2a9079848fe8ea8ef537e7d650a22f6b798b15d3969d282efd0ddc938de9bde1d18fa8ffe154944d4a19048001c2a22191acba1589709097c9e872d9fe9e6fcff37d499f163e624a45486c8db98ccef9e61b44dbcd6a9bca92cf2f0ae8b069dc65027ac2a72542654881fbfdca58573a975c56f0450aadb460fab7108d43e3293b7257342c4e33797f963b3ebaf951c5b5808cf1cefb2dc28af7226886f4d4e03415780c02e5ea9f282409635684bdddd28fcb7aaa6b49fa9fe0bf13be953e3b919f408bee011591d8be25e7a33a5ea3b8c3651874fb44bb25a9ce5b59cd38a6e7a91a25718302ddd0b5ca5d20bb8af00acd16ce8417ebfeef27faeffef7d487f37ade624fc8681534bf94b47667379225df25ce65786d2de40d38995603972357d9a9038568660dc8846a76d6ad5b883b226b13227ace128a272b8df0c154d7402bf267eff0b8e3b3a53f134b6ac353a655ced7b257fa4715d5de374de97d4d8050ee4975b2041e6faff939883a932afec5937197a20d770fbe854ee972b0232ac662a0a781bb8521f96c96885667b0650aa450002966a4aec3817f7caf3b91d7972448dcf6fc6d6ab5f588bcd4b630e7161fbd7d4c74a470a35f7f8e2f119f90dbb9e7cb36c2624b05eb4d621a09fe1521888ff3277c2fdc0535a9312bbeb5f3db379e144d610e9f64c462de8158f6ff62f01da493f50733229fda383a859ee6332e375c4e32e29dcb41c7f1f1408f65d93dd3723a55b293ab215f47598c3952e963e49d92daae9a416c71c4a421688e724bfa95c853d64086b93a901df6d21323d6156f82a582a7b03780304b4aabf442e53b822cd44e813b7a442b0aed3ca0ac9f8b46e96d12e1429796b41e46b696376b5860af425edd0f69cba79faa853f54beca14777a446a89aa83e7494bdf87fe77fe9bfdc74bd07cc6aeaf2499ccbc287bd1275a172d72b61d586c4ad77887e2d303b2eb33822da47948d0cd35b0c20dea6787e76b8a370f0545ceff1d2201a5bba56cadb03478ce7e2ce7d7b5c19eb2af32cf0a05f86b60d629de4604f1ba760d1b50741a5dbbc3ce5e9b8bb2c63d6df7b0839a7342fd9eab573c3c1e1993a7d10e8582e3d962020c114c386c6c2bbb4e3d1a4f5166f653e45111fe0a3df5450d8ad73556b2f2c99a487c67d1e4740f99d3497f4253f9175a609ad63e65012decefa48cb2f2ff76e67df6f40ed524ac7df731a91422ddc10185cb0fc3786cc5289c097257803f93df2556d50327162b36c4bd09a51565605c4a48db28b58b08d2ce8c9db901b6623308bc0e8650d4bc895b00554d6bc1ab9544b3538f787333ffad2d2e9284483261ccacf4d381ecb33f7eec8ac71de506fab9a606bfb9945296531c149a68b50d2d5f522f4ecbba5e688c651223b808c943416c8190cfa8104aeba5df6007462c87f1537e701e95cc885e883c13f24304fb39b91848eb83210aa348d549726c3c9fd7011f8be98b16da6213e36fc78f46b00640a18b57de37f38a836515676ea52279e47f1635ea26d1aa5880dfeba8e434cb8933088bf313e32638559b1d4671cc3bd9dc71af129f5fbd25368a85a21ab6498c7d0d19284a8dc8400726a5083d5e7a181e75b9a6b7b8acd6fe9bda7d4817385026be38a2c4489cd255cf6c0f077a604a09632e5a71b78f323daf89bcce37a38a9dccea0a2ec15011d997315f3786dbfb02bf140928a672aa288fda14b494441eede849ab111d3e1239d3c0262f7fef61139461d21c4d8e412c387ba543aceeb2d3161930835dca45b717049a55224ce9dc891b7dc825c44b83ef8195a0bb354c490ca273ef0490587180d149fc7057dc5c70b8db2e874d6cbd74749d5832c05a46ff426c17a90d3b95f1e6a2c97b22895a33fa72a1f0b3fff883dfa5777d42b27732deb2e6905c1fd0ccca3f0c473ede1da0515ff900c9d9620e1366626f71308e7f5a0d3ede50a1e96a15f7e866c0c6fa75e9c9b58c08c9dd2181aa3e12389bfdae8b205ad9e83a0d2c9124a08d4d9744df98826088c1bbcfe283d555b6c9b5e1701084ca019d3a9aaae56425669d67a0c528fb8eff4eaea7259a7d34a5ec3e28c957147fe7bef12697c313857ceb5b89ba0ad115f325de718be4824477d549e94a9c9a4fbd8d5aed12c11dd67fc887209af027647da9aef351eb240cdb5636cd413676e73759886472bd6422490df59bb70d7a2754a48f56057532ad3ff33d03722e803709f888d385eac51195ac0deff877222886bea412caf6d8afebcb1da6f0724b450714ff6d9aaf9159ee0ffeaf466c7a87e8bd6ed609c10f4ed87eea258cf89de4b66171740e29c2c8d48bffe8ac00e828c13cdaa4d86bcde517ff1bd8334bf9f7076e3a7133561d9802d95be947e9cd3b7c501086b81981dfa7bb087c8b62c0d6db0dcf720ce8a7173103b64362e9f3ebe7de856159d64dfd2f5f792dab3777ec073045138fc4901643e3cc171a234d6b80f28f269bdfc12ae0e51cfa9a4e62b2b5a4a7f0d06128cb0d635eb331b9a00b9fb34151d007efb5f9be6ac4a8718501c9b7223aba2424d7425f48f11c0aa08c6d398825d047d395b02ac29575142b40afa8394a81afd45ce375c5e3344fbd92ca5b94054303c487afc18ef4fd6904b9c4650909e95e1bb0e732de39176daebcccd02e953bec8d121ab0a95b82a515de1bf372ab8a9c39cc978a770febf4a0f4fa8477e87743f485ba8c3166906e00e62927d04e46d6671936e796b0006f0bca8be82685e24ace477c66558c96faf9a98b907b901c135a63597909ce31b153bb98e811b00bf41f76dee4a9130c944665ab36584917a0012a0699ca08666bdfe075684cc592a010c466a0c0c6ea43ba539bbcfb0fa9b5664ba5586002fda5cc8e6dbb16f63b1e3d1ecc6da50a7dd8de6f1070019c81b1c485f12569438f0e39e11108254d4d7a110e9c70768c3c87e010e617b8a8924355970f85eb09ac95599611c4d80a4fb083476a21e643c68c16c372a4fd0fb6fdfcfbc85a91d83245f31427242717f58a61faacbd1db5fc4a47a76fef6496017613f5839e50ee4cd7d23a46ecf2b490b523b56fd6fa434fc9cdd61ee452e75d497b52378121ac562c11a7a48cfc445e6a78b2bbc8c39a9ae43b5b7f2c2716d36af408c9b4546e0b7c70065e64df612f9c5397be3587d806f0a9ff6f49e6f2bc9d4ba6fe63f0ea9a06e1417fae11b954d0d5dd580000000000000000000, 'Marion Eleanor Zimmer Bradley was an American author of fantasy novels such as The Mists of Avalon and the Darkover series, often with a feminist outlook.\n\nBradley\'s first published novel-length work was Falcons of Narabedla, first published in the May 1957 issue of Other Worlds. When she was a child, Bradley stated that she enjoyed reading adventure fantasy authors such as Henry Kuttner, Edmond Hamilton, and Leigh Brackett, especially when they wrote about the glint of strange suns on worlds that never were and never would be. Her first novel and much of her subsequent work show their influence strongly.'); -- -------------------------------------------------------- -- -- Table structure for table `authors_books` -- DROP TABLE IF EXISTS `authors_books`; CREATE TABLE IF NOT EXISTS `authors_books` ( `author_id` int(5) NOT NULL, `book_id` int(5) NOT NULL, PRIMARY KEY (`author_id`,`book_id`), KEY `FK_ab_books` (`book_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- Dumping data for table `authors_books` -- INSERT INTO `authors_books` (`author_id`, `book_id`) VALUES (8, 1), (8, 2), (2, 3), (2, 4), (2, 5), (1, 6), (10, 6), (1, 7); -- -------------------------------------------------------- -- -- Table structure for table `books` -- DROP TABLE IF EXISTS `books`; CREATE TABLE IF NOT EXISTS `books` ( `book_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(250) NOT NULL, `cover` varchar(200) DEFAULT 'nocover.webp', `release_date` date DEFAULT NULL, PRIMARY KEY (`book_id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4; -- -- Dumping data for table `books` -- INSERT INTO `books` (`book_id`, `title`, `cover`, `release_date`) VALUES (1, 'Foundation', 'isaac_asimov_-_foundation.webp', '2004-06-01'), (2, 'I, Robot', 'isaac_asimov_-_i_robot.webp', '2004-06-01'), (3, 'The Mysterious Affair at Styles', 'agatha_christie_-_mysterious_affair.webp', '2020-01-25'), (4, 'The A.B.C. Murders', 'agatha_christie_-_abc_murders.webp', '2006-09-01'), (5, 'Murder on the Orient Express', 'agatha_christie_-_murder_on_the_orient_express.webp', '2007-06-04'), (6, 'Good Omens: The Nice and Accurate Prophecies of Agnes Nutter, Witch', 'terry_pratchet_neil_gaiman_-_good_omens.webp', '2006-11-28'), (7, 'Guards! Guards!', 'terry_pratchet_-_guards_guards', '2001-08-01'); -- -------------------------------------------------------- -- -- Table structure for table `reviews` -- DROP TABLE IF EXISTS `reviews`; CREATE TABLE IF NOT EXISTS `reviews` ( `user_id` int(5) NOT NULL, `book_id` int(5) NOT NULL, `rating` int(2) NOT NULL, `comment` text, PRIMARY KEY (`user_id`,`book_id`), KEY `fk_reviews_books` (`book_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- Dumping data for table `reviews` -- INSERT INTO `reviews` (`user_id`, `book_id`, `rating`, `comment`) VALUES (1, 1, 4, NULL), (1, 2, 6, NULL), (1, 3, 8, NULL), (1, 4, 7, NULL), (1, 5, 9, NULL), (1, 6, 6, NULL), (1, 7, 8, NULL), (2, 1, 8, NULL), (2, 2, 7, NULL), (2, 3, 10, 'A classic from a great author.'), (2, 4, 10, 'Another classic.'), (2, 5, 10, NULL), (2, 6, 7, NULL), (2, 7, 7, NULL), (3, 1, 7, 'There are some flaws in narrative, but overall it\'s good story.'), (3, 2, 5, NULL), (3, 3, 8, NULL), (3, 4, 9, NULL), (3, 5, 10, NULL), (3, 6, 7, NULL), (3, 7, 9, NULL), (4, 1, 9, NULL), (4, 2, 5, 'I thought movie was better.'), (4, 3, 9, NULL), (4, 4, 9, NULL), (4, 5, 9, NULL), (4, 6, 8, NULL), (4, 7, 6, NULL); -- -------------------------------------------------------- -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; CREATE TABLE IF NOT EXISTS `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) DEFAULT NULL, `password` varchar(128) NOT NULL, `email` varchar(255) NOT NULL, PRIMARY KEY (`user_id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4; -- -- Dumping data for table `users` -- INSERT INTO `users` (`user_id`, `username`, `password`, `email`) VALUES (1, 'johndoe', '*A4B6157319038724E3560894F7F932C8886EBFCF', 'john@example.com'), (2, 'janedoe', '*A4B6157319038724E3560894F7F932C8886EBFCF', 'jane@example.com'), (3, 'petersmith', '*A4B6157319038724E3560894F7F932C8886EBFCF', 'peter@example.com'), (4, 'jimmysmith', '*A4B6157319038724E3560894F7F932C8886EBFCF', 'jimmy@example.com'); -- -- Constraints for dumped tables -- -- -- Constraints for table `authors_books` -- ALTER TABLE `authors_books` ADD CONSTRAINT `FK_ab_authors` FOREIGN KEY (`author_id`) REFERENCES `authors` (`author_id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_ab_books` FOREIGN KEY (`book_id`) REFERENCES `books` (`book_id`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `reviews` -- ALTER TABLE `reviews` ADD CONSTRAINT `fk_reviews_books` FOREIGN KEY (`book_id`) REFERENCES `books` (`book_id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `fk_reviews_users` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;