// Path: manual-bwapi4/BWEventListener.java
// public interface BWEventListener {
// 
//     public void onStart();
// 
//     public void onEnd(boolean isWinner);
// 
//     public void onFrame();
// 
//     public void onSendText(String text);
// 
//     public void onReceiveText(Player player, String text);
// 
//     public void onPlayerLeft(Player player);
// 
//     public void onNukeDetect(Position target);
// 
//     public void onUnitDiscover(Unit unit);
// 
//     public void onUnitEvade(Unit unit);
// 
//     public void onUnitShow(Unit unit);
// 
//     public void onUnitHide(Unit unit);
// 
//     public void onUnitCreate(Unit unit);
// 
//     public void onUnitDestroy(Unit unit);
// 
//     public void onUnitMorph(Unit unit);
// 
//     public void onUnitRenegade(Unit unit);
// 
//     public void onSaveGame(String gameName);
// 
//     public void onUnitComplete(Unit unit);
// 
//     public void onPlayerDropped(Player player);
// 
// }


import bwapi.BWEventListener;
package bwapi;


/**
 * This class receives all events from Broodwar.
 * To process them, receive an AIModule's instance from {@link Mirror} and call {@link #setEventListener(bwapi.BWEventListener)}
 * to set you own {@link BWEventListener listener}.
 * There's also a stub class ({@link DefaultBWListener}) provided, so you don't have to implement all of the methods.
 */
public class AIModule {

    AIModule(){}

    private BWEventListener eventListener;

// Path: manual-bwapi4/BWEventListener.java
// public interface BWEventListener {
// 
//     public void onStart();
// 
//     public void onEnd(boolean isWinner);
// 
//     public void onFrame();
// 
//     public void onSendText(String text);
// 
//     public void onReceiveText(Player player, String text);
// 
//     public void onPlayerLeft(Player player);
// 
//     public void onNukeDetect(Position target);
// 
//     public void onUnitDiscover(Unit unit);
// 
//     public void onUnitEvade(Unit unit);
// 
//     public void onUnitShow(Unit unit);
// 
//     public void onUnitHide(Unit unit);
// 
//     public void onUnitCreate(Unit unit);
// 
//     public void onUnitDestroy(Unit unit);
// 
//     public void onUnitMorph(Unit unit);
// 
//     public void onUnitRenegade(Unit unit);
// 
//     public void onSaveGame(String gameName);
// 
//     public void onUnitComplete(Unit unit);
// 
//     public void onPlayerDropped(Player player);
// 
// }


// Path: manual-bwapi4/AIModule.java
import bwapi.BWEventListener;

package bwapi;


/**
 * This class receives all events from Broodwar.
 * To process them, receive an AIModule's instance from {@link Mirror} and call {@link #setEventListener(bwapi.BWEventListener)}
 * to set you own {@link BWEventListener listener}.
 * There's also a stub class ({@link DefaultBWListener}) provided, so you don't have to implement all of the methods.
 */
public class AIModule {

    AIModule(){}

    private BWEventListener eventListener;

    public void setEventListener(BWEventListener eventListener) {