// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/Config.java
// public class Config implements JCommanderConfig {
// 
//     private static final Logger LOGGER = LoggerFactory.getLogger(Config.class);
// 
//     @Parameter(
//             names = {"--inputUri", "-i"},
//             validateWith = UriValidator.class,
//             description = "input URI for HTTP records",
//             required = true)
//     private URI inputUri;
// 
//     public URI getInputUri() {
//         return inputUri;
//     }
// 
//     @Parameter(
//             names = {"--outputUri", "-o"},
//             validateWith = UriValidator.class,
//             description = "output URI for HTTP records",
//             required = true)
//     private URI outputUri;
// 
//     public URI getOutputUri() {
//         return outputUri;
//     }
// 
//     @Parameter(
//             names = {"--scriptUri", "-s"},
//             validateWith = UriValidator.class,
//             description = "input URI for script file",
//             required = true)
//     private URI scriptUri;
// 
//     public URI getScriptUri() {
//         return scriptUri;
//     }
// 
//     @Parameter(
//             names = {"--loggerLevelSpecs", "-L"},
//             validateWith = LoggerLevelSpecsValidator.class,
//             description = "comma-separated list of loggerName=loggerLevel pairs")
//     private String loggerLevelSpecs = "*=warn,com.vlkan.hrrs=info";
// 
//     public String getLoggerLevelSpecs() {
//         return loggerLevelSpecs;
//     }
// 
//     @Parameter(
//             names = {"--help", "-h"},
//             help = true,
//             description = "display this help and exit")
//     private boolean help;
// 
//     @Override
//     public boolean isHelp() {
//         return help;
//     }
// 
//     public void dump() {
//         LOGGER.debug("inputUri = {}", inputUri);
//         LOGGER.debug("outputUri = {}", outputUri);
//         LOGGER.debug("scriptUri = {}", scriptUri);
//         LOGGER.debug("loggerLevelSpecs={}", loggerLevelSpecs);
//     }
// 
//     public static Config of(String[] args) {
//         return JCommanderConfigs.create(args, new Config());
//     }
// 
// }
// 
// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/DistillerModule.java
// public class DistillerModule extends AbstractModule {
// 
//     private final Config config;
// 
//     public DistillerModule(Config config) {
//         this.config = checkNotNull(config, "config");
//     }
// 
//     @Override
//     protected void configure() {
//         bind(Config.class).toInstance(config);
//         bind(LoggerLevelAccessor.class).toInstance(Log4jLoggerLevelAccessor.getInstance());
//     }
// 
// }
// 
// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/DistillerModuleFactory.java
// public interface DistillerModuleFactory {
// 
//     DistillerModule create(Config config);
// 
// }


import com.vlkan.hrrs.distiller.cli.Config;
import com.vlkan.hrrs.distiller.cli.DistillerModule;
import com.vlkan.hrrs.distiller.cli.DistillerModuleFactory;
package com.vlkan.hrrs.distiller.base64;


public class Base64DistillerModuleFactory implements DistillerModuleFactory {

    @Override
// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/Config.java
// public class Config implements JCommanderConfig {
// 
//     private static final Logger LOGGER = LoggerFactory.getLogger(Config.class);
// 
//     @Parameter(
//             names = {"--inputUri", "-i"},
//             validateWith = UriValidator.class,
//             description = "input URI for HTTP records",
//             required = true)
//     private URI inputUri;
// 
//     public URI getInputUri() {
//         return inputUri;
//     }
// 
//     @Parameter(
//             names = {"--outputUri", "-o"},
//             validateWith = UriValidator.class,
//             description = "output URI for HTTP records",
//             required = true)
//     private URI outputUri;
// 
//     public URI getOutputUri() {
//         return outputUri;
//     }
// 
//     @Parameter(
//             names = {"--scriptUri", "-s"},
//             validateWith = UriValidator.class,
//             description = "input URI for script file",
//             required = true)
//     private URI scriptUri;
// 
//     public URI getScriptUri() {
//         return scriptUri;
//     }
// 
//     @Parameter(
//             names = {"--loggerLevelSpecs", "-L"},
//             validateWith = LoggerLevelSpecsValidator.class,
//             description = "comma-separated list of loggerName=loggerLevel pairs")
//     private String loggerLevelSpecs = "*=warn,com.vlkan.hrrs=info";
// 
//     public String getLoggerLevelSpecs() {
//         return loggerLevelSpecs;
//     }
// 
//     @Parameter(
//             names = {"--help", "-h"},
//             help = true,
//             description = "display this help and exit")
//     private boolean help;
// 
//     @Override
//     public boolean isHelp() {
//         return help;
//     }
// 
//     public void dump() {
//         LOGGER.debug("inputUri = {}", inputUri);
//         LOGGER.debug("outputUri = {}", outputUri);
//         LOGGER.debug("scriptUri = {}", scriptUri);
//         LOGGER.debug("loggerLevelSpecs={}", loggerLevelSpecs);
//     }
// 
//     public static Config of(String[] args) {
//         return JCommanderConfigs.create(args, new Config());
//     }
// 
// }
// 
// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/DistillerModule.java
// public class DistillerModule extends AbstractModule {
// 
//     private final Config config;
// 
//     public DistillerModule(Config config) {
//         this.config = checkNotNull(config, "config");
//     }
// 
//     @Override
//     protected void configure() {
//         bind(Config.class).toInstance(config);
//         bind(LoggerLevelAccessor.class).toInstance(Log4jLoggerLevelAccessor.getInstance());
//     }
// 
// }
// 
// Path: distiller/src/main/java/com/vlkan/hrrs/distiller/cli/DistillerModuleFactory.java
// public interface DistillerModuleFactory {
// 
//     DistillerModule create(Config config);
// 
// }


// Path: distiller-base64/src/main/java/com/vlkan/hrrs/distiller/base64/Base64DistillerModuleFactory.java
import com.vlkan.hrrs.distiller.cli.Config;
import com.vlkan.hrrs.distiller.cli.DistillerModule;
import com.vlkan.hrrs.distiller.cli.DistillerModuleFactory;

package com.vlkan.hrrs.distiller.base64;


public class Base64DistillerModuleFactory implements DistillerModuleFactory {

    @Override
    public DistillerModule create(Config config) {