Древовидные структуры

Готовая библиотека для вывода древовидных структур с функцией открыть/закрыть/перетащить/чекнуть/выделить и т.д. Строит JS-ом, получая на входе json.