summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-08-10 20:20:30 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2015-08-12 17:05:18 +0200
commit53679811da855acf9bd944a389a48399ca5d5a15 (patch)
treefa75e06a965fb5751017288a5c135bc179574210
parentc77a6705d34c81cb933f3d4b83eb18e2b586035a (diff)
serverside full text
remove enhancers add full text client side implementation fix bugs and tests for full text feed
-rw-r--r--CHANGELOG.md3
-rw-r--r--appinfo/application.php37
-rw-r--r--appinfo/checksum.json2
-rw-r--r--appinfo/database.xml6
-rw-r--r--appinfo/info.xml2
-rw-r--r--appinfo/routes.php1
-rw-r--r--articleenhancer/articleenhancer.php25
-rw-r--r--articleenhancer/enhancer.php83
-rw-r--r--articleenhancer/regexarticleenhancer.php46
-rw-r--r--articleenhancer/regexenhancers.json59
-rw-r--r--articleenhancer/xpatharticleenhancer.php196
-rw-r--r--articleenhancer/xpathenhancers.json186
-rw-r--r--controller/feedcontroller.php41
-rw-r--r--css/navigation.css17
-rw-r--r--css/news.min.css2
-rw-r--r--css/news.min.css.map2
-rw-r--r--db/feed.php6
-rw-r--r--fetcher/feedfetcher.php42
-rw-r--r--fetcher/fetcher.php9
-rw-r--r--fetcher/ifeedfetcher.php7
-rw-r--r--fetcher/youtubefetcher.php6
-rw-r--r--img/fulltext.svg54
-rw-r--r--img/nonfulltext.svg57
-rw-r--r--js/app/Config.js1
-rw-r--r--js/build/app.js23
-rw-r--r--js/build/app.min.js4
-rw-r--r--js/build/app.min.js.map2
-rw-r--r--js/controller/NavigationController.js10
-rw-r--r--js/service/FeedResource.js14
-rw-r--r--js/tests/unit/controller/NavigationControllerSpec.js38
-rw-r--r--js/tests/unit/service/FeedResourceSpec.js14
-rw-r--r--service/feedservice.php62
-rw-r--r--templates/part.navigation.feed.php13
-rw-r--r--tests/unit/articleenhancer/EnhancerTest.php102
-rw-r--r--tests/unit/articleenhancer/RegexArticleEnhancerTest.php35
-rw-r--r--tests/unit/articleenhancer/XPathArticleEnhancerTest.php239
-rw-r--r--tests/unit/controller/FeedControllerTest.php21
-rw-r--r--tests/unit/fetcher/FeedFetcherTest.php11
-rw-r--r--tests/unit/fetcher/FetcherTest.php11
-rw-r--r--tests/unit/service/FeedServiceTest.php165
40 files changed, 530 insertions, 1124 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index afc4a5d21..07275b83d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,8 @@
-owncloud-news (5.4.0)
+owncloud-news (6.0.0)
* **New dependency**: Require PHP 5.5
* **Bugfix**: Fix bug that would not delete a user's table entries after deletion
* **Enhancement**: Add **news:verify-install** command to help diagnosing missing or out of date files
+* **Enhancement**: Rather than always enhancing feeds based on rules, use picoFeeds full text feed capability that has to be turned on per feed and can deal with more feeds
owncloud-news (5.3.9)
* **Bugfix**: Also warn when webcron is enabled since it is possible that the update will time out or only work sporadically, #828
diff --git a/appinfo/application.php b/appinfo/application.php
index 616526405..b90314f02 100644
--- a/appinfo/application.php
+++ b/appinfo/application.php
@@ -31,10 +31,6 @@ use OCA\News\Db\MapperFactory;
use OCA\News\Fetcher\Fetcher;
use OCA\News\Fetcher\FeedFetcher;
-use OCA\News\ArticleEnhancer\Enhancer;
-use OCA\News\ArticleEnhancer\XPathArticleEnhancer;
-use OCA\News\ArticleEnhancer\RegexArticleEnhancer;
-
use OCA\News\Explore\RecommendedSites;
@@ -132,39 +128,6 @@ class Application extends App {
return new HTMLPurifier($config);
});
- $container->registerService(\OCA\News\ArticleEnhancer\Enhancer::class,
- function($c) {
- $enhancer = new Enhancer();
-
- // register simple enhancers from config json file
- $xpathEnhancerConfig = file_get_contents(
- __DIR__ . '/../articleenhancer/xpathenhancers.json'
- );
-
- $xpathEnhancerConfig = json_decode($xpathEnhancerConfig, true);
- foreach($xpathEnhancerConfig as $feed => $config) {
- $articleEnhancer = new XPathArticleEnhancer(
- $c->query(\OCA\News\Utility\PicoFeedClientFactory::class),
- $config
- );
- $enhancer->registerEnhancer($feed, $articleEnhancer);
- }
-
- $regexEnhancerConfig = file_get_contents(
- __DIR__ . '/../articleenhancer/regexenhancers.json'
- );
- $regexEnhancerConfig = json_decode($regexEnhancerConfig, true);
- foreach($regexEnhancerConfig as $feed => $config) {
- foreach ($config as $matchArticleUrl => $regex) {
- $articleEnhancer =
- new RegexArticleEnhancer($matchArticleUrl, $regex);
- $enhancer->registerEnhancer($feed, $articleEnhancer);
- }
- }
-
- return $enhancer;
- });
-
/**
* Fetchers
*/
diff --git a/appinfo/checksum.json b/appinfo/checksum.json
index 21231743f..fed95bdf9 100644
--- a/appinfo/checksum.json
+++ b/appinfo/checksum.json
@@ -1 +1 @@
-{"COPYING":"73f1eb20517c55bf9493b7dd6e480788","admin/admin.php":"9cde71cc73f1b555ba8bf97998d3eb1f","appinfo/app.php":"0a29198a445bcf095c209025fb7ca4d5","appinfo/application.php":"a818b3f9d6fbef67be88a8cfa4fbf4db","appinfo/database.xml":"5756feb031dec775f64d26a30990ce6d","appinfo/info.xml":"e71eb6a1f85ae96ea51f908ff75812a5","appinfo/register_command.php":"2fe3314baa3db324b93009a6234406a7","appinfo/routes.php":"c1a816ef1d8fe16eff2eacc1df784aff","articleenhancer/articleenhancer.php":"27c0e8d1358b8ab5b9643390077b625a","articleenhancer/enhancer.php":"d05e64c3e3ef47d7185dca4db7eb7a5b","articleenhancer/regexarticleenhancer.php":"73c642165854a74994e56910fe2176dd","articleenhancer/regexenhancers.json":"bf5245871be4faea9cd6e3c62037aa16","articleenhancer/xpatharticleenhancer.php":"f51a31a266246d06b6406959fb54446f","articleenhancer/xpathenhancers.json":"5c3bf6654f2c3106e1dd66e536632b96","bin/updater/LICENSE.txt":"73f1eb20517c55bf9493b7dd6e480788","bin/updater/MANIFEST.in":"e4f72d98cacd6beb3ca3d5e6a026a3b6","bin/updater/README.rst":"6bcd3743d1ececd73522087adb473950","bin/updater/example-config.ini":"7da58ee1864702bb56548d420ac70da5","bin/updater/owncloud_news_updater/__init__.py":"d41d8cd98f00b204e9800998ecf8427e","bin/updater/owncloud_news_updater/__main__.py":"af28326896d08c98f0d9cc101ae4bb43","bin/updater/owncloud_news_updater/application.py":"f4742edf995f14d216ae1a4a6b3d2b7f","bin/updater/owncloud_news_updater/updater.py":"c95ceff854798bad0685ad45004b3b6e","bin/updater/packaging/rpm/owncloud-news-updater.spec":"00c22e3496f770f0bd41d2ad0cc363bc","bin/updater/requirements.txt":"197b4deb87ffa3decd9f045926a86cd0","bin/updater/setup.py":"52e9af20f53cb60b09df48b9795edfc5","bin/updater/systemd/owncloud-news-updater.service":"f0b09c7a01a827ed396b8e180bb1a7a9","command/generatesearchindices.php":"47e2365cf21ba4755401c3d44a3cff5f","command/verifyinstall.php":"570f5a37d44fbc80ac4bc88347f035a7","composer.json":"da49f0b59831699fcbb03749d146f00a","composer.lock":"1f49bc9ca4f932c110cbf87fb793554a","config/appconfig.php":"dee88f2c4e12de385315695639289f4f","config/config.php":"45f495bd5f659b78edd92c6cdb408b67","config/dependencyexception.php":"d4eda6de2f355c1ec39730589a5ba19c","config/schema.json":"abcef84bdb56b34fd6028ccec360d5e5","controller/admincontroller.php":"19faa7182b0d8d0ea07d979527ce46ea","controller/entityapiserializer.php":"634d149486ea9e225d9fe82514d2a585","controller/exportcontroller.php":"f62c609ce18ce90dd218e3e08bfbc4c8","controller/feedapicontroller.php":"15460715f9bd0c53030d033b2bf32c28","controller/feedcontroller.php":"964aa7785b8b6d0de249b6ea8286a4fc","controller/folderapicontroller.php":"42e7a2269e123d02a564dfa4f8fccc66","controller/foldercontroller.php":"9f44b3dcf41704549809336414be819e","controller/itemapicontroller.php":"572bbf30382e559ddde4228009509536","controller/itemcontroller.php":"7fd6d1171f98cff26bec9b47d0ff84bb","controller/jsonhttperror.php":"634df2ac5d49d55abcb198650a63403f","controller/pagecontroller.php":"ce2290c584689db4627c4c179682c73c","controller/utilityapicontroller.php":"7829f0d3497a4e8c7176fc6e58682b8d","cron/updater.php":"e009e8c6e8533fe1fd850c5986bd6dec","db/entityjsonserializer.php":"d49a81add439ad227fa72bebfca12a71","db/feed.php":"f34242ad734cdf4f6c05939738386d96","db/feedmapper.php":"4ae3a75272252d2d548dafc0a19ba99b","db/feedtype.php":"c4db42362f629b42b1676d4b5f66f58f","db/folder.php":"d2dd8844791a92db77591e1cbbf01bcb","db/foldermapper.php":"2fd41f0c9226797444b9ed5790d308e6","db/iapi.php":"905d56635d7844639056b6c2c0da62a6","db/item.php":"baf169358eaaf3ea0421ccf9a4921749","db/itemmapper.php":"18172cef7e431b75d69195039f13e679","db/mapperfactory.php":"0e14b3dca872fd58b52438268141e7ee","db/mysql/itemmapper.php":"37c3b8c3f186798f5617ff83c1f6639d","db/newsmapper.php":"cc0bb1eaf23be0df0572d0a6dfa6968a","db/statusflag.php":"5f43c4018b0f601f4af9e90e0fd0b4d2","explore/recommendedsites.php":"7fe00b10016d75865439715708b38922","explore/sites.en.json":"34990ad7625707913cbf55ba539329b6","fetcher/feedfetcher.php":"ca354e1f27bf3ef46e2f1e919e42ccea","fetcher/fetcher.php":"fabd141b626121544c37fe5735e260e7","fetcher/fetcherexception.php":"77781766d4d8eef15e0f29bc1ec7abb9","fetcher/ifeedfetcher.php":"203b894a5aee16ee9033250ea71cddc1","fetcher/youtubefetcher.php":"300b89dd8dec7a91474340573c7c2fc2","hooks/user.php":"ed4c4bdfc6b8b06410f1e4ae28355afa","http/textdownloadresponse.php":"becb957296e983546d69b8964bc3df71","http/textresponse.php":"83a6f7ce1bda9c4a8c7ca18ede8a504e","img/active_star.svg":"b3c26ec68d2481571d291faffdebd3d2","img/add.png":"6371032504a4f8fe2ddbaaa72d5bf553","img/app-128.png":"be2435be3664c0bfd7060f5498e33e87","img/app-512.png":"9957249ff0eab114d92e2eb02ee0a3eb","img/app.svg":"498858bb7be07e812f246b1be438feb8","img/arrow-white.svg":"372cbe3bb42a9496a4aed6e164da3439","img/arrow.svg":"c7aae23e57f5ab63ec127e46c45019bd","img/close.svg":"d7985280d981c38a36dd93b2beaa9b21","img/inactive_star.svg":"e27f651ed1aa09e8032927c0f2b83d6f","img/link.svg":"122e37a177ef635120181bb73f19c40b","img/loading.gif":"47e216e917cec034f146e1f9c30f4b5c","img/logo-icon.svg":"b87e61e3959f4ebdb8d3a5bd7d399cb1","img/rss.svg":"079bde64eaed1c8bbc88bd61316de844","img/starred.png":"5d75ea732e0af815af30df096c581ee8","img/starred.svg":"cc0f13e8be159f79f6fc494b91964fdb","plugin/client/plugin.php":"c7480df1769b9c195641bb201844267e","service/feedservice.php":"ad554922226b96e1e7bbac67dbe9b477","service/folderservice.php":"66b9fcaab421239d518f40661ee3c3c3","service/itemservice.php":"2cbd711293861f0b61376827f09ea2ad","service/service.php":"533c87b6802e13bcdac6b9a2deef6090","service/serviceconflictexception.php":"8239dd0475ce4962e25af748b08440f0","service/serviceexception.php":"52f816ce47525e65efddff6652f2c4ab","service/servicenotfoundexception.php":"f9acdf6fedc05a9857721185cf1239b2","service/servicevalidationexception.php":"b6ae908d4b03045edf052e73f9c7d14b","service/statusservice.php":"7263bdfa13cfc737dfbf60bfdf80dc1e","templates/admin.php":"eee1837c9b98eaca0b6d526e15cf1f3c","templates/index.php":"905c6c0c5d8f67ab311fd6ac122b2765","templates/part.content.cronwarning.php":"d6e0f128f5f412a19faf9e7eeb406141","templates/part.content.explore.php":"c82db9fe40306718daee6f2a620f1052","templates/part.content.php":"7d955c3b497f5edaf0bce8a605e77f99","templates/part.content.shortcuts.php":"f6efb88396d2ea8b15c693cacaac7c3e","templates/part.navigation.addfeed.php":"98c46e7cb7afe28966d63e9832d56092","templates/part.navigation.addfolder.php":"a588be3de1b63050aefa84b0c290aa68","templates/part.navigation.explore.php":"3a91b817f8573a4b0e2f89880af195c8","templates/part.navigation.feed.php":"4ff26f38db2ff60a75da0a66c0447e62","templates/part.navigation.folder.php":"2d9d4f62af945b13c925b4a22b73c278","templates/part.navigation.starredfeed.php":"a9b3257d6e1de39c02e396e647915c21","templates/part.navigation.unreadfeed.php":"8f8ebd16c901238580aa7cb9212ece36","templates/part.settings.php":"e853dd58866190e2760330a157b1d867","utility/opmlexporter.php":"3a8e0abc6973bd535e25cefd836c7b82","utility/picofeedclientfactory.php":"34410c07a7a7d00ae780633524deb02a","utility/picofeedfaviconfactory.php":"04729a3b2e7d46c5aeb20f14440b6439","utility/proxyconfigparser.php":"40dad4ac320b67a62c06f89572f132ca","utility/updater.php":"de58422fcad6ee9b6af7202b19126798","vendor/autoload.php":"72f31006662443fa1bce8cab6c71ae83","vendor/bin/picofeed":"09041dfdad7fa8c4bcef6b8237dd5c65","vendor/composer/ClassLoader.php":"9c1e7fe1a9eb1693e07ee4420ca5361e","vendor/composer/autoload_classmap.php":"def51b21ea9d40feaa871dbc1fcc0e8b","vendor/composer/autoload_files.php":"8dc7c58dade5c2664c75c770cf5df93b","vendor/composer/autoload_namespaces.php":"e50fa75b9f2a8145cf1d267e4e2cecf1","vendor/composer/autoload_psr4.php":"dd3a00f0d13eb29781edd8c77d4c5100","vendor/composer/autoload_real.php":"873174dc4bf8717d97dff15185f1edf5","vendor/composer/include_paths.php":"535c266d1a852b87cc1339b2298999fc","vendor/composer/installed.json":"a6c2439c0bc56a8b6e94fe217f727f80","vendor/plasmaconduit/path/composer.json":"8edcce7362f603ac389fc86fd68d34ab","vendor/plasmaconduit/path/composer.lock":"3c18e6589bad8f4d406aa600aaa537b9","vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php":"7603c6ffe48664c9793afbe570306f95","vendor/plasmaconduit/path/src/PlasmaConduit/Path.php":"9369962df5ffc50c6ca1eb87250d2bce","js/build/app.min.js":"fbfca1e9fe8518c948dc84ef866b25cd","js/vendor/angular-animate/angular-animate.min.js":"b07bd2993764af34efa8955401015ddc","js/vendor/angular-route/angular-route.min.js":"2eb12b3581eb6524901dc304b5ed4154","js/vendor/angular-sanitize/angular-sanitize.min.js":"e175583ba729f15e9359e157de0ecef8","js/vendor/angular/angular.min.js":"ca1a58818682c3e858a585f283ab9beb","js/vendor/es6-shim/es6-sham.min.js":"10538c3b885b5ad8ee0fbcbff5a0be6f","js/vendor/es6-shim/es6-shim.min.js":"f08b951b67878b250600cf8e8abb8693","js/vendor/js-url/url.min.js":"a8ac324549c34743796e2c449888272d","js/vendor/momentjs/min/locales.min.js":"957fa64c0c7c50aec3fff10595313a0c","js/vendor/momentjs/min/moment-with-locales.min.js":"135520cbe797c6273813b949e0af67cd","js/vendor/momentjs/min/moment.min.js":"85e5d41eb9c451c16d4e784aec13d948","css/news.min.css":"1107c6146a32bc33714b822488b53fa5","vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php":"0f6dba2689f471c382240c8d2d7892ba","vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php":"31875cdbe86db449dc38a47d1ea967ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php":"319cbab6ff8db08fd6ff1b200f1f4e26","vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php":"863d2cfbb3903516f0410710baca6686","vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php":"15c7a235443c8b1235a24a2183f5b443","vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php":"8f9b8b66e4b09efbb50b3825110b2a59","vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php":"5a6eedd494dd20c8579e2a9d39809d5b","vendor/ezyang/htmlpurifier/library/HTMLPurifier.php":"08d9fbf04b418dc41b7cfda061ef1eee","vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php":"957be86169dba07cd2a6b0954cd8af83","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php":"4fd50c598c9fe3a213de3fa211521b88","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php":"5138024754b1732cd3d3dac57b2f6e06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php":"84d07e907b788fddc0dd5f88ce7c9bd7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php":"b7981b9a1d0feb7540e2169a1eeb6e16","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php":"0735ba1e0d72921d32b2be57d29f6fdd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php":"526237115fa84e27deec7c8253f69012","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php":"ca1cf80faf9ec7a8906cb5bef9331ed2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php":"bfcec5667278ee0bd42ec80ceb94b924","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php":"45797670cda18b4830c1db8cc6242413","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php":"d1456a381affaa3287a559770dd825c1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php":"bf5bf3a9c03a0c91243f94956d778591","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php":"44146b8f2ff0749459a2391cc55a96d4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php":"cadcd652415401722a2e6690371adf1f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php":"e16e88b78b17ef5933a6753db8483459","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php":"761cc62ff769403e649a0bd5a251fbbb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php":"7d50c6c2cbbe3b334c7461b2d01b380d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php":"bf5eae4ee7059716053ad9263d278ea6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php":"184f255d1cfe8ab3bf620757a6700b84","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php":"979b641a8b6b75e86194f9e2df130503","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php":"96077188f46ca298b7c2d1fe8f3bc0d1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php":"bfb7f57fa6543314c8b8dd0373aaba9d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php":"5c9c72c263a87ea11590b0bb8105632b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php":"b439ef7f5a51b17feab6d4a1ff9a7bdb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php":"ff9e3f723f9b72f07f99c110659681b7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php":"7b67f9ef906d94c8bf3310dee3c03a2f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php":"f6a56c44209037b1ac9bf52f7b201ed5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php":"243998e52bc33a51cfa5e9ecab98f9ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php":"94924c97ef1cf7c208d7545b8a4508c4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php":"48bdb5a0f603ff235e2185e0675497ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php":"18e8f903ab5264e14d497d84b1cd6614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php":"8eef9594ae888e38e1c5921f304fd1ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php":"749a2c0adcdaddcdb0c71d8785c8adbf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php":"44af0c9a75c6ca7132ff21d128af19a6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php":"4266ca99292f6337fe36a966465ea67c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php":"2b6c6b9a58e008f9ad30bd47feaeadc5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php":"c44232150f0fd31ceded65ab8cda5450","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php":"2e6384ec55c011122ae49c2ab31c5188","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php":"03ebc8ba70d33a7641bcd07e927fb608","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php":"b7ed41ef61e377d1525c7e958240d44a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php":"5f77a12b61132f281dcfacecc7ec05b0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php":"5c820cfbec5d6688e9058ff13b81f199","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php":"d14b7b4a69e553b4224b55ba8fb8e6ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php":"4fccbc9a91796e983f184bf44e57d36a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php":"cedd9dae9fc3b958e1fba48cdf5b6546","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php":"233fb37b03b358a0d95dd3f429316ce3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php":"30034501c1e8827394f600dad177c3da","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php":"ed9489fc9798170ed382f1314d9f77ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php":"19379b90689b57ce6fd45aee692b18dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php":"6298b85d7cb368d69c652616f75b226d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php":"9363916e32a3dc99fe2189a3f7235c48","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php":"68dcda39a6cdcb5a867f875c7bc25b5c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php":"a6854574291715be20198669b1101fe4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php":"316ba5f95ddeb10e7238bd07355a2489","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php":"13840e28ff28f7cb85e9e6340e78fd25","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php":"053448d247e6d3f35fdd6481c80a5c0d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php":"0f612b56eabe83577f34df1ad604c569","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php":"cc75bba7a9ee518fc9bf790d6f65a0e7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php":"bef00d099144cef6472738a6be5e92aa","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php":"1e530211b9ba6fd15435546fb4007ce1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php":"97d6aaf38105ac871076dce2b949e8ff","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php":"e5d6998b98cbb2edeb34d41ed9381d7b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php":"232bf5e8e469e54dba5694d7272dd416","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php":"8815cffa55179748dd6b0c5b0e6489d3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php":"febab4dc70bf88169881a137c7f9e867","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php":"f9865fdd6316c0cf4f63342fc3593f92","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php":"25c61427a2cd5428b0d58009b87218f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php":"ad86856f1c102ad10966ca10d3e80050","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php":"8601d714205cdecf3ded4d9341044dc4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php":"3498910b433189d6a125edab68d04857","vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php":"8a5c12ff52598dc977899f1351345668","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php":"455dfdb0bc9f208568046f819a4a7828","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php":"e2dad2b9c9f093b2cef920fe51c86321","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php":"4fa2633b71015758d2e135fba033fdc8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php":"33457531d46c2cf60b9d74bc4a0f9818","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php":"95400b3de241c1627c9c8f76218782cf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php":"a9ea53d99254631009e54ce72b5767d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php":"c102312411eb9f14be660287bef45afb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php":"cf8565bb023ac73323b8f3c58881a707","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php":"0857b72de3aaf97103063deacd7e6d30","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php":"dba8d1dc8345ceacdbdb90e1bb0d3cf6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php":"792fb8f815088ebfc5bffdfd41a9bc36","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php":"11ee05ac784e9134af3da0d24642543c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php":"47fa3def33b8f0a3399ce77e5d669d53","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php":"31bf3afba867409fdf11f75eaa3725fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php":"214e8cdce1fa501148b20ef3d99a6cf4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php":"53461690dc58307295eeb5e2f30606e3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php":"b0ec14add96cfbb3dc2ea0b5f1cb6a80","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php":"8ba43fefc6c8231c7cb6143e2aa0af5d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php":"f80e804b0e796c13c834753912f10ebe","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php":"446e60f704190c269da69b72ece7d70f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php":"7ca4682cf570f9581b3f5262ded72d54","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php":"62c46293e7e4f2284f0934fd4c1abca5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php":"d9c6de06940a4811dcee6008657f2d4e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php":"75441fdac0af03a50449564019e4f272","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php":"8a61d0e045987bb88b7eb306738d1bef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php":"1eee5a1f75620519e3ef7c52c8da1998","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php":"1633327cc2bef18ca3a67d9b762f6ba9","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php":"ba4e60686ca80e591742fa55cdb5e614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php":"de4b3e54333a3bb2e964cddf69cd29cc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php":"3b05f0480562c73c6d6cfd5eaffe1047","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php":"308f29c7d17c7998b8c3f949c0004679","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php":"e5b36670cea455e510bc29f1fb14ac06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php":"5fed58a0b761cd3c8e8be736248cc769","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php":"abfdbaba25ac4104f4e1d314be9b16dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php":"c29c356dac478eca80747cc4ad1f096e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php":"8edfecedba0a6ad5db8f5d4a2a0551f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php":"9eae2b01aca584994516c509499ae088","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php":"06bc76f4e7f49005106800ea51e73e4d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php":"6549f2e00060fd671149191f1e94eaf3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php":"933f1e52fcbdc7cda001fbe4f03b5c82","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php":"399f9a13e5adf54def8dbfeefb9aa4a2","vendor/ezyang/htmlpurifier/library/