You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: zimbra_slapper_priv_esc.rb
    path of file: ./repos/metasploit-framework/modules/exploits/linux/local
    
    the code of the file until where you have to start completion: ##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Local
  Rank = ExcellentRanking

  prepend Msf::Exploit::Remote::AutoCheck
  include Msf::Post::Linux::Priv
  include Msf::Post::Linux::System
  include Msf::Post::Linux::Compile
  include Msf::Post::Linux::Kernel
  include Msf::Post::File
  include Msf::Exploit::EXE
  include Msf::Exploit::FileDropper

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Zimbra zmslapd arbitrary module load',
        'Description' => %q{
          This module exploits CVE-2022-37393, which is a vulnerability in
          Zimbra's sudo configuration that permits the zimbra user to execute
          the zmslapd binary as root with arbitrary parameters. As part of its
          intended functionality, 
    
  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Zimbra zmslapd arbitrary module load',
        'Description' => %q{
          This module exploits CVE-2022-37393, which is a vulnerability in
          Zimbra's sudo configuration that permits the zimbra user to execute
          the zmslapd binary as root with arbitrary parameters. As part of its
          intended functionality, zmslapd can load a user-defined configuration
          file, which includes plugins in the form of .so files, which also
          execute as root.
        },
        'License' => MSF_LICENSE,
        'Author' => [
          'Darren Martyn', # discovery and poc
          'Ron Bowes',     # Module
        ],
        'DisclosureDate' => '2021-10-27',
        'Platform' => [ 'linux' ],
        'Arch' => [ ARCH_X86, ARCH_X64 ],
        'SessionTypes' => [ 'shell', 'meterpreter' ],
        'Privileged' => true,
        'References' => [
          [ 'CVE', '2022-37393' ],
          [ 'URL', 'https://web.archive.org/web/20221002011602/https://darrenmartyn.ie/2021/10/27/zimbra-zmslapd-local-root-exploit/' ],
        ],
        'Targets' => [
          [ 'Auto', {} ],
        ],
        'DefaultTarget' => 0,
        'Notes' => {
          'Reliability' => [ REPEATABLE_SESSION ],
          'Stability' => [ CRASH_SAFE ],
          'SideEffects' => [ IOC_IN_LOGS ]
        }
      )
    )
    register_options [
      OptString.new('SUDO_PATH', [ true, 'Path to sudo executable', 'sudo' ]),
      OptString.new('ZIMBRA_BASE', [ true, "Zimbra's installation directory", '/opt/zimbra' ]),
    ]
    register_advanced_options [
      OptString.new('WritableDir', [ true, 'A directory where we can write files', '/tmp' ])
    ]
  end