diff library