merge from dart-gde:master