#!/usr/bin/env node
// Licensed to the Apache Software Foundation (ASF) under one or more contributor
// license agreements; and to You under the Apache License, Version 2.0.

var fs = require('fs')

var input = process.argv.slice(2)

var loop = function() {
  if (!input.length) return
  var next = input.shift()
  var s = next === '-' ? process.stdin : fs.createReadStream(next)
  s.on('end', loop).pipe(process.stdout)
}

loop()
