///|
fn main {
  match @moonhls.parse_playlist(@moonhls.sample_media_playlist) {
    Ok(playlist) => {
      println(@moonhls.summarize_playlist(playlist))
      println(@moonhls.summarize_pipeline_readiness(playlist))
      println(
        @moonhls.format_timeline_report(@moonhls.build_timeline(playlist)),
      )
      println(
        @moonhls.format_window_plan(@moonhls.live_window_plan(playlist, 14000)),
      )
      println(
        @moonhls.format_policy_report(
          @moonhls.evaluate_publish_policy(
            playlist,
            @moonhls.PublishPolicy::vod_default(),
          ),
        ),
      )
      let report = @moonhls.validate_playlist(playlist)
      println(@moonhls.format_validation_report(report))
      println(@moonhls.format_playlist(playlist))
    }
    Err(error) => println(error.message())
  }
  match
    @moonhls.parse_low_latency_profile(@moonhls.sample_low_latency_playlist) {
    Ok(profile) => println(@moonhls.summarize_low_latency_profile(profile))
    Err(error) => println(error.message())
  }
}