ap.js