Sample automation framework