В первом приближении добавлено разбиение на страницы для больших объемов
Удаление мусора, исправление ошибок

В частности:
Удалил оставшуюся с функционального подхода GetAreaList
Добавил обертку в tuple в циклах поиска для использования копии списка
Ошибка одностраничного рендера